旧话重提:一个有50余字段的ACCESS数据表导出为一个DBASE3文件,发生错误,请斑竹等指教!

OLD_VB_FAN 2001-06-07 10:40:00
在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

__________________________________________________________________________
不知各位有没有什么好的方法解决?
@_@
...全文
321 28 打赏 收藏 转发到动态 举报
写回复
用AI写文章
28 条回复
切换为时间正序
请发表友善的回复…
发表回复
huanggx 2001-06-13
  • 打赏
  • 举报
回复
太多了!谢谢!
OLD_VB_FAN 2001-06-13
  • 打赏
  • 举报
回复
给你130分,满意嘛?我也是B龄不足两年的新手啊
真的谢谢你!
huanggx 2001-06-13
  • 打赏
  • 举报
回复
我的奖品呢?什么时候发奖呢?:)
huanggx 2001-06-13
  • 打赏
  • 举报
回复
其实我是新手(对于windows或者VB来说)。相互学习吧。在access和sql server中确实有一些搅人的问题。尽管都是微软的东西,但却总是不一致。尤其是从access升级到sql server。sql 语句常常需要修改,而且往往是不起眼的地方造成错误,很难找到。
OLD_VB_FAN 2001-06-13
  • 打赏
  • 举报
回复
哪里,我也是刚知道呀!
huanggx 2001-06-13
  • 打赏
  • 举报
回复
原来你是在考试吗?嘻嘻…………该不是招聘人马吧?
OLD_VB_FAN 2001-06-13
  • 打赏
  • 举报
回复
huanggx(大侠)“中奖”了,恭喜你!你答对了!本题很大原因是因此而造成的!谢谢!!!
huanggx 2001-06-12
  • 打赏
  • 举报
回复
在access中,应当把字段名和表名用[]括起来,不要用单引号
OLD_VB_FAN 2001-06-12
  • 打赏
  • 举报
回复
各位,还有人来吗?
OLD_VB_FAN 2001-06-12
  • 打赏
  • 举报
回复
wyo(欧亚大陆桥),又缺银子了?
会给你分的,呵呵.......
wyo 2001-06-12
  • 打赏
  • 举报
回复
我不会,我混分
1come 2001-06-12
  • 打赏
  • 举报
回复
我也遇到过这类问题
操作 FOX 2.5,2.6 不出错
到 2.0,3.0 就不行
估价是 Jet 引擎本身的问题
因为我用 Delphi 的 DBE 就没有出现问题
哎!
OLD_VB_FAN 2001-06-12
  • 打赏
  • 举报
回复
*********************************
*********************************
该问题进入倒计时阶段,明天12点以前删除,进入参与讨论者均有分!!!
*********************************
*********************************
OLD_VB_FAN 2001-06-10
  • 打赏
  • 举报
回复
OLD_VB_FAN 2001-06-10
  • 打赏
  • 举报
回复
OLD_VB_FAN 2001-06-09
  • 打赏
  • 举报
回复
兄弟,问题没看清楚,就怎么下结论是哪个字段出问题了?是表字段太多!一个记录的内容超过了2K,所以导出时出错!!!
我是问解决方法!!!
@_@
OLD_VB_FAN 2001-06-09
  • 打赏
  • 举报
回复
@_@???
seesi 2001-06-09
  • 打赏
  • 举报
回复
这么老,没招了
joeking 2001-06-09
  • 打赏
  • 举报
回复
我想你写了这么长一堆,真是没有兴趣仔细看完(也没有劲,呵呵,我怕DBASE!)不过,我想,你可以这样试试,把ACCESS的表拆了,看看到底是哪个字段导入时出问题,然后是不是好分析一点呢?
xxfeiyu 2001-06-08
  • 打赏
  • 举报
回复
DBF字段名最长为20字节
你的中文字段名有长过10个中文字符的,改短点就行了
如'全年若不防治产量损失(吨)' 就太长了!
加载更多回复(8)

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧