【问题标题】:Runtime 3075 Syntax error运行时 3075 语法错误
【发布时间】:2013-08-24 21:36:11
【问题描述】:

我正在尝试在 access 2010 中构建一个类似 Northwind 风格的排序系统,但稍微不那么复杂!当从组合框中选择产品时,我需要将产品的价格从库存中带到订单详细信息子表单中,因此作为新手,我的代码无法正常工作...

Private Sub Product_AfterUpdate()
Dim PriceX As Currency, UnitX As Currency
PriceX = DLookup("Unit Price", "ProductInventory", "[ProductInventory].[Product]=" & [Product].Value)
UnitX = DLookup("Unit", "ProductInventory", "[Product] =" & [Product].Value)
Unit_Price.Value = PriceX
Unit.Value = UnitX
End Sub

【问题讨论】:

  • 以后请详细说明错误信息。我们不像@HansUp那么聪明!
  • 当发布的答案解决了我的问题时,很容易变得慷慨。祝你 2016 年快乐。

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


【解决方案1】:

我怀疑错误消息的全文是“查询表达式'单价'中的语法错误(缺少运算符)。”

您正在一个名为单价的字段中查找一个值。由于字段名称包含空格,请将其括在方括号中以消除错误。

PriceX = DLookup("[Unit Price]", "ProductInventory", "[Product]=" & [Product].Value)

如果您在该错误之后收到其他错误,请向我们提供错误消息的全文并指出您的代码中的哪一行触发了错误。

从您报告的当前错误来看,[Product] 似乎是文本而不是数字数据类型。因此,请在 DLookup 表达式最后一部分的值周围添加单引号。

PriceX = DLookup("[Unit Price]", "ProductInventory", "[Product]='" & [Product].Value & "'")

【讨论】:

  • 嗨 HansUp,非常感谢您的快速回复,我已将您建议的代码放入其中并显示“运行时错误'3075':查询表达式中的语法错误(缺少运算符)'[ Product]=Eggs "(鸡蛋是我在组合框中选择的库存中的示例产品之一)
  • 试试我刚刚添加到答案中的DLookup
  • 非常感谢您的耐心和帮助,一切正常!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多