我在宏(使用Excel VBA)中运行以下查询到Access数据库。只返回1条记录时效果很好。我已经知道可以返回多条记录。
我坚持尝试识别何时有多条记录,因此我可以将每条附加记录添加到工作表中。一旦我知道有多条记录,我就会写第一条记录然后将行号(x)递增1来写第二条,第三条等。
我之前没有遇到这种情况所以我不确定(1)如何确定是否有多个记录和(2)如何写第二条记录。第二个记录中的第一个字段是Recordset.Fields(11)吗?
感谢您的帮助..........
Dim Recordset As ADODB.Recordset
Set Recordset = New ADODB.Recordset
vDataBase = "Y:\Groups\Corporate Accounting\AutoMonarch\ Translate\Titles.mdb"
ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= '" & vDataBase & "';Persist Security Info=False"
vSql = ""
vSql = "Select bo_id, buyers_order_date, mileage, contact_name, contact_phone, cust_legal_name, address, city, state, zip, country, location_phone from buyerinfo where unit = '" & vArrUnit(q) & "'"
Call Recordset.Open(vSql, ConnectionString, adOpenForwardOnly, adLockReadOnly, CommandTypeEnum.adCmdText)
If Recordset.BOF And Recordset.EOF Then
' do something to indicate no records returned
Else
Cells(x, 4) = Recordset.Fields(1).Value
Cells(x, 5) = Recordset.Fields(2).Value
....
Cells(x, 12) = Recordset.Fields(10).Value
End If
答案 0 :(得分:0)
抱歉,这听起来像是一个奇怪的设置。你可以运行'查找重复查询向导'吗?也许你可以在Excel中做一个Countif,如果这是你的问题。
https://www.extendoffice.com/documents/excel/1499-count-duplicate-values-in-column.html