アプリ版:「スタンプのみでお礼する」機能のリリースについて

こんにちは。
いつもありがとうございます。

現在、ACCESSで名簿管理ソフトを作っています。
フォームで条件を指定し、該当する人を抽出できるようになっているのですが、その条件をそのままレポートのソースに使用するにはどうれすばいいでしょうか?

DoCmd.OpenReport "rpt_名簿", acViewPreview,, Me.Filter
としているのですが、実行時エラー 438が出てしまいます。

A 回答 (3件)

レポートのソースに使用する・・・



レポートでデータとして使用したいってことですか?
そうであれば、レポート内でフォームのテキストボックスのデータを見るだけじゃまずいんですかね。

あとエラーですが、引数の場所が違うからじゃ?
http://www.geocities.jp/cbc_vbnet/kisuhen/docmd. …
Filterは3番目ですよ。

この回答への補足

回答ありがとうございます。
>レポート内でフォームのテキストボックスのデータを見るだけじゃまずいんですかね。
一つのテキストボックスに名前を打って、その条件に一致する人だけを出すなら簡単ですが、複合的な条件で検索するようになっているのでそれができないのです。

>あとエラーですが、引数の場所が違うからじゃ?
3番目でも4番目でも同じようにエラーになります。

補足日時:2007/07/20 17:07
    • good
    • 0

<名簿>


ID__氏名
1___鈴木 一郎
2___山田 太郎
3___中村 四郎

Private Sub コマンド7_Click()
On Error Resume Next
  DoCmd.OpenReport "名簿", acPreview, , Me.Filter
End Sub

Private Sub コマンド8_Click()
  Me.FilterOn = False
  Me.Filter = "氏名 LIKE '鈴木*'"
  Me.FilterOn = True
End Sub

これでOKですが・・・。

レコードソースは、どちらも[名簿]。
    • good
    • 1

発想を変えましょう


レポートの開くときイベントでフォームのフィルタを引き継げばいいのです

Private Sub Report_Open(Cancel As Integer)
Me.Filter = Forms![フォーム名].Filter
Me.FilterOn = True
End Sub

この回答への補足

回答ありがとうございます。

Private Sub Report_Open(Cancel As Integer)
Me.Filter = Forms![frm名簿]![frm名簿sub].Filter
Me.FilterOn = True
End Sub

<オブジェクトは、このプロパティまたはメソッドをサポートしていません。>

というエラーになってしまいます。

補足日時:2007/07/20 19:45
    • good
    • 0
この回答へのお礼

この回答がヒントになって解決しました。
レコードソースになっているクエリに検索項目が無いのが原因でした。
今日半日苦労しましたが助かりました。
感謝。

お礼日時:2007/07/20 20:04

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

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す