在Access中通过VBA运行查询时,我一直收到运行时错误'2465'。
错误:Microsoft Access无法找到表达式中引用的字段“| 1”
我似乎无法找到这个问题发生的地方。下面是我目前用来重新查询表单的VBA代码。
Dim Test As String
Test = "*" & Combo161.Value
Dim strSQL As String
Dim strWhere As String
strWhere = (Chr(34) + Test + (Chr(34)))
'MsgBox (strWhere)
strSQL = "SELECT * FROM Test_Query WHERE TestID " & strWhere
'MsgBox (strSQL)
[Form_Test (subform)].RecordSource = strSQL
[Form_Test (subform)].Requery
TestID
有一个文本字段格式,而不是数字。这有关系吗?
答案 0 :(得分:2)
我有同样的错误。我错过的是字符串周围的双引号。这个错误有点误导。检查语法等,你会发现问题与逗号或双引号等有关。
答案 1 :(得分:1)
尝试:
Dim Test As String
Test = "*" & Combo161.Value
Dim strSQL As String
Dim strWhere As String
strWhere = (Chr(34) & Test & (Chr(34)))
'MsgBox (strWhere)
strSQL = "SELECT * FROM Test_Query WHERE TestID Like " & strWhere
'To test
'Debug.print strSQL
如果这是一个子表单,那么:
Me.[Form_Test (subform)].Form.RecordSource = strSQL
''Not needed when changing record source
''Me.[Form_Test (subform)].Form.Requery
你没有等号/喜欢和VBA中的连接符是&amp ;,而不是+,使用+会导致空值问题,但在这种情况下,我认为问题是缺少的喜欢,那就是< / p>
TestID Like "*something"
您可以使用组合和链接字段控制子表单的内容:
答案 2 :(得分:0)
我刚刚解决了这个错误。我引用了子表单的源对象,而不是表单属性中给出的名称。