2017-06-13 9 views
0

サブフォームをコンボボックスでフィルタリングしようとしています。私は何をしていますが、 "パラメータ値を入力"テキストボックスを表示し続けます。私がフィルタリングしたい値を入力すると、問題なくサブフォームが検索されます。私はコンボボックスの目的を破るので、値を入力する必要はありません。ここでコンボボックスのパラメータ値

は、コンボボックスのための私のコードは、

Private Sub ComboFE_AfterUpdate() 

    On Error GoTo Proc_Error 
If IsNull(Me.ComboFE) Then 
    Me.SubFormPF.Form.Filter = "" 
    Me.SubFormPF.Form.FilterOn = False 
Else 
    Me.SubFormPF.Form.Filter = "Lead_FE = " & Me.ComboFE 
    Me.SubFormPF.Form.FilterOn = True 
End If 
Proc_Exit: 
    Exit Sub 
Proc_Error: 
    MsgBox "Error " & Err.Number & " in setting subform filter:" & vbCrLf & Err.Description 
    Resume Proc_Exit 

End Sub 

である私がチェックし、すべての名前が正しく、私のフォーム上の対応する項目に一致することを確認てきました。

すべてのアイデア? 多くのありがとう

+0

'Lead_FE'がテキスト列の場合は、値を引用符で囲む必要があります。 '.Filter =" Lead_FE = '"&Me.ComboFE&"' "' – Andre

+0

それはそれをしました、おかげでたくさんの男! – Ethan

答えて

0

テキスト列にフィルタを適用する場合は、値に引用符が必要です。

Me.SubFormPF.Form.Filter = "Lead_FE = '" & Me.ComboFE & "'" 

値自体に引用符が含まれている場合は、ここからグスタフのCSql()機能を使用し、問題を回避するには:https://stackoverflow.com/a/36494189/3820271

Me.SubFormPF.Form.Filter = "Lead_FE = " & CSql(Me.ComboFE.Value) 

これは、すべてのデータ型のために動作します。

関連する問題