• ベストアンサー

アクセス2010 サブレポートの参照

レポートAを作りました。 その中にformBを入れ、名前を「サブS」にました。(サブフォーム?サブレポート?) このformBの中にあるフィールドCのVisibleを、レポートオープンした時にfalseにしたいのです。 Me.サブS.Report.フィールドC.Visible = False としましたがエラーです。 サブレポートの参照はいかがするのでしょうか?

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

  • ベストアンサー
回答No.1

レポートを開いた時には、まだサブレポートは生成されてませんので、エラーになります。 そのサブレポートを配置しているセクションのフォーマット時のイベントプロシージャにそのコードを記述してください。 あと、レポートではなく、フォームをレポートに埋め込んだのですか。もし、そうなら、ReportプロパティではなくFormプロパティで参照しないとエラーになります。 Me.サブS.Form.フィールドC.Visible = False

situmonnsya
質問者

お礼

>セクションのフォーマット時 これを探せずに時間がかかってしまいました。 ご教示頂いたとうりで、うまく作動しています。 ありがとうございました。

関連するQ&A

  • ACCESS サブレポートの参照について

    ACCESS2003を使用しています。 メインレポートのページフッターにテキストボックスを配置して、サブレポートの小計を参照して表示しています。 しかしサブレポートにデータがない時があり、【#エラー】という表示になってしまいます。 そこで、サブレポートにデータがない時は、【0】という表示にしたいのですが、どういった方法があるか、教えてください。 よろしくお願いします。

  • Access2007サブレポートの絞り込みついて

    Access2007のサブレポートの絞り込み(フィルタ)について教えて下さい。 いつも親切に教えて下さりありがとうございます。 Access2007でサブレポートを入れたレポートがあります。 フォームから絞り込み(フィルタ)をかけて印刷できるようにしているのですが、サブレポートが上手く作動しません。 主にフィルタは日付で検索します。 メインレポートとフォームは同じクエリから作成しています。 サブレポートは別のクエリからです。 リンクフィールドには顧客IDが親子で入っています。 フォームに印刷ボタンを設置し、DoCmd.OpenReport "レポート名", acViewPreview, , Me.Filter で、印刷出来るようにしています。 クエリには抽出条件は入れていません。 例えば12/17のみフィルタをかけた場合は、メインもサブを作動するのですが、 12/17と12/18など1つ以上の条件を選択してフィルタをかけると、メインのみ2日分表示されサブは12/17のみ表示されます。 サブレポートも同じようにフィルタをかけた場合に作動させるにはどうしたら良いでしょうか? 大変わかりづらい説明で申し訳ありません。 教えて下さい。よろしくお願い致します

  • Accessのメインレポートとサブレポート

    Accessでメインレポートとサブレポートがあるレポートを作っています。 メインレポートのページが変わるたびに、サブレポートのレコードソースを変更して、サブレポートの再表示をさせたいのですが、どうやればいいのでしょうか? ちなみにメインのほうで以下のように記述しましたが、 (3)でエラーになります。 (エラー内容:記述ミス、または開いていない) Private Sub Report_Page() (1) Dim strSQL As String (2) strSQL = "SELECT * FROM Meisai" _ & " WHERE DenNo = " _ & Format(Reports!r日報!DenNo.Value, "000000") (3) Reports!r明細!.RecordSource = strSQL End Sub

  • Access サブレポートの並び順について

    os : win7 Version:2013 いつも、お世話になっております。大変、助かっていてとてもありがたく感じています。 すみません、問題に突き当たっていまして、ここ数日どおしても解決できません。ご存知の方がいらっしゃいましたらぜひお教えいただきたいと思います。 サブレポートの「グループ化」と「並び順」につきましての質問です。 サブレポートの詳細部分に 「便名」、「出発時間」、[カウント](コントロールソース = 1)、「印字順」と「直線31」というコントロールがあり、 便名が変わったら直線31が表示されるように以下を記述しています。(これもここでお教えいただいた事でございます) Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer) If Me.カウント = 1 Then Me.直線31.Visible = True Else Me.直線31.Visible = False End If End Sub グループ化 = 便名 (ヘッダー付) ※並び替え=印字順 → 昇順 としました。すると ■症状 この場合、直線31は意図したように、便名が異なることに表示されているのですが、便名の並びが優先されて、「印字順」の並びにはなっていません。 「印字順」を並び替えの一番上にすると、「印字順」のならびに「なりますが」、この場合は直線の表示方法が無視されて全部の便名に直線31が表示されるようになります。 ■希望すること 「印字順」に表示されて、なおかつ、同じ便名の場合は直線31が表示されない..というふうにしたいのです。 説明がわかりづらいかと思いますが、何卒、よろしくお願いいたします。   

  • ACCESS2000 VBAで印刷時にサブレポートのレコードソースを設定するには?

     フォーム画面にある複数の入力項目から検索条件文を作成、データを抽出してレポートに明細一覧を出力します。  親レポートはDoCmd.OpenReportのConditionで設定出来るのですが、そのレポートフッターにはサブレポートがあり、明細の小計や種別計、総合計を出力するのですが、このサブレポートのレコードソース(またはフィルタ)を設定するにはどうすれば良いのでしょうか?  ・サブレポートのオープン時にMe.Recordsource="SELECT * FROM …" だとエラーになり、オープン時には指定できないとのことでした。 親レポートとは親子関係もなく、使用するクエリーも別です。 VBAで設定するのは難しいのでしょうか?よろしくお願いします。

  • Access2007で、鍵のDBを作っています。レポートに鍵の画像を挿

    Access2007で、鍵のDBを作っています。レポートに鍵の画像を挿入したいと思い、http://www.accessclub.jp/samplefile/samplefile_77.htmを参考にしたのですが、このHPで紹介しているイメージコントロールの貼り付けの部分で指定したように代表?として貼り付けた画像のレコードしか出てきません。(現在、レコードは3つあります。) テーブルは「鍵 台帳」 鍵 記号(テキスト型) 鍵 名称  ・  ・  ・ 鍵画像パス(テキスト型) があり、 レポートの詳細セクション、イベントタブのファーマット時に、[イベントプロシージャ]にし、 Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer) On Error GoTo エラー発生 Me.ラベル0.Visible = False Me.イメージ34.Visible = True If Not IsNull(Me.鍵画像パス) Then Me.イメージ34.Picture = Me.鍵画像パス Else Me.ラベル0.Visible = True Me.イメージ34.Visible = False End If Exit Sub エラー発生: Me.イメージ34.Visible = False Me.ラベル0.Visible = True Resume Next End Sub と、してみました。ラベル0は「鍵 記号」フィールドに対応、イメージ34はイメージコントロールで貼り付け、書式タブのピクチャでC:¥Documents and Settings¥〇〇¥My Documents¥△△¥鍵管理DB\KM 611.jpgとしました。鍵 画像パスフィールドにも同じようにパスが入っています。(鍵 記号と鍵の画像ファイルは、同じ名前にしています。) このようにし、印刷プレビューにしようとすると、「パラメータの入力 鍵 画像.鍵 画像」と出てきます。何も入力せず、「OK」を押すと、プレビューでKM 611のレコードのみ出てきます。 レポートには、鍵 画像パスフィールドと、「鍵 履歴」テーブルもサブレポートで入れています。 ちなみに、鍵 履歴テーブルは ID 鍵 記号 履歴 日付  ・  ・ のようになっており、鍵 記号を「鍵 台帳」テーブルの鍵 記号フィールドとリレーションさせています。 アクセス超初心者でやっとここまでこぎつけたので、後は、なぜ出来ないのかさっぱりわかりません。 どうか、お助けいただければ、幸いです。 厚かましいですが、教えて頂けるようであれば、プロシージャを入れる場合なども、どこをクリックしてから等細かくご教授願えますでしょうか。 よろしくお願い致します。

  • サブフォームのサブフォームの値を参照

    Access2007で親フォームAの中にサブフォームBが入っていて、そのサブフォームBの中にサブフォームCが入っているとします。 この場合、親フォームAからサブフォームCの中のテキストボックスの内容等は参照できないのでしょうか? 一応試しに、親フォームから Me!サブフォームB.Form!サブフォームC.From!テキスト.SetFocus と、ソースに書いたのですが「実行エラー:438」が出てしまいます。 どうにかして参照できないでしょうか? ご存じの方がいらっしゃったらご教授お願いします。

  • アクセス2003のサブフォームコントロールの参照について

    アクセス2003で質問です。 メインフォームM1 サブフォームS1 サブフォームコントロールSCTL1 S1のフィールド T1と定義している場合に T1へサブフォームS1からオープンした別のフォームF1の値を代入したいのです。 マクロで値の代入の式を アイテムに [Forms]![M1]![SCTL1]![T1] と記述してもプロパティまたはメソッドが正しくないというエラーが表示されます。 同じ記述でアクセス2000では出来ました。 どこが違うのか教えて下さい。

  • ACCESSで条件によってサブフォームを非表示に

    Accessの初心者です。よろしくお願いします。 Accessで住所録を作っています。 メインフォームは主に本人のデータを表示し、サブフォームで家族の データを表示するようにしました。 その時、家族がいない人についてはサブフォーム自体を表示しないようにしたいと思います。 そこで下記のようにしましたがうまくいきませんでした。 (1)サブフォーム内で家族の人数をカウントする。 (2)このカウント結果をメインフォームに表示する。(メインフォーム にテキストボックスを配置し、コントロールソースをサブフォームの 人数カウントにする。)     ここまではうまくいきました。 (3)ここでメインフォームのイベントの「開くとき」に以下のように記 述しました。(メインフォームのテキストボックスにカウントという  名前をつけました。) Private Sub Form_Open(Cancel As Integer) If Me!カウント = 0 Then サブフォーム.Visible = False Else サブフォーム.Visible = True End If End Sub この記述の仕方がまずいと思うのですが、どのようにすればよいか 分りません。よろしくお願いします。

  • Access レポートの詳細Formatに複数の式

    いつもお世話になっています。 レポートの詳細に結婚して姓が変更になった場合、旧姓に取り消し線を引く という式を作成しました。 Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer) If 新姓 <> "" Then Me.取り消し線1.Visible = True Me.取り消し線2.Visible = True Else Me.取り消し線1.Visible = False Me.取り消し線2.Visible = False End If End Sub 今回は、住所も変更になって新住所が入力されたら、旧住所に取り消し線を引きたいと 思います。 ただし、変更にならない場合もあるので、別のIF文になります。 Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer) If 新住所 <> "" Then Me.取り消し線3.Visible = True Me.取り消し線4.Visible = True Else Me.取り消し線3.Visible = False Me.取り消し線4.Visible = False End If End Sub レポートの詳細_Formatに複数の条件を設定することができるのでしょうか。 お力添えをお願いいたします。