Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim cnstr As String
cnstr = "Driver={Microsoft Visual FoxPro Driver};" & _
"SourceType=DBF;" & _
"SourceDB=" & App.Path & "\\FU.DBF;" & _
"Exclusive=No"
cn.Open cnstr
Set rs = cn.Execute("select * from FU.DBF")' 此句出错说是FU.DBF不存在
Set DataGrid1.DataSource = rs
DataGrid1.RefreshFU.DBF是打开了,但是无法加载到RS对象里面去,但求解决我的燃眉之急。分不够可以再加。找了一天资料了。无法确定FU.DBF是不是FoxPro的。

解决方案 »

  1.   

    select * from FU.DBF
    SELECT * FROM 表名
      

  2.   

    Set rs = cn.Execute("select * from 表")数据库中的表
      

  3.   

    以上的方法都已经试过了,没有用,因为没有学过Dbase和foxpro,所以不明白。顶一下先!
      

  4.   


    数据库的操作,学不学dbase foxpro都一样。  使用 oleDB -- odbc 的数据驱动,都转换成普通的 recordset 你自己也都说了,不能保证时 foxpro 类型的文件# DBF / FoxPro*  ODBC
     标准的连接字符串:
     "Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=c:\mydbpath;"
    *  OLE DB, OleDbConnection (.NET)
    标准的连接字符串
      "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\folder;Extended Properties=dBASE IV;User ID=Admin;Password="
    Select 的时候应该不要 .dbf
      
      

  5.   

    '标准函数'// -打开Dbf-
    Private Function OpenDbfRecs( _
        ByVal SQLDesc As String, ByVal DBFPath As String, ByVal Uid As String, ByVal Pwd As String _
    ) As Object
        On Error Resume Next
        Set OpenDbfRecs = CreateObject("Adodb.Recordset")
        Call OpenDbfRecs.Open(SQLDesc, "Provider=Msdasql;Persist Security Info=False;Driver={Microsoft dBase Driver (*.dbf)};Uid=" & Uid & ";Pwd=" & Pwd & ";DBQ=" & DBFPath, 1, 1, 1)
        Call Err.Clear
        DoEvents
    End Function'----------------------------------'使用方式
    set datagrid1.datasource=OpenDbfRecs("SELECT * FROM [TEST.DBF];","C:\","Admin","")
      

  6.   

    cnstr = "Driver={Microsoft Visual FoxPro Driver};" & _
    "SourceType=DBF;" & _
    "SourceDB=" & App.Path & "\\FU.DBF;" & _
    "Exclusive=No"改为:cnstr = "Driver={Microsoft Visual FoxPro Driver};" & _
    "SourceType=DBF;" & _
    "SourceDB=" & App.Path & _
    "Exclusive=No"