Microsoft Access 掲示板

フォームを帳票フォームで開く / 5

6 コメント
views
4 フォロー
5

レコードソースプロパティにクエリ名「Q_Transaction」を設定してあります。(このクエリを基にフォームウィザードで作りました)

このフォームの名前が「sbf1」ということですか。

sbf1のプロパティーシートのDefault ViewをContinuous Formsにしています。フォーム"F_Display_Transaction"にサブフォーム"sbf1"を作って表示しています。

ひょっとしてお使いのAccessは英語版ですか。
日本語版なら「既定のビュー」プロパティが「帳票フォーム」に設定してあるということですね。

フォーム"F_Display_Transaction"上にサブフォームコントロールを配置して、そのコントロール名も「sbf1」ということでしょうか。

ちなみに、サブフォームコントロールとサブフォーム本体とは別ものですのでこの点はご留意ください。(下記リンク参照)

サブフォームとサブフォームコントロールの違いとは? - hatena chips

sbf1のプロパティーシートのDefault ViewをContinuous Formsにしています。フォーム"F_Display_Transaction"にサブフォーム"sbf1"を作って表示しています。
で、このサブフォームコントロールの「ソースオブジェクト」プロパティに「sbf1」とサブフォーム名を設定しているということでしょうか。

この場合は、サブフォームコントロール名とサブフォーム名がたまたま同じということになりますね。

この状態で、

Me.sbf1.SourceObject = "Query.Q_Transaction"

を実行したら、ソースオブジェクトは「sbf1」フォームから「Q_Transaction」クエリに置き換わります。クエリはデータシートビュー表示しかできませんので、当然データシートビュー表示に切り替わります。

やろうとしていることは
T_Transactionのデータ(付随するマスターテーブルデータがある)について、T_Time(IN/Outの時刻)とM_ID(原料ID)で、期間内の各原料の取引のデータを帳票形式データで表示させること。

SourceObject は変更せずに(フォームのままで)、そのフォームに対して抽出条件を設定すればいいでしょう。

方法は、hirotonさんの回答を参照ください。

通報 ...