【发布时间】:2012-04-27 17:18:36
【问题描述】:
我有一个组合框,用于在 afterupdate 事件中过滤表单上的数据。 以下是我一直试图用来过滤数据的查询。此代码有效地过滤数据,但我面临的问题是,当我从组合框中选择“”时,没有显示任何数据。可能出了什么问题?我该如何显示选择“”时表格的所有数据
Dim strCriteria As String
strCriteria = "[Jobno]='" & cboPMNO & "'"
Set rst = Me.RecordsetClone
If strCriteria = "<ALL>" Then
Me.FilterOn = False
ElseIf rst.NoMatch Then
MsgBox "No entry found"
Else
Me.FilterOn = False
Me.Filter = strCriteria
Me.FilterOn = True
End If
【问题讨论】:
-
cboPMNO的Row Source是什么?
-
有一些问题。我在选择
时输入了双引号,而不仅仅是“”。我猜双引号括起来使它成为一个块引用。 -
select distinct '
' as Jobno from tblmimain UNION ALL SELECT DISTINCT tblMIMAIN.A_JOBNO AS Jobno FROM tblMIMAIN WHERE (((tblMIMAIN.A_LOCATION)>IIf(GetAsset()="ALL ","a","ZZ") 或 (tblMIMAIN.A_LOCATION)=GetAsset()) AND ((tblMIMAIN.A_SYSTEM)="NEN"));我认为我应该使用 If cboPMNO=" 而不是 If strCriteria="" " -
另外,而不是行号。 5 在上面的代码中我尝试了这个: Docmd.showallrecords 并且它起作用了。
标签: ms-access ms-access-2007 filtering vba