• 締切済み

Access97 → Access2002

最近会社でAccess97からAccess2002へ乗り換えた(パソコンもOSも変更)のですが、ファイルを変換(2000形式に)してから、不具合がおきています。 あるデータベースからデータを抽出する作業なのですが、 [A]・[B]二つのテーブルからテーブル[C]を作成する[テーブル作成クエリ]があり、これで作成した[C]をもとにクエリ[D]を実行し、Excelに[D]をエクスポートするという形になっています。 [テーブル作成クエリ]を手動で実行すると正常にテーブルが作成されるのですが、 マクロで実行するとうまくいきません。 マクロは メッセージの設定 ・・・いいえ クエリを開く   ・・・テーブル作成クエリを実行 ワークシート変換 ・・・[D]をExcelのワークシートにエクスポート メッセージボックス・・・"Excelへの書き出しを終了しました" となっています。 具体的には、テーブル作成クエリを実行するときには、 集計開始日と終了日をパラメータとして入力する必要があり、 作成されたテーブル[C]には入力した開始日と終了日が書き込まれます。 [D]のクエリを実行する際には[C]の開始日と終了日が抽出条件となります。 手動で[テーブル作成クエリ]を実行したときには [C]に開始日と終了日が書き込まれているのですが、 マクロで実行したときには、[C]にこの開始日と終了日が書き込まれないため、 結果的にフィールド名だけが入力されたデータの全くないExcelファイルが作成されます。 ちなみにマクロで実行する場合は、あらかじめ日付範囲を入力するフォームに開始日と終了日を入力してから実行します。 長々と書いてしまいましたが、これでおわかりいただけるでしょうか? わかりにくければまた補足いたしますので、 マクロで実行したときに正常に動作するようにするにはどうすればいいのか なにか解決策がありましたら教えてください。

みんなの回答

  • ykkw_2001
  • ベストアンサー率26% (267/1014)
回答No.1

>マクロで実行したときには、[C]にこの開始日と終了日が書き込まれない  ここが問題なのでしょうか? Access97では、これはうまく行っていたがAccess2002にするとダメというわけですね。 もしよかったら、問題のテーブル作成クエリのSQL内容を、Access97のものと、Access2002のものを比べてみて下さい。 もし違っていたら、変換プログラムのバグでしょうし、同じなら他に原因があると思います。 その場合は、可能な範囲でSQLを補足して下さい。

camel777
質問者

お礼

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

camel777
質問者

補足

回答ありがとうございます。 >>マクロで実行したときには、[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マスタ.フリガナ;

関連するQ&A

  • Accessのクエリデザインで条件抽出のテキストボックス

    アクセス初心者です。 既に作成済みのクエリを実行する時、いつも「開始日」と「終了日」を入力するテキストボックスが 出てきていました。 例えば開始日のボックスに2009/04/01を入力してEnterを押すと次に終了日を入力する ボックスが出てきて2009/05/31と入力して実行するとそのデータベースのその日付の期間の データが抽出されるようになっていました。 あるとき必要がありそのクエリのデザインを開き別のテーブルの抽出条件を追加したり していたときに、その日付(登録日時というテーブル)の部分の抽出条件を消してしまいました。 元通りにしたいのですが、どのような式が入力されていたのかわかりません。 私なりに調べてみて、テキストボックスは表示されないのですが、クエリのデザインを 開いている状態でそこに 「Between #2009/04/01# And #2009/05/31#」などと日付を入力すればできることは わかったのですが、テキストボックスが表示されるように元通りにすることはわかりませんでした。 お分かりになる方、教えてください。

  • コンボボックス全ての値を取得させるには

    アクセスでクエリの抽出条件にコンボボックスで取得した値を反映させ、テーブルを 作成しエクスポートさせるマクロを組んでいるのですが、 ひとつひとつ実行させるのが手間なので、コンボボックス全ての値を取得させ クエリの抽出条件にひとつひとつ反映させてテーブル作成・エクスポート というマクロを組みたいのですが可能でしょうか?

  • ACCESSのデータをEXCELに・・・

    Access97を使用しています。 ほぼ初心者に近いです。 会社で請求書のシステムを作成中です。 パラメータクエリを使用して例えば始まり「02/10/15」終り「02/12/15」と入力すればその期間の請求書データを抽出できるようになっています。 テーブルを増やしたくないのでそのパラメータクエリを使用して抽出したデータをExcelにエクスポートしたいのですが・・・いろいろ調べてみましたがわかりません。(モジュールに関数を作って、フォーム上でコマンドボタンを作成しそれをクリックすれば関数が動いてエクスポートと同時にExcelのファイルが出来上がるようにしたくて試みているのですが。) VBAでもかまいませんので出来る方法がありましたら教えてください。 よろしくお願いします。

  • アクセスVBA テーブル名を変数とするクエリ実行・エクスポート

    テーブル X(フィールド1~30)を対象とするクエリ Yがあります。 クエリ Yは、フィールド1の値が BBBであるレコードの、フィールド3、5、7を抽出します。 クエリ Yの実行結果をエクセルファイル Zにエクスポートします。 Xと同一の構成である X1~X10という複数のテーブルから一つを選択して、クエリYを実行し て、エクセルファイル Zにエクスポートしたいのですが、VBAでは、どのように記述するのでしょうか? フォーム Fのテキストボックス Tに入力して、テーブルを指定(変数)したいのです。 上記が可能な場合、続けて Zにエクスポートすることはできるのでしょうか? エクスポート用のテーブルを一時的に作成しなければならないのでしょうか? 説明下手で申し訳ございません。お手数ですが、ご教示ください。よろしくお願いします。

  • アクセスについて、初心者です教えてください!

    初心者でお恥ずかしい質問ですが、本当に悩んでします。 どうか教えてください!! (1) アクセスのクエリです。    AテーブルとBテーブルを表示し、うち1つの項目を結合プロパティでむすんだところ、   抽出結果が重複します。 AAA BBB  と表示される筈が、 AAA AAA BBB BBB  となります。クエリの種類が違うのか、結び方がおかしいのか、教えてください!! (2) アクセスクエリの抽出結果をエクセルにエクスポートしたく作業し 「保存済のエクスポート操作」に保存したのですが、どのようにすれば ボタンにむすびつけられますか? 私にもできるマクロで、作業できるようにするには 、どんな項目を使ってマクロを作ればいいですか? マクロでは無理なのでしょうか。 ご指導のほどよろしくお願します!!

  • Accessのクエリ実行について

    すみません。ご存知でしたら、教えてください。 まず一点、基本(?)を確認させてください。 下記のように数個のテーブルとそれらを使用した数個のクエリがあったとします。 下記の場合に、もしどれかのテーブルを更新したとします。 その場合、アクセスを立ち上げて、クエリ3を実行するだけで、結果には反映されているのでしょうか?それとも、アクセスを立ち上げて、 クエリ1を実行し閉じ、クエリ2を実行し閉じ、最後にクエリ3を実行しないと、反映されていないのでしょうか? --------------------------------------------------------- テーブルリンクA 、テーブルリンクB、テーブルリンクC、テーブルリンクD ↓↓ テーブルAとテーブルBでクエリ1(マッチング)を作成 テーブルCとテーブルDでクエリ2(マッチング)を作成 ↓↓ クエリ1とクエリ2でクエリ3(マッチング)を作成 ------------------------------------------------- 続いて、もし上記でいちいち途中のクエリを実行しないと、 最後のクエリに反映されない場合、すべてをACCESSを立ち上げたと同時に自動実行し、自動で最後のクエリ(この場合、クエリ3)をエクスポートしたいと考えています。可能でしょうか? 素人な質問ですみません。 何卒よろしくお願いいたします。

  • アクセス エクスポート

    アクセス初心者です。 2つのテーブルのデータを組み合わせて クエリを作成しました。(クエリ1) このクエリ1に抽出条件を付けて さらにデータを絞り込みました。 この絞り込みのデータを、エクセルにエクスポート して作業したいのですが、なぜか、上記の(クエリ1)の データがすべてエクスポートされてしまいます。 アクセスの画面に表示されている、絞り込みデータのみ エクスポートする方法はあるのでしょうか。 お願いします。

  • アクセス クエリ の質問です

    いつも大変お世話になります。 アクセスクエリの質問ですが、テーブルデータより予定数が通常クエリで紐付いていて、もともとこの予定数はデータとして例えば90が入力されていて、普通に抽出すれば当然90が抽出できるのですが、クエリを実行すると、ダイアログなどで、手動で200と入力すると、200がクエリで出力させたいのですが・・・ 非常に、分りにくいかもしれませんが、アドバイスお待ちしております。

  • マクロでエクスポート(アクセス97)

    W2000・アクセス97・エクセル2000です。 アクセスのクエリーを、マクロを使用して、新規にエクセルにエクスポートしたいです。 マクロでは、 ・変換の種類 エクスポート ・ワークシートの種類 Excel97(2000は選択の中になし) ・テーブル名 エクスポートしたいクエリーを指定 ここまでは、わかりましたが、ここまででマクロを実行すると、 ”このアクションまたはメゾットを実行するには、[file name/ファイル名]が必要です” と、表示され、エラーになります。 できましたら、この後、どのようにすればよいのか? もしくは、こういう方法で、というのがありましたら、お教えくださいませ。詳しく解説してくれている、URLのご紹介でも、かまいません。 お手数ですが、どなたか、よろしくお願い申し上げます。

  • access 日付

    はじめまして。 access(初心者)です。 データを抽出したいのですが、 クエリの抽出条件にどのように条件入力してよいのか 分かりません。 テーブル名:商品マスタ データ  商品No. 開始日   終了日    価格 (1) 100 2008/12/01 2009/06/30 \1,000 (2) 100 2009/07/01 2010/02/01 \1,500 (3) 100 2010/03/01 2010/12/31 \2,000 このテーブルから、例えば、今日=2010/01/04 が含まれているデータを抽出したいのですが。。。 上の例で言うと、答えは(2) 本当すみませんが、教えて下さい。

専門家に質問してみよう