2016-08-19 11 views
0

同時に2つのフィルタをサブフォームに適用しようとしています。サブフォーム上の複数のフィルタ

DATES XとYの間、およびZのBRANCH Zのみのレコードが必要です。

作業は単体ではありますが、同時に使用することはできません。これは基本的に私はこれには本当に新しいんだと私はウェブから得たコードのビットである

Private Sub Command39_Click() 
If IsNull(Me.txtFrom) Or IsNull(Me.txtTo) Then 
    MsgBox "Insert date!" 
Else 
    With Me.frmDailyRevenue.Form 
     .Filter = "[DateDbl] BETWEEN " & Me.txtFromDbl & " AND " & Me.txtToDbl & "" And [F5] = " & Me.cboBranch & """ 
     .FilterOn = True 
    End With 
    End If 
End Sub 

:私はそれが何か

現在のコードを知っています。

すべてのアドバイスは大歓迎です。私はMe.cboBranchがテキストであることが想定

.Filter = "[DateDbl] BETWEEN #" & Format(Me.txtFromDbl,"mm\/dd\/yyyy") & _ 
    "# AND #" & Format(Me.txtToDbl,"mm\/dd\/yyyy") & "# And [F5] = '" & Me.cboBranch & "'" 

答えて

2

はこれを試してみてください。このフィールドにコードが含まれている場合は、一重引用符を削除します。

また、チェックしてコントロールするコントロールが異なる(Me.txtFromとMe.txtFromDbl、Me.txtToとMe.txtToDbl)ということに気づいたので、これをチェックしてください。

+0

この行が次のように変更されました。「データ型が一致しません」というメッセージが返されました。 = Me.txtFromDbl& "AND" &Me.txtToDbl& "そして、[F5] = '" & "[DateDbl] BETWEEN" .Filter&Me.cboAgDep& "'" 私は#を使用し 'tをなぜなら、私の日付は、さまざまな理由からmm/dd/yyyyではなく、number(double)形式であるからです。 – Felps

+0

[DateDbl]には数字が含まれています。 Me.txtFromDblには何がありますか? txtFormの中に通常のテキスト形式の日付があれば、私は 'BETWEEN"&CLng(CDate(Me.txtFrom))& "AND ..."を使います。また、cboAgDepの制御元であるテーブルフィールドのデータ型を確認します。 numberの場合は、一重引用符を削除します。 –

+0

また、 'CLng(CDate(Me.txtFrom))'の代わりに、 'Format(Me.txtFrom、"# ")' –

0

問題が見つかりました。

日付範囲にBETWEENとANDを使用すると、2番目のANDと競合し、フィールドF5のフィルタを追加していました。

.Filter = "[DateDbl] >= " & Me.txtFromDbl & " AND [DateDbl] <= " & Me.txtToDbl & " AND [F5] = " & Me.cboBranch & ""

はちょうどあなたが持っている場合はセルゲイが指摘したように、あなたは#を使用する必要があり、この後のために来るかもしれない人々のために、明確にするために、次のように

は、だから私は= <>を使用するように切り替え=と日付フィールド、私の日付はダブルフォーマットなので、私はする必要はありません。

ありがとう、

+0

を使うことができます。日付値はハッシュの中に入れなければなりません: '#8/18/2016#' –

関連する問題