【お題】NEW演歌

お世話になります。
マクロもVBAも現在鋭意勉強中の初心者ですが、よろしくお願いします。

取引先から送られてくるテーブルの、とあるフィールドにいつも不要なデータが入っています。
作業は、その不要なデータの削除から取り掛かるのですが、これが何気にめんどくさくて
自動化できないものかと、今回、質問させていただきます。


結果として、

      フィールド1 フィールド2 フィールド3 フィールド4
抽出条件        like "a*"
または           like "b*"
              like "c*"
              like "d*"
              like "e*"

↑のような状態に、マクロないしVBAを使用し、抽出条件に、上記の文字列を自動で入力することは可能なのでしょうか?
また、可能ならばどのようにすればいいのでしょうか?


テーブルのフィールド数は毎回違いますが、
フィールド2に不要なデータが入っているのは決まっています。
フィールド2のデータ型はテキスト型です。
Access2007を使用しています。

どうぞ、よろしくお願いします。

A 回答 (1件)

一度、手作業でクエリ作成して、


「削除対象抽出」とでも名付けて保存しておく。

テーブル名が毎回同じなら、そのまま再実行
Select * from としておくことで、列数が変化しても問題無し

インポートの都度、テーブル名が変るなら以下

クエリのデサインビュー>SQLビューで見れば以下のようになってるはず
(折り返してあるが、実際は一行)
Select * from [インポートしたテーブル名]
Where [フィールド2] like ’a*’ or [フィールド2] like ’b*’ or
く略>
or [フィールド2] like ’e*’;

[インポートしたテーブル名]を書きかえて再実行


VBAでやりたいなら
DoCmd.RunSQL ”Select * <略> ’e*’”

VBAでクエリを作りたいならQueryDefを見て下さい
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございます
またお礼が遅くなり申し訳ございません。

クエリを保存しておくだけで良かったんですね。
少し難しく考えていたみたいです。

とても参考になりました、今後もどうぞよろしくお願いします。

お礼日時:2014/09/10 18:47

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報