以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助] 如何从excel合并数据到SQL外部表的逻辑列?[已解决]  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=93708)

--  作者:tyconlance
--  发布时间:2016/12/5 13:18:00
--  [求助] 如何从excel合并数据到SQL外部表的逻辑列?[已解决]
老师下午好

我用的是SQL 数据源,有几十张外部表,有不少表格有逻辑列,excel表里用 0,1 或是 False, true,合并进来时都提示出错,不知道问题出在哪里?
如果继续用下面的办法,还有没有办法一次性合并进来?
P.S 
在另外一个话题里有讨论过,因为excel数据类型比较复杂,用老师提供的各种办法都试过,只有下面这个方法比较适合:
这些外部表的列位置和列数都已经固定,以便做成多个模板批量合并及导出
代码也是通用的,合并时自动扫描当前table和excel的sheet 的行数和列数状态,然后用Sheet(i,y).Text 或是Sheet(i,y).value 逐行逐列写入数据。
Tables(nm).Rows(x)(y) = Sheet(i,y).Text 

图片点击可在新窗口打开查看此主题相关图片如下:导出的逻辑列.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:合并进来时的错误提示.jpg
图片点击可在新窗口打开查看





           
[此贴子已经被作者于2016/12/5 21:40:54编辑过]

--  作者:有点蓝
--  发布时间:2016/12/5 14:19:00
--  
试试
If y=0 Then
    Tables(nm).Rows(x)(y) = iif(Sheet(i,y).Text = "1" OrElse Sheet(i,y).Text = "True",True,False)
Else
    Tables(nm).Rows(x)(y) = Sheet(i,y).Text
End If
[此贴子已经被作者于2016/12/5 14:19:26编辑过]

--  作者:tyconlance
--  发布时间:2016/12/5 21:40:00
--  
搞定了, 多谢老师