MSアクセスでエクセルにエクスポートする方法

このQ&Aのポイント
  • MSアクセスのフォームから特定のデータのみをエクセルにエクスポートする方法について教えてください。
  • 申込書というフォームのデータのみをエクセルにエクスポートする方法を知りたいです。
  • VBAを使ってMSアクセスのフォームで開いているデータをエクセルにエクスポートする方法について教えてください。
回答を見る
  • ベストアンサー

MSアクセス エクセルへのエクスポートについて

アクセスの初心者です。いろいろ調べてみたのですがわかりません。どうか教えてください。よろしくお願いします。 アクセスのフォームにボタンを作り、そのボタンを押すとエクセルにエクスポートするように設定しました。しかしデータが全てエクスポートされてしまいます。目指しているのは”開いているフォームのデータのみをエクスポートしたい”のです。 フォーム名:申込書 エクスポートしたいフォームのデータ(クエリ)名:申込書 エクスポート先:エクセルc:¥申込書 です。 主キー:申込ID 仮にフォームで申込IDが「3」を開いていれば、その「3」のデータのみをエクスポートするVBAを教えてください。 現在はここまでの段階で止まっています。↓これにプラスする記述で目指すものができればと思います。 DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "申込書", "c:\申込書.xls", True, "" お手数ですがよろしくお願いします。

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

  • ベストアンサー
  • nda23
  • ベストアンサー率54% (777/1415)
回答No.1

別のクエリ"申込書X"を作ります。内容は同じで、条件を追加します。 条件:申込ID=[Forms][申込書][フィールド名] 上記最後の"フィールド名"はフォーム上の申込IDのテキストボックスの コントロール名です。 このクエリは申込書フォームの申込IDフィールドの値と一致する レコードを抽出します。フォームを開いていない状態でクエリを 表示しようとするとエラーになります。 このクエリ"申込書X"をDoCmd.~のパラメータに指定してください。

chibaole
質問者

お礼

ありがとうございました!希望のものができました。 迅速かつ的確なアドバイスを本当にありがとうございました。 助かりました。

関連するQ&A

  • AccessからExcelへエクスポートするVBA

    いつもお世話になっております。 AccessのクエリからデータをExcelにエクスポートします。 形式はMicrosoft Excel97-2003です。 フォーム"F_全データ"にボタンを付けて、クリックするとファイル名を自分で付けて保存する。というVBAを作成したいです。 1つ目のVBAは DoCmd.OutputTo acForm, "F6_全データ", "MicrosoftExcelBiff8(*.xls)", "", False, "", 0 これだと、ファイルの種類が、Microsoft Excel5-7になってしまい困ります。 この形式になってしまうと、Excelデータを開くと、文字数が多いところが保存されていません。これだと困ります。 2つ目が DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "F_全データ", "○○○.xls" こちらですと、ファイルの種類は97-2003になりまして、問題はないのですが、ファイル名は自分で指定したいのです。 ご指導よろしくお願いします。

  • アクセス2007 エクセルへエクスポートするファイル名に日付を付けたい

    こんにちは。 アクセス2007を使用しています。 テーブルをエクセルにエクスポートし、 さらにそのファイル名に日付をつけたいのですが なかなかうまくいきません。 以下のように記述しました。 Private Sub コマンドボタン_Click() 'Excelファイルへエクスポート DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "テーブル名", "転送先フォルダパス" & Format(Now(), "yyyymmdd") & ".xls" End Sub Format関数を入れないとうまく行くので その部分が間違っているのだろうと思うのですが どうしていいのかわかりません。 どなたか原因をご教授いただけると助かります。 よろしくお願いいたします。

  • Access2000 Export時にシート名を指定したい。

    お世話になります。 Access2000です。 アクセスよりテーブルAをエクセルにエクスポートする時にシート名を指定したいのですがどうすればよいのですか? DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "テーブルA", "E:\", True となっていますが・・・・ よろしくお願いします。

  • ACCESSのテーブルをEXCELにエクスポート

    お世話になります。 ACCESS2000を使っています。 テーブルをACCESSの入っているフォルダーにエクスポート出来ますか? ACCESSはUSBフラッシュメモリーの会計フォルダーに保存しています。 使用PCを変えるとデバイス記号がかわります。 コーディングは下記の通りです。 DoCmd.TransferSpreadsheet acExport,acSpreadsheetTypeExcel5, "XLS利用実績", "K:\会計\利用実績.xls"

  • アクセス2000→エクセル2010へエクスポート

    Private Sub cmd出力ボタン_Click() DoCmd.SetWarnings False DoCmd.TransferSpreadsheet acExport, 8, "出力クエリ", "C:データ.xlsx", True, "" DoCmd.SetWarnings True End Sub 実行すると 外部テーブルのフォーマットが正しくありません と出てしまいます。 エクセル97の形式にエクスポートする際は大丈夫でした。 spreadsheettypeの引数が違うのかとは思いますが適切な数値がわかりません。 他のやり方等もあれば教えて下さい。

  • ACCESSのエクスポートでEXCELのデータにつくカンマを付けない方法は?

    ACCESSのエクスポートでEXCELのデータにつくカンマを付けない方法はありますか。または作成されたEXCELから一気にとれますか。 例) ACCESSデータ 項目1 項目2  明日   雨  明後日  曇り  エクスポート実行 DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9使用 EXCELデータ (現在)         (希望)   '項目1 '項目2      項目1  項目2  '明日   '雨       明日    雨  '明後日  '曇り      明後日   曇り 'はセルで見えないのですが、これを付かないまたは取りたいのです。 できるでしょうか。宜しくお願いします。

  • アクセス(access)からエクセルにエクスポート

    アクセスから、エクセルにクエリのデータを出力する際に、 「TransferSpreadsheet」を使用していますが、 そのエラー処理について、教えて下さい。 保存しようとしているファイルが既に開かれている場合に、 処理を中止し、エラーメッセージを出したいのですが、 どのようにすればいいのでしょうか? なお、現在のVBAは次のとおりです。 Private Sub コマンド01_Click() Dim a As String Dim b As Variant a = "Q_一覧表" b = "C:\一覧表.xls" DoCmd.TransferSpreadsheet acExport, _ acSpreadsheetTypeExcel9, a, b, True MsgBox "データを出力しました。" Exit Sub End Sub

  • Access2000よりエクセルへエクスポートする際の範囲?

    こんばんわ。 最近アクセスを始めたばかりの初心者です。 この度、クエリよりエクセル(Ver.2000)へデータのエクスポートをしたいと思ったのですが、最初の一回目はうまくいくのですが、テストを繰り返すと(恐らくレコードが増えるため)、範囲を拡張することができません、というエラーが出てエクスポートができません。どのように解決したら宜しいのかご教示頂けたらと存じます。今は下位のようにしています。 Docmd.TransferSpreadsheet acexport, 8, "クエリ名","パス\エクセルファイル名", True 宜しくお願い致します。

  • ACCESS エクスポートについて

    ACCESSのエクセルへのエクスポートについて お世話になりあます。 既存エクセルにACCESSのDoCmdを使用してエクスポートしようと考えています。 エクスポート先は既存エクセル(セルに数式あり)です。 DoCmd.TransferSpreadsheet acExport, SpreadsheetType, TableName, FileName , True,SheetName という分を作り実行しましたが、「ワークシートのセルが削除できません」と出てしまい エクスポートできません。 ヘルプを見ると数式が含まれていると出来ないと書いてありました。 数式を消さないと出来ないのでしょうか。 お手数ですが、分かる方おられましたら教えて下さい。

  • AccessVBA データのエクスポート

    こんにちは。 AccessVBAについて質問させてください。 私は今商品マスタを操作するためのシステムを作っています。 私が実現したい機能はこのようなものです。 まず「マスタ開く」ボタンで商品マスタを元にした「商品マスタフォーム」を開きます。 そのフォームの中に「書き出し」というボタンを作成し、そのボタンを クリックすると、フォームの中のデータがExcelデータとして表示されるようにしたいのです。 「TransferSpreadsheet」を使用するところまではわかっているのですが、どうもうまくいきません。 エクスポート元のテーブル名(商品マスタ)と指定するのですが、 「オブジェクト"商品マスタ"が見つかりませんでした。名前やパス名が正しいことを確認してください」とでます。 私が書いたソースはこれです↓ DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "商品マスタ",, True どこがおかしいのかご教授お願いします。