第1个问题: strConString = "Driver={Microsoft dBASE Driver (*.dbf)};" & _
"DriverID=277;" & _
"Dbq=" & strPath 这种定义 FOXPRO 6.0 表的 链接 稳不稳定
好象我经常一会儿会出错, 一会儿又不会.第2个问题: 从 SQL 导出表 至 Foxpro 表
在程序中 涉及 Foxpro 自身有 D (日期型) 、 N (整型) 、C (字符型) <如果只有字符时不会出错,能否给源码-_->
导回我用 INSERT INTO 时
............................................
系统提示如下:
实时错误 '-2147217913 (80040e07)'
[Microsoft ] [ODBC dBase Driver] 标准表达式中数据类型不匹配。 导出失败! 第1个问题10分,第2个问题40分,问题解决马上给分^_^
在线等....................
"DriverID=277;" & _
"Dbq=" & strPath 这种定义 FOXPRO 6.0 表的 链接 稳不稳定
好象我经常一会儿会出错, 一会儿又不会.第2个问题: 从 SQL 导出表 至 Foxpro 表
在程序中 涉及 Foxpro 自身有 D (日期型) 、 N (整型) 、C (字符型) <如果只有字符时不会出错,能否给源码-_->
导回我用 INSERT INTO 时
............................................
系统提示如下:
实时错误 '-2147217913 (80040e07)'
[Microsoft ] [ODBC dBase Driver] 标准表达式中数据类型不匹配。 导出失败! 第1个问题10分,第2个问题40分,问题解决马上给分^_^
在线等....................
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
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strPath & ";Extended Properties=dBASE 5.0;Persist Security Info=False"2.
Dim rsSql As New ADODB.Recordset
Dim rsDbf As New ADODB.Recordset
Dim cnSql As New ADODB.Connection
Dim cnDbf As New ADODB.ConnectioncnDbf.Execute "create table test2(field1 int,field2 varchar(10),...)" '--创建一个与源表结构一样的表
cnSql.Open "...."
rsSql.Open "select * from test1", cnSql
rsDbf.Open "test2", cnDbf
While Not rsSql.EOF
rsDbf.AddNew
rsDbf!field1 = rsSql!field1
rsDbf!field2 = rsSql!field2 - -可在此将rsSql!field2的类型转换后赋值
。
。
。
rsDbf.Update
rsSql.MoveNext
Loop
rsDbf.Close
rsSql.Close
cnDbf.Close
cnSql.Close
Set rsDbf = Nothing
Set rsSql = Nothing
Set cnDbf = Nothing
Set cnSql = Nothing
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strPath & ";Extended Properties=dBASE 5.0;Persist Security Info=False"2.
Dim rsSql As New ADODB.Recordset
Dim rsDbf As New ADODB.Recordset
Dim cnSql As New ADODB.Connection
Dim cnDbf As New ADODB.ConnectioncnDbf.Execute "create table test2(field1 int,field2 varchar(10),...)" '--创建一个与源表结构一样的表
cnSql.Open "...."
rsSql.Open "select * from test1", cnSql
rsDbf.Open "test2", cnDbf
While Not rsSql.EOF
rsDbf.AddNew
rsDbf!field1 = rsSql!field1
rsDbf!field2 = rsSql!field2 - -可在此将rsSql!field2的类型转换后赋值
。
。
。
rsDbf.Update
rsSql.MoveNext
Loop
rsDbf.Close
rsSql.Close
cnDbf.Close
cnSql.Close
Set rsDbf = Nothing
Set rsSql = Nothing
Set cnDbf = Nothing
Set cnSql = Nothing