|
▼よろずや さん:
ご回答ありがとうございました。
>他のフォームからは参照のみで書き込みはしないような場合には、
>Private 変数にして、Get Property を使うこともあります。
Get Property について調べてみましたが、ちょっと難しそうだったので、
>変数ではなくフォーム上のテキストボックスにしてしまいます。
>(デバッグ時以外は不可視にします)
こちらの方法でやってみました。
帳票フォームでの検索時に、テキストボックスtxtfilterに
検索条件を保存しておき、↓
Private Sub setfilter()
Dim strfilter As String
Dim ctl As Access.Control
For Each ctl In Me.Section(acHeader).Controls
if ctl.ControlType = Access.acCheckBox
If ctl.Value Then
strfilter = strfilter & " and 資料名 like '*" & ctl.Controls.tag & "*'"
End If
End if
Next
Me.Filter = mid(strfilter,6)
Me.FilterOn = true
Me.txtfilter.value = mid(strfilter,6)
単票フォームを表示するボタンのクリックイベントに下記のようにしたら
DoCmd.OpenForm FormName:="単票フォーム", OpenArgs:=Me.連番
With Forms("単票フォーム").RecordsetClone
.Filter = Me.txtfilter.value
.FilterOn = True
.FindFirst "連番 = '" & Me.連番 & "'"
If Not .EOF Then
DoCmd.GoToRecord Record:=acGoTo _
, Offset:=.AbsolutePosition + 1
End If
End With
「オブジェクトは、このプロパティまたはメソッドをサポートしていません」
というエラーがでます。
どのように直したらいいでしょうか?
そもそもOpenArgs:=Me.連番のところでは、簡単に値を渡せるのに、
filter設定は難しいですね。
引き続き、ご指導お願いいたします。
|
|