推しミネラルウォーターはありますか?

アクセス初心者です。
初歩的な質問になりますが、教えてください!!

サブフォームに複数ある条件の抽出結果を表示させており、その抽出結果のみエクセルファイルに反映するようにしたいです。

ちなみに、コードは以下の通りです。

Private Sub 検索Cmd1_Click()
Me!生産課マスタSub.Form.FilterOn = True
Me!生産課マスタSub.Form.Filter = "[品番] Like '*" & Me!品番検索Txt & "*' And Nz([製品名]) Like '*" & Me!製品名検索Txt & "*' And Nz([品名コード]) Like '*" & Me!品名コード検索Txt & "*' And Nz([資材メーカー]) Like '*" & Me!資材メーカー検索Txt & "*' And Nz([品名]) Like '*" & Me!品名検索Txt & "*'"
End Sub

望むべくは、「エクセル出力」のコマンドボタンを作成し、クリックすると抽出データのみエクセルファイルに出力されるというシステムにしたいです。

もし、コードを追加すれば簡単に反映されるということでしたら、お手数ですがコードをご提示していただけますか?
また、他に簡単な方法があればそちらも教えてください。

それと、上記同様に「印刷」のコマンドボタンを作成し、抽出したデータのみ印刷出来るようにもしたいんですが、こちらのやり方も併せて教えていただけますでしょうか?

いろいろネットで検索して調べてみましたが、よくわかる回答がありませんでした。。。
よろしくお願いします!!

A 回答 (1件)

【エクセルへのエクスポートについて】



同じような質問に最近回答しましたが、
http://oshiete1.watch.impress.co.jp/qa6912748.html
上記の中のリンク先に、ほぼそのまま使える
コードが表示されています。では、どうぞ・・・・・・、
でもいいのですが、少し説明をしておきます。

(1)
準備のところに、
>Excel と、DAO に参照設定が必要です。
とあります。
コード表を開いて、ツールから参照設定を開き、
Microsoft DAO xx Object Library
にチェックを入れ、↑ボタンで上がり切る
ところまで引き上げます。xxは3.6のような数字です。
次に、
Microsoft Excel xx Object Library
にチェックを入れOKとします。xxは9.0のような数字です。

(2)
コード表の
Private Sub cmdToExcel_Click()
のcmdToExcelはボタンの名前ですから、最初に
ボタンを設定して、ボタンのプロパティから
そのイベントプロシージャを設定するとたいてい
Private Sub コマンド0_Click()
End Sub
のようなものなっていますから、リンク先の
コード表の
Private Sub cmdToExcel_Click()
から、最後の
End Sub
の間のコードをコピーして、
Private Sub コマンド0_Click()

End Sub
の間に貼り付けてもかまいません。

(3)
コード表は実際に合わせて少し変更します。
Set rst = Me.[サブフォーム名].Form.RecordsetClone
のサブフォーム名には生産課マスタSubを入れ、
Set rst = Me.[生産課マスタSub].Form.RecordsetClone
とします。
Set wkb = xls.Workbooks.Open("C:\Book1.xls")
では、データを入れるエクセルへのパスを入れますから、
実際に置いているエクセルへのフルパスを設定します。
変更はこれだけです。


【レポートについて】

レポートはサブフォームのレコードソースと
同じものを使うことを前提にします。
たとえば、テーブル名を「T生産課マスタSub」
とします。これでサブフォームが作られて
いるとすれば、レポートも同じ「T生産課マスタSub」
で作ります。クエリならば同じクエリでレポートを
作ります。
以上を前提にし、フォームにボタンを一つ設定し、
そのボタンのクリック時のイベントで、

Private Sub cmdToReport_Click()
DoCmd.OpenReport "R生産課マスタ", acViewPreview, , Me.[生産課マスタSub].Form.Filter
End Sub

cmdToReportとはこちらで勝手に設定したボタンの名前です。
実際にあわせて変更してください。


以上で、質問に対する回答はほぼ完了です。(多分)
わからないことがあれば補足してください。
    • good
    • 0
この回答へのお礼

完璧な回答ありがとうございました!!
万事うまくいき、順調に進めることができました。

お礼日時:2011/08/09 09:07

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!