• ベストアンサー

Access97で任意のフィールドとレコードを選択してExcel97に出力する方法

Access97でデータベースを作っています。 ある機器の部品リストを作っているのですが、テーブルに保存されている情報を 選択画面で、取り出したいフィールドとレコードをチェックボックスなどで選択し、選択したデータのみをExcel97に出力したいのです。 方法ご存じの方、ご教示願います。

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

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.2

再びmaruru01です。 コマンドボタンのクリックイベントにSQLステートメントの実行とファイルのエクスポートを記述すればよいとおもいます。 SQLステートメントは、 Dim SQL As String SQL="SELECT (フィールド) INTO (一時テーブル名) " & _ "FROM (抽出元のテーブル名) " & _ "WHERE (抽出条件)" DoCmd.RunSQL SQL という風で、ファイルのエクスポートは、 DoCmd.TransferSpreadsheet acExport, acSpreadsheetExcel7, (一時テーブル名), (Excelファイル名) という風です。 詳しくは、個々のヘルプを参照して下さい。 では。

mori-tomo
質問者

お礼

御回答有り難うございます。 実はまだSQLステートメントを使用したことがなく、使い方よくわかりませんでした。 でも、maruru01さんの御回答で一筋の光が見えてきました。 ちょっと勉強してためしてみます。 また何かありましたら宜しくお願いします。

その他の回答 (1)

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

こんにちは。maruru01です。 選択したデータのみの一時テーブルを作成し、それをExcel形式でエクスポートしてはどうですか。 では。

mori-tomo
質問者

補足

maruru01さん御回答有り難うございます。 ただ、Excel形式でエクスポートする方法はたくさんありますが、 使用者がテーブルですとかクエリーですとかそういうものを意識しないで選択画面で誘導して好きなデータだけエクスポートできるようにしたいのです。Accessを知らない人手も操作できるように。 具体的には、選択用フォームを一つ作り、そこには選択可能なフィールド名とレコード名がチェックボックスと共に羅列してあり、必要な項目のみをチェックして、「Excelへ出力」と書いてあるコマンドボタンをクリックするとエクセルファイルができあがると言うようなものを考えています。 以上は人がやる操作ですが、その裏では自動的に選択されたデータのみのテーブル或いはクエリーを一時作成して、Excelへ出力したら一時作成したテーブル或いはクエリーを削除すると言ったようなものです。 クエリーとフォームとマクロをうまく使って出来るのでは?と考えているのですが、マクロでクエリーを作成し必要なレコードを抽出したりするのは可能なのでしょうか?

関連するQ&A

  • ACCESSフォームのリストボックスでレコードが選択できない

    ACCESS2000です。 フォームの左側に親テーブルのフィールド1の値を選択させるリストボックスがあり、そこで選択したレコードにリンクする子テーブルのレコードをフォームの右側にサブフォームで表示させたいのですが、リストボックスでレコードを選択できません(クリックしても反転しません)。でもレコード移動ボタンを押すと、リストボックス内の該当レコードがちゃんと反転し、右側のサブフォームにも正しく反映します。 リストボックスのプロパティはくまなく見ましたがそれらしい設定項目はみつかりませんでした。どこを直せばよいのでしょうか。

  • チェックボックスでレコードの全選択

    ACCESS2000をWin98で使用しています。 今回、とてもややこしいのですが・・・ マスタテーブルAのワークスペーステーブルBを作成しました。レコードの抽出はマスタAからクエリでワークスペースBに出しています。 フォームのサブフォームには、ワークスペースBをリストで表示しています。 そのリストにチェックボックスがあるのですが、そのチェックボックスをボタン1つで全選択・解除を行いたいと思っています。 現在は「チェック」フィールドがありません。というエラーがでています。 何がやり方を教えていただけないでしょうか?

  • 選択したフィールドだけのCSVを出力

    ACCESS2003とSQLserver2008を使っています。 エンドユーザが画面でフィールド名を選択して、必要なフィールドだけ のCSV(エクセル)を出力したいのですが、そんなツールはないでしょうか? 作り込むとしたら、ストアドでSELECT文のフィールド名やテーブル名に 変数を使うことは可能でしょうか? (試したらフィールド名自体が件数分表示されました、テーブルは エラーになりました) また、どこかにサンプルなどはないでしょうか?

  • Accessでの新規レコードの追加の方法

    Windows XP上でMicrosoft Access 2000を使用しています。 オートナンバー型フィールド1つのみを含むテーブルに新規レコードを追加したいのですが、クエリやそれを基にしたフォームを介した方法はもちろんのこと、テーブルをデータシートビューで表示した状態でも追加することができません。 例えばレコードセレクタからレコード追加を選んでレコード保存を選んでも追加されません。 このテーブルに別のフィールドを追加してデータを入れるとレコードの追加が可能なのですが、オートナンバー型フィールド1つのみではうまくいきません。 どなたかオートナンバー型フィールド1つのみを含むテーブルに新規レコードを追加する方法を御存知でしたら御教示下さいませ。

  • Accessで1つのフィールドに複数の選択肢を設ける

    Accessで、1つのフィールドで複数選択可能な選択肢を設ける方法はあるのでしょうか? たとえば、スタッフのシフトを表す「何時から何時」という項目を複数作りたいのです。 自分の想定しているものでは、チェックボックスで複数選択できるようにしたいと思っています。 テーブルでできなくても最終的にフォームで登録時に実現できればいいと思っています。 アドバイスをよろしくお願い申し上げます。

  • あるレコードのフィールドだけ入力可能にしたい

    Access 2013 VBA フォームの帳票タイプで あるレコードのチェックボックスにチェックを入れた時だけ、そのレコードにある特定のフィールドのテキストボックスを入力可能にしたいです。 どのようにしたら良いでしょうか? 誰かお分かりの方おられましたら、よろしくお願いします (お正月でまだ誰も見る暇がないようですが・・・)

  • アクセス フィールド 500個

    アクセスでは、1テーブルでフィールド個数が255までと、制限があるようですが、1レコードに500個のフィールドが必要となりました。2個のテーブルを開いて、500個のフィールドに対して、レコードを単票形式で入力できる様にするには、どうしたらよろしいか?よろしくお願いいたします。

  • アクセスVBAでの出力設定について

    初めての質問投稿となります。 アクセステーブルデータを、フィールドキー毎にエクセルテンプレートへ出力しようと試みています。 様々なサイトを参考に下記の対応は作成してみたのですが、組み合わせ方が上手く理解できずに行き詰っております。 ①テーブルのレコードをフィールドキー毎に ②エクセルのテンプレート(B3セルから)へレコード出力し ③シート名・ファイル名にフィールドキーをつけて保存 テーブル名:報告リスト (ブロック/支店名/社員コード/etc...) フィールドキー:ブロック クエリにてフィールドキー毎のデータを作成し、都度エクセルへコピペする作業工数を減らすべくご教示いただけますと幸いです。

  • ACCESSのクエリーからエクセル出力

    ACCESSのクエリーからエクセル出力する方法を探しています。 フォームのボタン押下⇒保存先選択画面表示⇒エクセル出力 という手順を考えていますが、 テーブルをそのまま(保存先も直書き)出力するサンプルは見つかるのですが上記のようなものは見つけられません。 どこかいいサイト、もしくはサンプルなどありませんでしょうか?

  • 2つのaccessテーブルのレコード数を合わせたい

    一つは200レコードあるリンクテーブルです。 このリンクテーブルとあるテーブル(Bテーブル)を合体させたいと思いました。 そのあるテーブルは主キーであるIDとチェックボックスの2つのフィールドだけです。 このB]テーブルの主キーとリンクテーブルの主キーとリレーションでつなげました。 しかし、そのBテーブルはレコードが全く無いのでチェックボックスが出て来ません。 リンクテーブルのレコード数分、手動で作成したらチェックボックスと組み合わさります。 これでは、毎回毎回リンクテーブルのレコード数を数えて同じ分だけBテーブルでレコードを作成しなくてはいけません。 自動で同じだけのレコードを作ることはできますでしょうか? VBAでレコード数を数えて・・・・とかするのでしょうか?

専門家に質問してみよう