【问题标题】:doCmd.openreport where clause promptingdoCmd.openreport where 子句提示
【发布时间】:2011-04-07 01:20:56
【问题描述】:

我编写了一段简单的代码来打开报告。

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

我收到两个弹出窗口,即使我通过了表单中的过滤条件。请指教。

【问题讨论】:

    标签: ms-access vba


    【解决方案1】:

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

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

    【讨论】:

    • @misguided:很高兴它起作用了。请点击左侧的复选标记接受此答案。
    • 我不太明白为什么这个答案有效。省略文本字段的引号不应导致参数提示,而只是数据类型不匹配。
    • @Fenton:因为它将值解释为一个表达式,它期望引用打开表单上的字段或“rptname”后面的查询中的列。由于它无法计算该表达式,它会提示为它输入一个值,然后它会提示为原始“ColumnName”输入一个值。
    猜你喜欢
    • 1970-01-01
    • 2018-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-21
    相关资源
    最近更新 更多