別フォームで取得した値を引き継いでフォームを開く際に、
サブフォームにフィルターを適用させようとするとエラーが出てフィルターがかけられません。
お世話になります。
商品管理のためのDBを新規で作っています。
検索フォーム:商品番号を入力
詳細フォーム:検索フォームで入力した商品番号の該当商品詳細と申請履歴のサブフォームを表示
subF_申請履歴:該当商品の申請履歴を表示するサブフォームオブジェクト
検索フォームで入力した商品番号を詳細フォームに引継ぎ、
その商品番号でサブフォームにはデータを抽出した状態で表示させたいです。
商品番号を引き継ぐところまでは問題なくできたのですが、FilterOnで実行時エラーが出ます。
デバッグでステップインするとエラーはでませんが、フィルターがかかりません。
何か解決方法はないでしょうか。
抽出するのにフィルターしか思いつかなかったのですが、他に手立てがあれば教えていただけると助かります。
よろしくお願いします
エラー内容:
実行時エラー7752
レコードがすべてロックされているため、フィルターを適用できません。
検索フォーム
Private Sub btn_状況検索_Click()
Dim memberName As String
memberName = Me.txt_商品コード& "," & Me.lbl_商品名.Caption
DoCmd.OpenForm "F_申請一覧", , , , , , memberName
End Sub
詳細フォーム
Private Sub Form_Open(Cancel As Integer)
'前のフォームから引き継いだ商品コードと商品名をラベルに反映
Dim itemData As Variant
itemData = Split(Me.OpenArgs, ",", , vbTextCompare)
Me.lbl_商品コード.Caption = itemData(0)
Me.lbl_商品名.Caption = itemData(1)
'サブフォームにフィルタ
Me.subF_申請履歴.Form.Filter = "商品番号= '" & lbl_商品コード.Caption & "'"
Me.subF_申請履歴.Form.FilterOn = True
End Sub
回答の前に確認ですが、
「F_申請一覧」フォームは連結フォームですか、非連結フォームですか。
ラベルにデータを表示させているので、非連結フォームのようですが。
情報不足していて済みません。
非連結で作成しています
遅ればせながらおっしゃっていることが把握できました。
連結フォームになっていないという初歩なミスでした。
ご指摘ありがとうございました。解決いたしました。