旧话重提:一个有50余字段的ACCESS数据表导出为一个DBASE3文件,发生错误,请斑竹等指教!
在VB中导出ACCESS表到*.DBF(DBaseIII、IV、V以及FOXPRO2.0)时发生错误,出现信息为:
“实时错误'3010',字段将不能写入记录中”
另外,Microsoft Jet错误信息引用提示如下:
字段不能存入记录中。(错误 3016)
试图导入或粘贴太大的字段。请考虑将字段拆分成较小的区块,然后将数据导入或粘贴至多个字段或改变字段的数据类型。
记录的长度限制在 2K 以下,但不包括 Memo 数据类型 和 OLE Object 数据类型 字段
注:使用同样的方法导出到FOXPRO2.5、2.6、3.0时不会发生上述错误提示,对于字段少于30的表也可顺利导出。
部分代码公示于下,请高手指点迷津,分数可再加哟!!!!!!!!!
_____________________________________
Dim db As Database
Set db = Workspaces(0).OpenDatabase(strDBFileName)
Dim OutTable As String
Dim strSql As String
Dim strExistFile As String
Dim dbfSQL As String
Dim AS1 As String
Dim AS2 As String
Dim AS3 As String
.......
AS1 = "站名 as ZD1, 年份 as ZD2, '二代若不防治产量损失率%' as ZD3, '二代若不防治产值损失率%' as ZD4,'二代若不防治产量损失(吨)' as ZD5,'二代若不防治产值损失(万元)' as ZD6,'二代防治换回产量损失率%' as ZD7,'二代防治换回产值损失率%' as ZD8,'二代防治换回产量损失(吨)' as ZD9,'二代防治换回产值损失(万元)' as ZD10, '二代治后仍有产量损失率%' as ZD11,'二代治后仍有产值损失率%' as ZD12, '二代治后仍有产量损失(吨)' as ZD13, '二代治后仍有产值损失(万元)' as ZD14, '三代若不防治产量损失率%' as ZD15, '三代若不防治产值损失率%' as ZD16, '三代若不防治产量损失(吨)' as ZD17,'三代若不防治产值损失(万元)' as ZD18, '三代防治换回产量损失率%' as ZD19, '三代防治换回产值损失率%' as ZD20,'三代防治换回产量损失(吨)' as ZD21, '三代防治换回产值损失(万元)' as ZD22, '三代治后仍有产量损失率%' as ZD23, "
AS2 = " '三代治后仍有产值损失率%' as ZD24,'三代治后仍有产量损失(吨)' as ZD25,'三代治后仍有产值损失(万元)' as ZD26,'四代若不防治产量损失率%' as ZD27,'四代若不防治产值损失率%' as ZD28,'四代若不防治产量损失(吨)' as ZD29,"
AS3 = " '四代若不防治产值损失(万元)' as ZD30, '四代防治换回产量损失率%' as ZD31,'四代防治换回产值损失率%' as ZD32,'四代防治换回产量损失(吨)' as ZD33,'四代防治换回产值损失(万元)' as ZD34,'四代治后仍有产量损失率%' as ZD35, '四代治后仍有产值损失率%' as ZD36, '四代治后仍有产量损失(吨)' as ZD37, '四代治后仍有产值损失(万元)' as ZD38, '全年若不防治产量损失率%' as ZD39, '全年若不防治产值损失率%' as ZD40, '全年若不防治产量损失(吨)' as ZD41, '全年若不防治产值损失(万元)' as ZD42, '全年防治换回产量损失率%' as ZD43, '全年防治换回产值损失率%' as ZD44,'全年防治换回产量损失(吨)' as ZD45,'全年防治换回产值损失(万元)' as ZD46, '全年治后仍有产量损失率%' as ZD47, '全年治后仍有产值损失率%' as ZD48, '全年治后仍有产量损失(吨)' as ZD49,'全年治后仍有产值损失(万元)' as ZD50 "
dbfSQL = AS1 + AS2 + AS3
OutTable = Tablename & ".dbf"
strExistFile = Dir(DatabaseName & "\" & OutTable)
If strExistFile <> "" Then Kill DatabaseName & "\" & OutTable
strSql = "SELECT " & dbfSQL & "INTO [dBase III; DATABASE=" & DatabaseName & "\" & "].[" & OutTable & "] FROM [" & Tablename & "]"
db.Execute strSql
MsgBox "数据已成功导出!", 64, "祝贺您"
db.Close
__________________________________________________________________________
不知各位有没有什么好的方法解决?
@_@