如果这样写是没有问题的
   Dim connConnection As ADODB.Connection
   Dim rsRecordSet As ADODB.Recordset
  
   Dim strProvider As String
   Dim strDataSource As String
   Dim strDataBaseName As String
   Dim strConnect As String
  
   strProvider = "Provider= Microsoft.Jet.OLEDB.4.0;"
   strDataSource = App.Path
   strDataBaseName = "\All.mdb;"
   strDataSource = "Data Source=" & strDataSource & strDataBaseName
   strConnect = strProvider & strDataSource
  
   Set connConnection = New ADODB.Connection
   connConnection.CursorLocation = adUseClient
   connConnection.Open strConnect
   Set rsRecordSet = New ADODB.Recordset
   rsRecordSet.CursorType = adOpenStatic
   rsRecordSet.CursorLocation = adUseClient
   rsRecordSet.LockType = adLockOptimistic
   rsRecordSet.Source = "Select * from friend where id = " & id
   rsRecordSet.ActiveConnection = connConnection
   rsRecordSet.Open
但把
   rsRecordSet.Source = "Select * from friend where id = " & id改成    rsRecordSet.Source = "Select * from friend where id = " & id & " and ( position = 1 or position = 2 )"再运行就出现类似 rsRecordSet open fields 失败 的信息 (在 rsRecordSet.Open 一句出错)sql语句在access 运行没有问题,谁能帮我看看难道adobc 不支持括号