- ベストアンサー
Accessからバッチ処理を実施し、作成したデータを取り込む処理
- Accessからバッチ処理を使用してデータを取り込む方法について教えてください。
- バッチ処理を実行して作成したデータをAccessで取り込む方法を教えてください。
- Accessでバッチ処理したデータを取り込む手順について教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>>event.bat の 12/04/2009 の部分をパラメータ %1 に変更して >▼event.bat >set fname=%DATE:/=% >eventquery /s server /u userName /p passWord /l application /fi "Id eq 8" /fi "Datetime gt %1,01:00:00AM" /r 500 /v >%fname%.txt > >上記のように変更すると、エラーとなりログの取得ができないです。 この文章からですと、 「Access で 実行する .Run の内容を "~\event.bat" & Format(Date,"mm/dd/yyyy") 」 の部分がされていないのではないか、と思えてしまうのですが・・・。 「Access で 実行する .Run の内容を "~\event.bat" & Format(Date,"mm/dd/yyyy") 」 の内容を理解されているのかいないのかよくわからないのですが、とりあえず、もう一つ、「Access で 実行する .Run の内容を "~\event.bat" & Format(Date,"mm/dd/yyyy") 」にせずにできる方法を考えてみました。 コントロールパネルの「地域と言語のオプション」の日付の設定が YYYY/MM/DD になっている場合ですと、 set fname=%DATE:/=% FOR /F "tokens=1-3 delims=/ " %%A in ('DATE /T') do SET YYYY=%%A&SET MM=%%B&SET DD=%%C eventquery /s server /u userName /p passWord /l application /fi "Id eq 8" /fi "Datetime gt %MM%/%DD%/%YYYY%,01:00:00AM" /r 500 /v >%fname%.txt のようにすると、%MM%/%DD%/%YYYY% が実行した日付に置き換わります。 >%1の意味を教えていただけないでしょうか。 %1 は1番目のパラメータです。 同様に %2 ~ %9 が使用できます。 例えば、 COPY AAA.TXT %1 という内容の BBB.BAT があったとすると BBB.BAT CCC.TXT を実行すると BBB.BAT の中で %1 が CCC.TXT に置き換わり、 COPY AAA.TXT CCC.TXT が実行されます。
その他の回答 (1)
- tsukasa-12r
- ベストアンサー率65% (358/549)
event.bat の 12/04/2009 の部分をパラメータ %1 に変更して、Access で 実行する .Run の内容を "~\event.bat" & Format(Date,"mm/dd/yyyy") みたいな形にするのが手っ取り早いのではないかと思います。 (eventquery.vbsを元に当日分のみを出力するvbsを作ってもいいかもしれないですね)
補足
tsukasa-12r様 ご回答ありがうございます。 >event.bat の 12/04/2009 の部分をパラメータ %1 に変更して ▼event.bat set fname=%DATE:/=% eventquery /s server /u userName /p passWord /l application /fi "Id eq 8" /fi "Datetime gt %1,01:00:00AM" /r 500 /v >%fname%.txt 上記のように変更すると、エラーとなりログの取得ができないです。 【エラー内容】 エラー: 指定した 'DATETIME' 形式は無効です。形式: 月/日/年、時:分:秒AM(/PM) (2 桁の数字で指定、年は 4 桁指定可能) %1の意味を教えていただけないでしょうか。 宜しくお願い致します。
お礼
>「Access で 実行する .Run の内容を "~\event.bat" & Format(Date,"mm/dd/yyyy") 」 >の部分がされていないのではないか、と思えてしまうのですが・・・。 仰るとおりでした。すいません。 set fname=%DATE:/=% FOR /F "tokens=1-3 delims=/ " %%A in ('DATE /T') do SET YYYY=%%A&SET MM=%%B&SET DD=%%C eventquery /s server /u userName /p passWord /l application /fi "Id eq 8" /fi "Datetime gt %MM%/%DD%/%YYYY%,01:00:00AM" /r 500 /v >%fname%.txt のようにすると、%MM%/%DD%/%YYYY% が実行した日付に置き換わります。 上記のようにすると置き換わりました!! ただ内容は全く理解できませんでした。 理解できるように勉強致します。 ありがとう御座いました。