Ms access 对子窗体应用筛选器并基于筛选器打开报告

Ms access 对子窗体应用筛选器并基于筛选器打开报告,ms-access,vba,Ms Access,Vba,我有一个子表单,允许用户为“ACFTsn”选择一个值。我想对名为“日志”的表应用一个过滤器,其中“sn”(表上的字段)=ACFTsn 以下内容附加到子窗体上的按钮 Me.Form.Filter = "table![Logbook].SN=me.ACFTsn" Me.FilterOn = True DoCmd.openreport "logbook", acViewReport, Filter 当我单步执行代码时,收到错误3071/表达式输入错误或太复杂而无法计算 我确信存在语法错误,因为这是

我有一个子表单,允许用户为“ACFTsn”选择一个值。我想对名为“日志”的表应用一个过滤器,其中“sn”(表上的字段)=ACFTsn 以下内容附加到子窗体上的按钮

Me.Form.Filter = "table![Logbook].SN=me.ACFTsn"
Me.FilterOn = True
DoCmd.openreport "logbook", acViewReport, Filter 
当我单步执行代码时,收到错误3071/表达式输入错误或太复杂而无法计算


我确信存在语法错误,因为这是我第一次尝试使用VBA进行筛选,我不确定这是将其应用于报表的正确方法。

应该是这样简单:

Me.Filter = "[SN] = '" & Me!ACFTsn.Value & "'"
Me.FilterOn = True
如果序列号不是字符串:

Me.Filter = "[SN] = " & Me!ACFTsn.Value & ""
Me.FilterOn = True
要对报告应用相同的筛选器,请执行以下操作:

DoCmd.openreport "logbook", acViewReport, , Me.Filter

应该是这样简单的:

Me.Filter = "[SN] = '" & Me!ACFTsn.Value & "'"
Me.FilterOn = True
如果序列号不是字符串:

Me.Filter = "[SN] = " & Me!ACFTsn.Value & ""
Me.FilterOn = True
要对报告应用相同的筛选器,请执行以下操作:

DoCmd.openreport "logbook", acViewReport, , Me.Filter

或者,您可以使用该方法,甚至(对于MS Access 2010+):


或者,您可以使用该方法,甚至(对于MS Access 2010+):


我粘贴了前两行,并在后面加上:DoCmd.openreport“Logbook”,acViewReport//报告已打开,但未被过滤。然后将过滤器应用于报告。效果非常好。我错过了您原始帖子的最后一行。我粘贴了前两行,并在后面加上:DoCmd.openreport“Logbook”,acViewReport//报告已打开,但未被过滤。然后将过滤器应用于报告。效果完美。我错过了你原来帖子的最后一行。