Ms access doCmd.openreport where子句提示

Ms access doCmd.openreport where子句提示,ms-access,vba,Ms Access,Vba,我有一段简单的代码用来打开一个报告 Private Sub FormButton_Enter() Dim strwhere As String strwhere = Me.FormText DoCmd.Openreport "rtpname",acViewPreview,,"ColumnName=" & strwhere End Sub 我得到两个弹出窗口,即使我通过了表单的筛选条件。请注意。一个潜在原因是ColumnName是非数字的,并且您没有将值

我有一段简单的代码用来打开一个报告

  Private Sub FormButton_Enter()
    Dim strwhere As String
    strwhere = Me.FormText
    DoCmd.Openreport "rtpname",acViewPreview,,"ColumnName=" & strwhere 
  End Sub

我得到两个弹出窗口,即使我通过了表单的筛选条件。请注意。

一个潜在原因是
ColumnName
是非数字的,并且您没有将值加引号。如果这是问题所在,那么解决方法是:

 DoCmd.Openreport "rtpname",acViewPreview,,"ColumnName='" & strwhere & "'"

@误导者:很高兴它起作用了。请点击左边的复选标记接受这个答案。我不太明白为什么这个答案有效。在文本字段中省略引号不应导致参数提示,只会导致数据类型不匹配。@Fenton:因为它将值解释为一个表达式,它希望引用打开窗体上的字段或“rptname”后面查询中的列。由于无法计算该表达式,因此它会提示输入该表达式的值,然后提示输入原始“ColumnName”的值。