我正在编辑我的前任在工作中创建的数据库。我正在创建一个“帮助程序”文本框,该文本框将从同一数据库中的表中提取值。
问题是,在我的Dlookup中,我正在搜索的列的名称也是包含条件的表单上文本框的名称。要更改我的文本框的名称,我将不得不更新许多我未创建的代码。有没有解决的办法?
txtgreigeweight = Application.DLookup("[GreigeWeightAvg]", "dbo_TuftingGreigeData", "GreigeRoll# = GreigeRoll#")
我希望输出是表中的“ GreigeWeightAvg”值。
输出为:
“查询表达式'GreigeRoll#= GreigeRoll#'中的语法错误(缺少运算符)。”
尝试连接值:
txtgreigeweight = Application.DLookup("[GreigeWeightAvg]", "dbo_TuftingGreigeData", "[GreigeRoll#] = " & Me![GreigeRoll#].Value & "")
或它的文本:
txtgreigeweight = Application.DLookup("[GreigeWeightAvg]", "dbo_TuftingGreigeData", "[GreigeRoll#] = '" & Me![GreigeRoll#].Value & "'")
在选择标准中包括标准控件名称,例如:
txtgreigeweight = Application.DLookup("[GreigeWeightAvg]", "dbo_TuftingGreigeData", "GreigeRoll# = [Forms]![YourFormName]![GreigeRoll#]")
适当地更改YourFormName
。
首先停止在“名称”字段中使用特殊字符...有些人可能会认为它提高了可读性。但是,它不会...几乎是解决问题的方法。所以...只要澄清一下GreigeRoll是什么样的价值如果它的数字(例如1,21,21321),则应具有:
txtgreigeweight = DLookup("[GreigeWeightAvg]", "dbo_TuftingGreigeData", "GreigeRoll# =" & [GreigeRoll#])
另一方面是字母数字(例如“ A12”,“ BigGreige”,“ 1stG”),则应为:
txtgreigeweight = DLookup("[GreigeWeightAvg]", "dbo_TuftingGreigeData", "GreigeRoll# ='" & [GreigeRoll#] & "'")