こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Access 抽出条件を自動で入力したい

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

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


結果として、

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

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


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

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

投稿日時 - 2014-09-09 23:12:41

QNo.8748731

困ってます

質問者が選んだベストアンサー

一度、手作業でクエリ作成して、
「削除対象抽出」とでも名付けて保存しておく。

テーブル名が毎回同じなら、そのまま再実行
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を見て下さい

投稿日時 - 2014-09-10 01:09:49

お礼

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

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

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

投稿日時 - 2014-09-10 18:47:23

このQ&Aは役に立ちましたか?

6人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問