我已经尝试了所有我能想到的一切,为什么会出现此错误,但是我没有运气。我编写了一个类似的代码,该代码使用数值很好地引用了同一张表,但是在搜索文本时会遇到问题。错误代码表明缺少的运算符位于以下位置:[ExpendetureStore] = 'Lowe's
TotalCostTextBox = DSum("[ExpendetureCost]", "ProjectExpendetures", "[ExpendetureStore] = '" & Me.StoreNameCombo & "'")
答案 0 :(得分:2)
Lowe's
的名称中带有撇号。 Access查询引擎正在将撇号作为已编译的搜索字符串中的特殊字符(文本定界符)读取。如果您的数据包含撇号,一种处理方法是“转义”字符-使用Replace()函数在数据中将其加倍。这会强制Access将字符视为普通文本。
TotalCostTextBox = DSum("[ExpendetureCost]", "ProjectExpendetures", "[ExpendetureStore] = '" & Replace(Me.StoreNameCombo, "'", "''") & "'")
引号也会发生同样的情况,并且处理起来更具挑战性。注意引号之间的引号转义。
Replace("somevalue", """", """" & """")
或者使用Chr()函数可能更容易理解。
Replace("somevalue", Chr(34), Chr(34) & Chr(34))
侧面说明:支出是支出的错别字。