アプリ版:「スタンプのみでお礼する」機能のリリースについて

こちら初心者でアクセスをなんとか使用しているものです。
現在、会社で使用しているアクセスのマクロについてどなたかご教示ください。

1.現在、前任者が作成したマクロを使用して、インポートしたDBを重複クエリでチェックを行っています。今の仕様だと重複があってもなくても「OKダイアログ」と「DBのフォーマット」が表示されます。出来れば、重複があった時に「エラーダイアログ」と重複DBを画面に表示し、重複がなかった時は「OKダイアログ」のみを表示したいと思っていますが、初心者なもので、今使用しているマクロを改修しながらバージョンアップしてる状況です。他に良い方法がありましたら教えてください。

2.前質問につながりますが、テキストファイル等をインポートする時にパスとファイ名をマクロで指定しますが、この時にオプションかなにかで
ファイル情報の日付をチェックしたいのです。インポート当日にインポートファイルが当日でない時があり古いファイルのままインポートを行なってしまい重複が発生してしまいますので良い対策方法と思いこのような方法はどうかと思いましたが他に良い方法がありましたら教えてください。

A 回答 (3件)

マクロをデザインで開いて、メニューの表示-条件で表示されます。

    • good
    • 0
この回答へのお礼

またまた、早期ご回答有難うございました。

やりましたー!!(~o~) 初心者でもこんな事が!?
めちゃめちゃ、うれしーです。

Pakkun10さん 感謝します。

お礼日時:2008/08/22 16:11

まず、「重複があったらそのレコード、無ければ0行」になるクエリを作成します。

(つまり、そのクエリを開いて1件もデータが無ければ重複無しとなるクエリです。)
マクロの条件に
DCount("*","作ったクエリ") = 0
アクションにメッセージボックス「OK」と設定します。
次の行に
DCount("*","作ったクエリ") > 0
メッセージボックス「NG」と設定します。
これで重複が無いときにNGを出すことが出来ると思います。
あとはこれを応用して「データインデックスとデータ内容」を表示すればいいと思います。

また、ファイルの更新日をマクロで知る方法は残念ながら私にはわかりません。

この回答への補足

早期回答有難うございます。
たびたびすいません、回答にある「DCount("*","作ったクエリ") = 0」は具体的にどこに入力(記述)すればよいのでしょうか。クエリそれともマクロに記述すればよいですか?マクロの「アクション」項目で試したらエラーとなりました。。。。回答お願いします!!

補足日時:2008/08/22 14:27
    • good
    • 0

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は難しいのでマクロのセッティングや記述などで作成を考えていますのでご回答はありがたいのですが現実ちょっと難しいです。
以上

補足日時:2008/08/22 11:57
    • good
    • 0

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