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的。
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的。
SELECT * FROM 表名
数据库的操作,学不学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
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","")
"SourceType=DBF;" & _
"SourceDB=" & App.Path & "\\FU.DBF;" & _
"Exclusive=No"改为:cnstr = "Driver={Microsoft Visual FoxPro Driver};" & _
"SourceType=DBF;" & _
"SourceDB=" & App.Path & _
"Exclusive=No"