请问我用VB连接Access,以下语句执行时总提示"对象open的方法_Recordset失败",这是怎么回事,同样语句打开其它数据库却没出错,整个程序就是在用到跟数据库"position"有关时就出错.
If RsMoveTitle.State = adStateClosed Then
    RsMoveTitle.Open "position", DBCON, adOpenKeyset, adLockOptimistic, adCmdTable
End If

解决方案 »

  1.   

    如果是表名,试试:
    If RsMoveTitle.State = adStateClosed Then 
        RsMoveTitle.Open "[position]", DBCON, adOpenKeyset, adLockOptimistic, adCmdTable 
    End If
      

  2.   

    position应该是数据表,不能是数据库名
      

  3.   

    position是access保留字,最好不要用作表名或字段名
      

  4.   

    Public   gsOdbcName   As   String    
    Public   ADOsdb   As   new   ADODB.Connection          gsOdbcName   =   "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data   Source= "   _  
                    &   app.path   &   "\db.mdb "   &   "; "  
             
    With   ADOsdb  
                    If   .State    <>   adStateOpen   Then  
                            .CursorLocation   =   adUseClient  
                            .ConnectionString   =   gsOdbcName  
                            .Open  
                    End   If  
    End   With  
      

  5.   

    "position"是我用到的数据库名称