Просто чтобы добавить ответ CRice, BOR
- вот что требуется здесь.
Вот репродукция с использованием Jet 4.0, его поставщика OLE DB и ADO в коде VBA:
Sub TestBOR()
On Error Resume Next
Kill Environ$("temp") & "\DropMe.mdb"
On Error GoTo 0
Dim cat
Set cat = CreateObject("ADOX.Catalog")
With cat
.Create _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & _
Environ$("temp") & "\DropMe.mdb"
With .ActiveConnection
Dim Sql As String
Sql = "SELECT 1 BOR 2;"
.Execute Sql
Dim rs
Set rs = .Execute(Sql)
MsgBox rs.GetString
End With
Set .ActiveConnection = Nothing
End With
End Sub
Результат равен 3, как и ожидалось.
Если вы хотите сделать это с помощью пользовательского интерфейса Access, вам нужно убедиться, что он находится в ANSI-92 Query Mode . Если вы хотите сделать это с помощью DAO ... вы не можете! DAO всегда использует ANSI-89 Query Mode. Используйте ADO, потому что он всегда использует ANSI-92 Query Mode. К счастью, вы можете смешивать код ADO с кодом DAO в одном проекте.