【问题标题】:access double click list open form访问双击列表打开表单
【发布时间】:2017-01-03 20:21:28
【问题描述】:

我在别人的问题中看到了这一点,但解决方案对我不起作用。

我有一个列表框 (List0)。我希望能够双击列表框中的一个项目并打开一个表单(2017 Return Log)到单击的特定记录(基于 ID)。

我正在使用此代码并且它有效,但由于某种原因它不再有效:

Dim strCriteria As String

strCriteria = "[ID] = " & Me.List0.Value

DoCmd.OpenForm "2017 Return Log", , , strCriteria, , acDialog

现在,当我双击列表中的一个项目时,我收到以下错误:“查询表达式'[ID] ='中的语法错误(缺少运算符)。

当我单步执行 Me.List0.Value 时,它​​的评估结果为“null”。

任何帮助将不胜感激。

【问题讨论】:

  • 所以它有效,但“不再有效”。这意味着什么?事件不再触发?事件触发但效果不是预期的?有没有效果?有错误吗?您是否尝试过单步执行代码? ?Me.List0.Value 如何在即时窗口中评估?很抱歉这些问题,但没有提供足够的信息来给出答案。请更详细地编辑您的问题。欢迎来到 SO! tourHow to Ask
  • 我能想到的唯一会破坏代码的是将列表框从单选更改为多选。你的列表框是多选的吗?

标签: ms-access


【解决方案1】:

将 Nz 函数添加到您的代码中。这意味着如果列表框的值为 null,那么您的条件字符串不会为空。

strCriteria = "[ID] = " & Nz(Me.List0.Value, 0)

通过此更改,当列表框值为 null 时,将返回 0 并且您不会收到错误消息。您可以在此基础上显示消息框,而不是在 ID 不存在时尝试打开表单。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    • 2012-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-30
    • 1970-01-01
    相关资源
    最近更新 更多