ACCESSのデータをEXCELにエクスポートする方法が知りたい

このQ&Aのポイント
  • Access97を使用している初心者です。会社で請求書のシステムを作成中で、パラメータクエリを使用して特定の期間の請求書データを抽出できるようになっています。しかし、テーブルを増やしたくないため、抽出したデータをExcelにエクスポートする方法がわかりません。VBAを使用しても構いませんので、エクスポートする方法を教えてください。
  • Access97を使用している初心者です。会社で請求書のシステムを作成中で、特定の期間の請求書データを抽出するためにパラメータクエリを使用しています。しかし、テーブルを増やしたくないため、抽出したデータをExcelにエクスポートする方法がわかりません。VBAを使ってエクスポートする方法があれば教えてください。
  • Access97を使用している初心者です。会社で請求書のシステムを作成中で、パラメータクエリを使用して特定の期間の請求書データを抽出することができます。しかし、抽出したデータをExcelにエクスポートする方法がわからず困っています。VBAを使用してエクスポートする方法があれば教えてください。
回答を見る
  • ベストアンサー

ACCESSのデータをEXCELに・・・

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

質問者が選んだベストアンサー

  • ベストアンサー
  • redsky
  • ベストアンサー率18% (66/360)
回答No.3

クエリーでの抽出項目で、その抽出するためだけで使っている項目を外せば OKだと思います。 その抽出クエリーをデザインで開くと下段部分に  フィールド、テーブル、並び替え、表示・・・ って縦に書いてありますよね?(アクセス97) その表示っていうところに、チェックが入ってる項目が抽出されます。 従って、抽出したくない項目はその表示っていうところのチェックを外して しまえばよいです。

Telly77
質問者

お礼

ありがとうございました。 そうですね。基本的なことですね。 やったことありました。忘れてました。 難しく考えてるとわからなくなってしまいますね(^^ゞ 私だけかな? 本当にありがとうございました。

その他の回答 (2)

  • redsky
  • ベストアンサー率18% (66/360)
回答No.2

VBAでやるのであればTransferSpreadsheetを使ってみてはどうでしょう? 以下に例を挙げておきます。 DoCmd.TransferSpreadsheet acExport, 8, "Q_RIREKI", "C:\test.xls", True ”8”はエクセル97です。 "Q_RIREKI"にクエリー名を指定してください。 アクセスのヘルプを見ればすぐおわかりになると思います。

Telly77
質問者

お礼

ありがとうございます。 上記のVBAでエクスポートは出来るようになりました。 ただクエリで抽出に使うためにある項目が一緒にエクスポートされてしまいます。 (振込期日を過ぎているものはチェックをつけているのですがそのチェックがあるものだけをエクスポートしたいので。) あと日本語がExcel上で「|」棒で表示されてしまうところがあります。 (フォントの指定をExcel上でもう一度やってあげると表示されます) 出来れば抽出するためだけで使っている項目はエクスポートしたくないのですが。 出来るでしょうか?

Telly77
質問者

補足

すいません。 日本語の方は理由がわかりました。 社内はExcel97を使用しているのですが私の使用しているパソコンのみ Excel2000と97が両方使えるようになっているので2000で開いていたようです。 もう1方の方をよろしくお願いします。

  • redsky
  • ベストアンサー率18% (66/360)
回答No.1

テーブルのデータを単純にエクセルに出力したいのであれば、すぐできますよ。 まず、期間で抽出する選択クエリーを1つ作ります。 抽出条件のところは from日付のところにforms!フォーム1!日付1 to日付のところにforms!フォーム1!日付2とします。 ここで、フォーム1とは抽出条件を入力するフォームのことです。 次にマクロを作ります。アクションはクエリーで、下段のオブジェクトの種類 と名前は先ほど作ったクエリーを指定します。 で、出力ファイル形式をエクセルにすればOK。デフォルトだとMyDocumentに 落ちるので、出力ファイルの欄にパス名を指定してやればいいです。 で、抽出ボタンが押されたときに,上記マクロが動くように指定してやればOk です。

Telly77
質問者

お礼

ありがとうございます。 EXCELにエクスポートしたいデータは別のクエリで計算させているものを使用したいのでテーブルのデータから作成しているわけではありません。 出来ればマクロではなくVBAでやりたいので。申し訳ないです。

関連するQ&A

  • 【Access】Excelへのエクスポート

    OS:Windows2000 ソフト:Access2003 単票形式のフォームにコマンドボタンを配置し、 そのボタンをクリックするとフォームで表示されているレコードのみを Excel形式でエクスポートするという機能を作成しようとしています。 ボタンを押すとまずそのレコードの主キーを取得し、 その主キーでクエリ抽出してエクスポートをするのでしょうか? VBAで取得した変数を事前に作成クエリのSQL文の変数に代入なんて出来ませんよね、、、? どのようにすればいいのでしょうか。

  • アクセス2000VBA ADO パラメータクエリについて

    アクセス2000VBA ADO パラメータクエリについて フォーム1で得たデータをモジュールで定義した[hensu](String)に代入して、クエリ1(選択クエリ)の抽出条件として[hensu]を使用して、それによって得たデータをフォーム1で使用したいです。 フォーム1で[hensu]をパラメータクエリ?として定義するような文章(プログラム)が必要なだと思いますが、その例文(プログラム)を教えてください。 シロウト用に分かりやすくお願いします。

  • AccessのフォームをExcelに出力

    いつもお世話になっております。 現在、Access2003でDBを作成中です。 "テーブル1"をパラメータクエリで抽出します。"クエリ1"。 そのクエリを基にフォームを作成しています。"フォーム1"。これは抽出して印刷したり、Excelに出力するために作成しました。レポートではなく、フォームにした理由は、コマンドボタン等を配置できることからです。 Excelに出力する際のVBAでつまづいてしまいました。 DoCmd.OutputTo acOutputForm, "フォーム1", acSpreadsheetTypeExcel9 これで問題なく出力できています。が、、、 Access2007の一部のPCでこれを実行するとエラーが出ます。 原因は"OutputTo"が含まれているとエラーになるようです。 ちなみにエラーは「現在出力しようとしているオブジェクトの形式は無効です。」 「2007 Office スイート Service Pack 2」こちらをインストールすると良いそうなのですが、だめでした。 WindowsXP、Office2007はこのVBAだとエラーになります。 WindowsVista、Office2007は正常に使えました。 PCの何か設定?と考えたりもしたのですが、はっきりとした原因がわからないのでは、他の人にDBを使っていただけないので、エラーにならないVBAでいきたいです。 もうひとつ、 mFileName = InputBox("ファイル名を入力してください。") DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "フォーム1", mFileName こちらのVBAはクエリの出力だとうまくいくのですが、フォームだとだめでした。 クエリから抽出して保存すれば良いのですが、理想はこの形です。 1.フォーム1を開くと「担当者を入力」とパラメータクエリが働き、抽出結果をフォーム1に表示される。 2.[出力]ボタンを押すと、ダイアログボックスが開いてファイル名を指定して保存する。または、ダイアログボックスが開かなくても名前を指定できれば良いです。最悪、指定できなくても良いですが、原因となる、"OutputTo"を避けたVBAでいきたい。 3.mFileName = InputBox("ファイル名を入力してください。") DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "クエリ1", mFileName これだと、1.でパラメータクエリで抽出結果をフォームに表示させて、2.で[出力]ボタンを押すと、また、パラメータクエリで抽出しなければならなくなるのでできれば避けたいです。 こちらの条件でご教授お願い致します。 また、WindowsXP、Office2007でエラーが出ましたので、これを解決する方法でも良いです。 よろしくお願い致します。

  • アクセス エクスポートのときにデータを加える

    Excelへエクスポートするときに、元々のデータに他の任意の日付や備考などを加えて出力したいと思っています。 今考えているのは追加入力のテーブル、フォームを別に作り、メインフォームでコマンドボタンを押したら追加入力フォームを開き入力させ、そのテーブルと合わせてエクスポートするやり方です。 ただしこの方法だとテーブルは毎回作って削除するとしてもコマンドボタン分フォームを作らねばならず非効率的かなと思っています。 これ以外の方法はありますでしょうか?標準モジュールなどでデータを受け渡すことが出来るのでしょうか?

  • AccessのVBAで、パラメータを使用したクエリ

    お世話になります。 Access2000のVBAで質問させてください。 現在、下記の様な状況です。 ・「テーブルA」がある。 ・「テーブルA」の"番号"が"1"のものだけを抽出する「抽出」クエリを作成 ※クエリのデザインビューで"1"を指定するのでなく、    VBA上で、パラメータとして"1"を指定したい    1ではなく、2に変わる事もあるため、VBAで操作。 ・結果をExcelに書き出したい そこで、いろいろなサイトを見たのですが、 ・VBAでパラメータを使用したクエリを作成 ・Excelに書き出し の2つの内容が別々に記載されており、 私の力では、別々で作成はできるのですが、 ・VBAでパラメータを使用・設定したクエリをExcelに書き出し する事はできませんでした。 本当に勝手で申し訳ございませんが、  ・VBAでパラメータを使用・設定したクエリをExcelに書き出す ソースを頂けないでしょうか? 「××と○○を組合わせればよい」などの、一部を抽出したコメントは、 不要ですので、本当に申し訳ございませんが、 ソースレベルでご返信頂ければと思います。 ※一部を抽出したコメントは、ネットで見たのですが、結果、  目的を達成することはできませんでした。 お手数で申し訳ございませんが、なにとぞ宜しくお願い致します。 ※何度ひつこい・勝手ですみませんが、ソースレベルでの 回答のみお願いします。

  • アクセス97のVBAでパラメータを指定する方法

    いつもたいへんお世話になっております。 アクセス97で、フォームを複数作りました。フォーム1、フォーム2、フォーム3。 それぞれのフォームのコマンドボタンでフォーム4を呼び出します。 フォーム4のレコードソースにクエリを使用しますが(クエリ1)、 このクエリにの抽出条件に、最初のフォームのコントロールの値(部門)を設定したいのですが、抽出条件に、「FORMS!フォーム1!部門」とすると、同じクエリを他のフォームには使えませんよね?パラメータを作成して、それぞれのフォームのコマンドボタンのなかで指定できてしまえば、クエリ1と、フォーム4を共有できますよね。現在は、それぞれのフォームに対応するフォーム4とクエリ1を作成しています。なんとかなりませんか? 説明が難しくなってきちゃった・・・ ・・・パラメータの入力要求をVBAで処理したいのですが、いい方法を教えてください。

  • Access データーエクスポート方法

    Access初心者です。 データ出力について質問です。VBAがまで理解していないので使用せずに作成してみたいです。 AccessからデーターをCSV形式で出力したいのですが、フォームのボタンクリックで出力のように半自動化 するデザインというか方法のイメージがわきません。 一応、いくつか試しましたが途中から分かりません。 (受注関係のAccessデーターで、出力するクエリだけ完成している状態のものとします) (1)納期の抽出条件にBetween [いつから?] And [いつまで?]を入力。  ↓ 外部データ→テキストファイル→データのエクスポート先の選択のファイル名の形式を.csvへ変更→O.K  ↓ パラメーターが少なすぎます。2を指定して下さい。  ↓ 保存済みのエクスポート操作を実行するマクロボタンを使用する予定でしたが、なすすべ無く... 納期の範囲指定をしてエクスポートするのが何も考えなくて済むので楽なのですが、駄目となると 状態フラグ的なテーブル(例えば未とか済とか)を作成しリレーションして、出力範囲を絞っていくしかないのかとか... ...となると、クエリに状態フラグの抽出条件が違うバージョンをいくつもつくり、その数だけフォームを つくり的な方法なのか... エクスポート先は重複しているデーターは上書き、新規は新規として取込めます。 後は、毎回毎回多量のデータを送る必要がないので、月単位レバルのデーター量に絞ってから出力する だけなのですが... みなさんは、どんなフォームというかデザインというか、どんな方法で自動エクスポート方法を作成していますか? すみません、助けて下さい。 それとも、やはりデータベースの内容など詳しく書き込まないと考えようがないものですか?

  • AccessのデータをExcelテンプレートに出力・自動印刷したい

    Access2000を使っています。 クエリで必要なデータだけをフォーム上に抽出した後、フォーム上のコマンドボタンをクリックすることで、Excel2000で作成したテンプレートに出力・自動印刷したいのですがこんなことできますか?できるのでしたら方法を教えてください。マクロでもいいのですが、できればVBAのコードで教えていただければ助かります。 よろしくお願いします。

  • アクセス エクスポート

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

  • AccessからExcelのファイルを作るVBAを書いているのですが・・・

    AccessのテーブルをExcelのファイルにして特定のフォルダに保存するVBAを作成中です。 訳あって、テーブルからそのままExcelにできず(transferのコマンドが使えないのです)、並び替えや抽出などをかけて、一旦フォームにしてから、Excelのファイルにします。その際に、Outputtoというコマンドを使用しています。 そのテーブルに日付型のデータがあり、そのコマンドで作ったExcelのファイルでは、日付が「yyyy/mm/dd」で表示できず、21-feb-01のような形になってしまいます。どうやらファイルの形式が古いせいのように思うのですが、Outputtoのコマンドではファイル形式まで指定できないみたいで・・・ いい方法があったら教えていただきたのです。 よろしくお願いします!m(__)m

専門家に質問してみよう