Dlookup参考,其中要搜索的列的名称是我表单上文本框的名称

问题描述 投票:0回答:3

我正在编辑我的前任在工作中创建的数据库。我正在创建一个“帮助程序”文本框,该文本框将从同一数据库中的表中提取值。

问题是,在我的Dlookup中,我正在搜索的列的名称也是包含条件的表单上文本框的名称。要更改我的文本框的名称,我将不得不更新许多我未创建的代码。有没有解决的办法?

txtgreigeweight = Application.DLookup("[GreigeWeightAvg]", "dbo_TuftingGreigeData", "GreigeRoll# = GreigeRoll#")

我希望输出是表中的“ GreigeWeightAvg”值。

输出为:

“查询表达式'GreigeRoll#= GreigeRoll#'中的语法错误(缺少运算符)。”

access-vba
3个回答
0
投票

尝试连接值:

txtgreigeweight = Application.DLookup("[GreigeWeightAvg]", "dbo_TuftingGreigeData", "[GreigeRoll#] = " & Me![GreigeRoll#].Value & "")

或它的文本:

txtgreigeweight = Application.DLookup("[GreigeWeightAvg]", "dbo_TuftingGreigeData", "[GreigeRoll#] = '" & Me![GreigeRoll#].Value & "'")

0
投票

在选择标准中包括标准控件名称,例如:

txtgreigeweight = Application.DLookup("[GreigeWeightAvg]", "dbo_TuftingGreigeData", "GreigeRoll# = [Forms]![YourFormName]![GreigeRoll#]")

适当地更改YourFormName


0
投票

首先停止在“名称”字段中使用特殊字符...有些人可能会认为它提高了可读性。但是,它不会...几乎是解决问题的方法。所以...只要澄清一下GreigeRoll是什么样的价值如果它的数字(例如1,21,21321),则应具有:

txtgreigeweight = DLookup("[GreigeWeightAvg]", "dbo_TuftingGreigeData", "GreigeRoll# =" &  [GreigeRoll#])

另一方面是字母数字(例如“ A12”,“ BigGreige”,“ 1stG”),则应为:

txtgreigeweight = DLookup("[GreigeWeightAvg]", "dbo_TuftingGreigeData", "GreigeRoll# ='" &  [GreigeRoll#] & "'")
© www.soinside.com 2019 - 2024. All rights reserved.