访问 - 使用 where 子句打开表单

Posted

技术标签:

【中文标题】访问 - 使用 where 子句打开表单【英文标题】:Access- Open form with where clause 【发布时间】:2017-08-09 11:04:47 【问题描述】:

我需要通过单击子表单记录名称来打开特定表单。子表单中的名称显示为一个组合框,其中 ID 和名称为列。

我是这样做的:

Private Sub ID_Prodotto_DblClick(Cancel As Integer)
Dim Id As Integer
Id = Me.ID_Prodotto.Column.Value
DoCmd.OpenForm "Prodotto", , , "ID_Prodotto = " & Id
End Sub

但 Access 要求我在单击记录时手动插入 ID 字段值。我哪里错了?

【问题讨论】:

无法使用此信息复制您的错误。表单是否基于需要 ID 作为参数的查询?试着提出你的问题mcve 简单地尝试 Me.ID_Prodotto 。添加一个 debug.print ID 以查看它被设置为什么值。您打开的表单上有 ID_Prodotto 吗? 我要打开的表单是由访问向导生成的,它是一个引用表格并逐条恢复数据的表单。表格中当然有 ID_Prodotto 参数,也有表格。事实上,如果我在访问要求我这样做时手动写入一个值,那么一切正常。 【参考方案1】:

应该是:

Id = Me!ID_Prodotto.Value

或者,如果您希望使用第 n 列中的值(0 是第一个):

Id = Me!ID_Prodotto.Column(n)

【讨论】:

那么您可能没有 ID_Prodotto 控件或字段。

以上是关于访问 - 使用 where 子句打开表单的主要内容,如果未能解决你的问题,请参考以下文章

MS Access 2007 OpenForm 方法,无法获取 where 子句以产生正确的结果

从搜索表单动态构建 WHERE 子句时如何防止 SQL 注入?

如何通过文本框过滤数据表视图中的子表单? #likeoperator #where 子句

使用更改的 WHERE 子句访问直通查询

Laravel 4:如何在 where 子句中使用访问器

使用多个 WHERE 子句和 GROUP BY 销售人员访问 SQL、聚合总和