• ベストアンサー

検索結果が表示されたフォームからテーブルを作成するかエクスポートするか

人が作成したデータベースがあります。(Access使用) どうやらSQLを使っていくつかのクエリーをもとにフォームに使用しているようなのですが、 このフォームに表示されたデータをテーブル(テーブル作成など)にいれるか、エクセルに エクスポートするか、ということはできないでしょうか?

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

  • ベストアンサー
  • nonpq
  • ベストアンサー率30% (64/210)
回答No.1

フォームをデザインビューで開きプロパティを見るとレコードソースがわかるので、それを元に出力することができます。 (1)ソースがクエリとして保存されているならば、そのオブジェクトを開く。保存されていないならば、プロパティ:レコードソース名横の...をクリックしてクエリのデザインビューからクエリを実行する。 上記でそのフォームで抽出しているリストが表示される。 (2)エクセル・アクセスへ出力    メニューバー-ファイル-エクスポート-任意のパス、名前を指定し実行    テーブル作成はクエリのデザインビュー画面から    メニューバー-クエリからクエリ種類を「テーブル作成」に変更して実行 希望されている目的と違っていたらごめんなさい。    

w-inty
質問者

お礼

回答ありがとうございます。 どうやらifで分岐されていて、その後に2通りのSQL文がかいてあります。 1つをあげるとこんな感じです。 (テーブル名やクエリなどを伏せ字にしたのでわかりにくいですが) strSQL = "SELECT Q_●.あ, Q_●.あ, Q_●.あ," & _ " Q_●.あ," & _ " Q_○.い AS 実績, Q_□.う AS 予算," & _ " Nz([実績])-Nz([予算]) AS 差異" & _ " FROM (Q_● LEFT JOIN Q_○" & _ " ON Q_●.あ = Q_□.う) LEFT JOIN Q_○" & _ " ON Q_●.あ = Q_○.い;" Me.RecordSource = strSQL これを元にテーブル作成ってできますか? いっそのことクエリを作ってしまった方が楽なのかも…。

その他の回答 (2)

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.3

補足に書いてあるSQLを見ると クエリで抽出したレコードと集計クエリでグループ化と集計をさせているようなクエリのレコードを結合してレコードセットしているようなのですが。 これなら多分SQL部分(変数にセットする部分などは不要)のみクエリのSQLビューで貼り付けて実行させられると思います。レコードが表示されるようであればSQLビューで作ったクエリをテーブル作成クエリに変えればテーブルにレコードを作成できると思うのですが・・。 多分作成済のクエリ同士を使ってフォームのソースにしている感じなので新たにそのクエリを使い新しいテーブル作成クエリを作ってもさほど手間は食わないと思います。

w-inty
質問者

お礼

みなさん回答ありがとうございます。 お礼に書いたsqlをもとに同じようにテーブル作成のSQLを作成してテーブルを作成致しました。 ありがとうございました。

  • nonpq
  • ベストアンサー率30% (64/210)
回答No.2

IF文で分岐されている場合、分岐条件などを入力・指定しないとクエリ実行できないと思うのですが。 出力したいデータ群はクエリ実行後のデータですか?それとも、クエリして引っ張ってくる元のデータですか? また、SQL文で表示されているものをデザインビューに表示変更できますか?転記していただいたSQLコードで見た限りでは、ACCESSクエリのデザインビューで表示することが可能なように思いました。(○●はクエリ名で、あいうはフィールド名だと思います)表示の切り替えが可能ならば、後はACCESS操作だけにできて説明も楽なんです。

関連するQ&A

専門家に質問してみよう