我正在尝试使用recordset.Find "name =" & me.txtbox.value。查找特定的记录/行。我可以很容易地做到这一点,如果我完全按照上面的搜索,只使用1个变量。
我试着做下面的工作,因为我发现其他人已经在网上做了这个。traceRecordset.Find "[PART_ID]=" & Me.txtSection.Value & " AND " & "[ID]= " & Me.txtCopy.Value
这是下面的代码行,此错误不会抛出在这一行Me.txtLastscrap = traceRecordset.Fields("APROPERTY_2")上
这将使我在填充具有特定值的文本框时具有更大的灵活性。似乎其他人在没有任何问题的情况下试图做到这一点。但是,我收到以下错误。
争论是错误的,超出了可接受的范围,或者相互冲突。
有什么想法吗?
注意:如果我做了traceRecordset.Find "[PART_ID]=" & Me.txtSection.Value,它可以工作,它也可以与traceRecordset.Find "[ID]= " & Me.txtCopy.Value一起工作,因此它们各自正确地工作。只有在一起使用时,它才会引发错误。如果这些类型是问题所在,那么当独立使用时,其中一个类型将不能工作,对吗?
NOTE2:这是我的adodb连接线。不确定这是否有任何影响
Dim dbTrace As ADODB.Connection Dim traceRecordset As New ADODB.Recordset
Set dbTrace = CurrentProject.Connection traceRecordset.Open "Select * from TRACE", _ dbTrace, adOpenKeyset, adLockOptimistic, adCmdText
发布于 2017-05-18 02:11:54
根据ADO Recordset.Find文档的说法
只能在标准中指定单列名称。此方法不支持多列搜索。。 ..。 条件:包含指定列名、比较运算符和在搜索中使用的值的语句的字符串值。
由于您已经在Access项目中编写了VBA,所以DAO的工作性能与Access 2016一样好,因此DAO记录集类型仍然是表单和QueryDef对象使用的默认类型。DAO记录集支持FindFirst、FindNext、FindPrevious和FindLast,它们都支持多列查询.这个单一的特性可能不值得从ADO切换,但是如果您所做的只是打开、搜索和枚举记录集行,那么ADO并没有提供任何显著的好处。
https://stackoverflow.com/questions/44033214
复制相似问题