ADO受限表名称

问题描述 投票:0回答:1

我必须连接到名为“ 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

enter image description here

vba ms-access ado
1个回答
0
投票

使用表名打开记录集时传递adCmdTable常量:

objRecordsetraw.Open ggg, con, adOpenKeyset, adLockOptimistic + adCmdTable

ADO将为您自动将查询转换为SELECT * FROM [DATABASE]

IMO,您最好不要依赖它,并且如果使用adCmdTableDirect,则仅使用表名,这将导致不同类型的记录集。

© www.soinside.com 2019 - 2024. All rights reserved.