【问题标题】:Double click in List Box to open another form on a specific record双击列表框以在特定记录上打开另一个表单
【发布时间】:2018-01-26 19:24:30
【问题描述】:

我在列表框上设置了一个 DblClick 函数,以便在双击一行时,它将打开另一个表单(带有自己的列表框),从单击的行中过滤特定记录。

但是,我得到了一个

运行时错误“3075”:查询表达式“[fieldname] =”中的语法错误(缺少运算符)。

(其中字段名称是要过滤的绑定列)。

这是我的 dblclick 代码:

Private Sub ListBoxname_DblClick(Cancel As Integer)
Dim RecordId As Integer
DoCmd.OpenForm "newformname", acNormal, , "[fieldname] = " & Me.ListBoxname.Column(2)
Forms("newformname").Requery
End Sub

我还设置了新的表单属性(数据选项卡)以将字段名过滤为 fieldname=

我做错了什么?

【问题讨论】:

    标签: ms-access vba ms-access-2010


    【解决方案1】:

    显然Me.ListBoxname.Column(2) 返回 NULL。

    如果您的密钥在第二列,则需要使用Me.ListBoxname.Column(1),因为列列表是从零开始的。

    https://msdn.microsoft.com/en-us/vba/access-vba/articles/listbox-column-property-access

    注意:打开后不需要Forms("newformname").Requery

    【讨论】:

    • 谢谢。这已经停止了出现的错误,但是现在出现了我不想要的 [fieldname] 的参数窗口。我希望它使用 [fieldname] 作为值来连接和过滤另一个将在双击时打开的表单。我该怎么做?
    • 那么您有拼写错误或[fieldname] 不在第二种形式的记录源中。请使用您的实际代码编辑您的问题。
    猜你喜欢
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多