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

締切り済みの質問

Access97 → Access2002

最近会社でAccess97からAccess2002へ乗り換えた(パソコンもOSも変更)のですが、ファイルを変換(2000形式に)してから、不具合がおきています。

あるデータベースからデータを抽出する作業なのですが、
[A]・[B]二つのテーブルからテーブル[C]を作成する[テーブル作成クエリ]があり、これで作成した[C]をもとにクエリ[D]を実行し、Excelに[D]をエクスポートするという形になっています。
[テーブル作成クエリ]を手動で実行すると正常にテーブルが作成されるのですが、
マクロで実行するとうまくいきません。
マクロは

メッセージの設定 ・・・いいえ
クエリを開く   ・・・テーブル作成クエリを実行
ワークシート変換 ・・・[D]をExcelのワークシートにエクスポート
メッセージボックス・・・"Excelへの書き出しを終了しました"

となっています。

具体的には、テーブル作成クエリを実行するときには、
集計開始日と終了日をパラメータとして入力する必要があり、
作成されたテーブル[C]には入力した開始日と終了日が書き込まれます。
[D]のクエリを実行する際には[C]の開始日と終了日が抽出条件となります。
手動で[テーブル作成クエリ]を実行したときには
[C]に開始日と終了日が書き込まれているのですが、
マクロで実行したときには、[C]にこの開始日と終了日が書き込まれないため、
結果的にフィールド名だけが入力されたデータの全くないExcelファイルが作成されます。
ちなみにマクロで実行する場合は、あらかじめ日付範囲を入力するフォームに開始日と終了日を入力してから実行します。

長々と書いてしまいましたが、これでおわかりいただけるでしょうか?
わかりにくければまた補足いたしますので、
マクロで実行したときに正常に動作するようにするにはどうすればいいのか
なにか解決策がありましたら教えてください。

投稿日時 - 2002-05-18 17:06:24

QNo.273301

困ってます

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

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

回答(1)

ANo.1

>マクロで実行したときには、[C]にこの開始日と終了日が書き込まれない
 ここが問題なのでしょうか?
Access97では、これはうまく行っていたがAccess2002にするとダメというわけですね。

もしよかったら、問題のテーブル作成クエリのSQL内容を、Access97のものと、Access2002のものを比べてみて下さい。
もし違っていたら、変換プログラムのバグでしょうし、同じなら他に原因があると思います。
その場合は、可能な範囲でSQLを補足して下さい。

投稿日時 - 2002-05-18 18:32:40

補足

回答ありがとうございます。

>>マクロで実行したときには、[C]にこの開始日と終了日が書き込まれない
> ここが問題なのでしょうか?
>Access97では、これはうまく行っていたがAccess2002にするとダメというわけで>すね。

そのとおりです。質問が回りくどくてすいません。

>SQL内容を、Access97のものと、Access2002のものを比べてみて下さい。

比べて見ましたが、全く同じでした。
テーブル作成クエリ自体は普通に実行すれば正常に動きます。
開始日も終了日もちゃんと書き込まれるんです。
でも、マクロで実行すると指定した範囲内のデータは抽出してくるのに
開始日と終了日を書き込まないんです。なぜだか・・・

下にSQLを補足しておきます。

SELECT Tマスタ.フリガナ, Sum(T明細データ.金額) AS 金額の合計, Sum(T明細データ.消費税額) AS 消費税額の合計, 0 AS 前月繰越,・・・・(省略),
[Forms]![F分岐]![日付範囲(始)] AS 集計日付始, [Forms]![F分岐]![日付範囲(終)] AS 集計日付終 INTO T集計表データ
FROM T明細データ RIGHT JOIN Tマスタ ON T明細データ.フリガナ = Tマスタ.フリガナ
WHERE (((Tマスタ.区分)=1) AND ((Tマスタ.集計用コード)<>1) AND ((T明細データ.明細日付) Between [Forms]![F分岐]![日付範囲(始)] And [Forms]![F分岐]![日付範囲(終)]))
GROUP BY Tマスタ.フリガナ
ORDER BY Tマスタ.フリガナ;

投稿日時 - 2002-05-20 10:08:58

お礼

回答ありがとうございました。

今朝補足をしたのですが、その後原因が見つかって解決しました。
日付を入力するフォームのテキストボックスの設定がまずかったようです。
テキストボックスのプロパティーのデータタブにある定型入力が
9999/99/99となっていたのを定型入力ウィーザードにしたがって
9999\/99\/99;0;というふうに変更したら、ちゃんと動くようになりました。
今ひとつ“?”は払拭されていないのですが、ちゃんと動くようになったので、
ひとまず安心しました。

また何かあったときにはよろしくお願いします。
自分の質問にちゃんと答えてくれる人いるというのは結構うれしいものですね。
ありがとうございました。

投稿日時 - 2002-05-20 19:06:23

あなたにオススメの質問