Microsoft Access 掲示板

フォームを開くときにサブフォームで対象データを抽出したい

3 コメント
views
4 フォロー

別フォームで取得した値を引き継いでフォームを開く際に、
サブフォームにフィルターを適用させようとするとエラーが出てフィルターがかけられません。
 
お世話になります。
商品管理のための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
きなこもち
作成: 2021/02/17 (水) 12:02:49
通報 ...
1

回答の前に確認ですが、
「F_申請一覧」フォームは連結フォームですか、非連結フォームですか。

ラベルにデータを表示させているので、非連結フォームのようですが。
 

2
きなこもち 2021/02/17 (水) 14:08:57 561e2@c8e67 >> 1

情報不足していて済みません。
非連結で作成しています

3
きなこもち 2021/02/17 (水) 16:45:46 561e2@c8e67 >> 2

遅ればせながらおっしゃっていることが把握できました。
連結フォームになっていないという初歩なミスでした。

ご指摘ありがとうございました。解決いたしました。