我必须连接到名为“ DATABASE的表,这似乎是不允许的。有没有不更改表名的解决方法?
Set con = New ADODB.Connection
con.CursorLocation = adUseClient
RawData = IIf(SelectedRawDromXL <> "", SelectedRawDromXL, SelectedRawFile1)
con.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & RawData & ";Jet OLEDB:Database Password="
Set objRecordsetraw = New ADODB.Recordset
ggg = "DATABASE"
objRecordsetraw.Open ggg, con, adOpenKeyset, adLockOptimistic
使用表名打开记录集时传递adCmdTable
常量:
objRecordsetraw.Open ggg, con, adOpenKeyset, adLockOptimistic + adCmdTable
ADO将为您自动将查询转换为SELECT * FROM [DATABASE]
。
IMO,您最好不要依赖它,并且如果使用adCmdTableDirect
,则仅使用表名,这将导致不同类型的记录集。