- ベストアンサー
マイクロソフトのアクセスマクロについて
- アクセスのマクロについての質問です。現在会社で使用しているマクロは重複クエリのチェックを行っていますが、重複がある場合にエラーダイアログと重複DBを表示する方法について教えてください。
- マクロを使用してテキストファイルをインポートする際、ファイル情報の日付をチェックする方法について教えてください。インポート当日に古いファイルを使用してしまい、重複が発生してしまうため、対策方法を知りたいです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
マクロをデザインで開いて、メニューの表示-条件で表示されます。
その他の回答 (2)
- Pakkun10
- ベストアンサー率44% (22/50)
まず、「重複があったらそのレコード、無ければ0行」になるクエリを作成します。(つまり、そのクエリを開いて1件もデータが無ければ重複無しとなるクエリです。) マクロの条件に DCount("*","作ったクエリ") = 0 アクションにメッセージボックス「OK」と設定します。 次の行に DCount("*","作ったクエリ") > 0 メッセージボックス「NG」と設定します。 これで重複が無いときにNGを出すことが出来ると思います。 あとはこれを応用して「データインデックスとデータ内容」を表示すればいいと思います。 また、ファイルの更新日をマクロで知る方法は残念ながら私にはわかりません。
補足
早期回答有難うございます。 たびたびすいません、回答にある「DCount("*","作ったクエリ") = 0」は具体的にどこに入力(記述)すればよいのでしょうか。クエリそれともマクロに記述すればよいですか?マクロの「アクション」項目で試したらエラーとなりました。。。。回答お願いします!!
- Pakkun10
- ベストアンサー率44% (22/50)
1.それだけではアドバイスのしようがありません。そのマクロが何をしているのかがわからないと何とも言えません。 それを流用したいなら、その内容を。改めてそのチェック機能を作りたいならチェック内容をまとめてみるといいでしょう。 2.VBAが使えるなら以下のコードでファイルの最終更新日を確認できます。 Set fs = CreateObject("Scripting.FileSystemObject") Set fo = fs.GetFile("c:\MSDOS.SYS") MsgBox fo.DateLastModified "c:\MSDOS.SYS"の部分をチェックするファイル名にすればいいでしょう。
補足
質問内容が分かりにくくてすいません。(素人なので許してください。) 1.マクロの内容ですが、まずC:\サブファイル.TXT(毎日更新される)をMDBにあるマスターデータに、追加インポートします。インポート終了後、マスターデータを重複クエリでチェックを行ないます(あるキーと対象に)。クエリ実行後、重複があった時でも、無かった時でも「OK」と「データインデックスとデータ内容」が表示されます。重複が無かった時は、「OK」だけ、重複があった時は「NG」と「データインデックスとデータ内容」を表示したいのですが、、、、、?こんな感じでわかりますかね! 2.VBAは難しいのでマクロのセッティングや記述などで作成を考えていますのでご回答はありがたいのですが現実ちょっと難しいです。 以上
お礼
またまた、早期ご回答有難うございました。 やりましたー!!(~o~) 初心者でもこんな事が!? めちゃめちゃ、うれしーです。 Pakkun10さん 感謝します。