以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  请教一个问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=77505)

--  作者:sf020cf
--  发布时间:2015/11/19 14:06:00
--  请教一个问题

在导入时 遇到数据格式不对的(会报错) 怎样跳过这个报错 继续导 完成后提示正确导入多少条 错误多少条

(能不能把报错的数据在临时表中显示出来 修改完成后再重新导入)

是否有过范本或者参考 谢谢

 

 


--  作者:大红袍
--  发布时间:2015/11/19 14:23:00
--  
如果是excel,要用vba读写导入的方式,这样才能坚持数据类型是否匹配,如果速度要快就用二维数组,如

 

http://foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=65686&skin=0


--  作者:sf020cf
--  发布时间:2015/11/19 14:46:00
--  

这个我明白 就是想跳过报错 完成后才集体显示哪些数据有问题 假如 我有300条数据要导入 其中二十条有错 能否不用提示二十次 完成导入280条 有问题的20条集体显示 就算不能改 也要知道是哪条数据出错吧

像我刚才有一条报字符“”不能转换为双精度小数的 在excel中搜不到是哪条  两万多条数据怎么找


--  作者:大红袍
--  发布时间:2015/11/19 15:33:00
--  

那就判断一下,再处理。比如

 

If 单元格.Value = "" Then

    Tables("临时表").AddNew

Else

    Tables("正常表").AddNew

End If


--  作者:sf020cf
--  发布时间:2015/11/19 15:58:00
--  

有没有catch错误提示的功能 跳过 不用一出现错误就要按确定 


--  作者:大红袍
--  发布时间:2015/11/19 16:18:00
--  
先判断,再赋值。如果不满足的,就添加到临时表。很简单的逻辑啊。
--  作者:sf020cf
--  发布时间:2015/11/19 16:35:00
--  


图片点击可在新窗口打开查看此主题相关图片如下:xzu$wm{o%b5e1gywy9veqox.png
图片点击可在新窗口打开查看
做成这样的效果 也是针对excel的表格 有没有好的建议 能自动识别错误类型 比如

If 单元格.Value = "" Then

    Tables("临时表").AddNew

Else

    Tables("正常表").AddNew

End If

只能针对单元格.value是“”这种格式的错误

 


--  作者:大红袍
--  发布时间:2015/11/19 16:42:00
--  

呃,你把所有的可能,都列出来不就行了?

 

If 某单元格.Value = "" Then

 

End If

 

If 某单元格.Value.Length <> 18 Then

 

End If


--  作者:sf020cf
--  发布时间:2015/11/19 16:58:00
--  

我有四行数据需要注意 一行日期时间类型的 三行双精度小数的

像日期的有不是合法的OleAut日期的

小数有“”不能转换为double

出错的数据类型多种多样 能不能直接不管什么错 错了扔到临时表 对的导入到数据表

我上传的图片就是这样的 19条数据 18条错了 最后才统一体现


--  作者:大红袍
--  发布时间:2015/11/19 17:06:00
--  

测试能否转换呗

 

http://www.foxtable.com/help/topics/0324.htm