建立一个ADO SQL语句:"SELECT * INTO [dBase III;DATABASE=APP.PATH" & "\].文件名 FROM 表名"
zhoupq , 你好﹐可否具體一些.
SQL语句:"SELECT * INTO [dBase III;DATABASE=APP.PATH" & "\].文件名 FROM 表名"???这样的SQL语句是非法的吧,并不能被SQL-Server执行!简单的方法是将建立一个通用的DBF表结构,用两个ADO recordset同时连接SQL表和DBF表,通过遍历的方式,复制表记录。
在 Form 上放置一个 CommandButton,加入 Microsoft DAO 3.51 Object Library,我们将使用 Biblio.mdb 的 authors Table,在 Command1_Click 中加入以下程序码:Dim db As Database Set db = Workspaces(0).OpenDatabase(App.Path & "\biblio.mdb") 'db.execute "SELECT Table.Fields INTO [dbms type;DATABASE=path].[unqualified filename] FROM [Table or Tables]"在以上程序中,db.execute 指令行之指令依资料库或文件的种类说明如下:DBase文件SQL 语法:SELECT * INTO [dBase III;DATABASE=资料库路径].[dbase文件名称] FROM [authors] db.Execute "SELECT * INTO [dBase III;DATABASE=C:\test].[authors.DBF] FROM [authors]" 注意事项: 1、authors.DBF 事先不可存在,否则会产生错误! 2、若您没有 Dbase,您可以使用 Access 来连结这个 Table,以便观察结果!
Private Sub ExportBankData(ByVal strFile As String, rsPayroll As ADODB.Recordset) Dim cnDBF As ADODB.Connection Dim strConString As String Dim strPath As String Dim strSql As String
On Error GoTo Errorhandle If InStr(strFile, "\ ") > 0 Then strPath = Left(strFile, InStrRev(strFile, "\ ", -1, vbTextCompare) - 1) Else strPath = "C: " strFile = "C:\报盘.dbf " End If
SQL语句:"SELECT * INTO [dBase III;DATABASE=APP.PATH" & "\].文件名 FROM 表名"
Set db = Workspaces(0).OpenDatabase(App.Path & "\biblio.mdb")
'db.execute "SELECT Table.Fields INTO [dbms type;DATABASE=path].[unqualified filename] FROM [Table or Tables]"在以上程序中,db.execute 指令行之指令依资料库或文件的种类说明如下:DBase文件SQL 语法:SELECT * INTO [dBase III;DATABASE=资料库路径].[dbase文件名称] FROM [authors]
db.Execute "SELECT * INTO [dBase III;DATABASE=C:\test].[authors.DBF] FROM [authors]"
注意事项:
1、authors.DBF 事先不可存在,否则会产生错误!
2、若您没有 Dbase,您可以使用 Access 来连结这个 Table,以便观察结果!
strFile 是要导出的DBF文件名,rsPayroll 报盘数据
Private Sub ExportBankData(ByVal strFile As String, rsPayroll As ADODB.Recordset)
Dim cnDBF As ADODB.Connection
Dim strConString As String
Dim strPath As String
Dim strSql As String
On Error GoTo Errorhandle
If InStr(strFile, "\ ") > 0 Then
strPath = Left(strFile, InStrRev(strFile, "\ ", -1, vbTextCompare) - 1)
Else
strPath = "C: "
strFile = "C:\报盘.dbf "
End If
strConString = "Driver={Microsoft Visual FoxPro Driver}; " & _
"SourceType=DBF; " & _
"SourceDB= " & strPath & "; " & _
"Exclusive=YES; "
Set cnDBF = New ADODB.Connection
cnDBF.ConnectionString = strConString
cnDBF.Open
strSql = "CREATE TABLE [ " & strFile & "] " & _
"(帐号 char(20),金额 numeric(8,2),姓名 char(22),编号 char(30),摘要 char(20),TEMP char(1)) "
cnDBF.Execute strSql
Do While Not rsPayroll.EOF
strSql = "Insert into " & strFile & _
" Values(' " & Trim$(rsPayroll!hrsscount) & "', " & CStr(rsPayroll!hrssacm) & ",' " & _
Trim$(rsPayroll!hrsnam) & "','','','') "
cnDBF.Execute strSql
rsPayroll.MoveNext
Loop
cnDBF.Close
Set cnDBF = Nothing
Exit Sub
Errorhandle:
Set cnDBF = Nothing
Err.Raise Err.Number, Err.Source, Err.Description
End Sub