Foxtable(狐表)用户栏目专家坐堂 → 导入判断


  共有7272人关注过本帖树形打印复制链接

主题:导入判断

帅哥哟,离线,有人找我吗?
lxh
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:21 积分:181 威望:0 精华:0 注册:2013/2/27 10:57:00
导入判断  发帖心情 Post By:2013/2/27 13:37:00 [只看该作者]

新手求解:有两个表,一个是物料基础信息表,一个是产成品入库汇总表,其中产成品入库汇总表通过窗口导入按钮导入数据时,要求导入的是‘物料基础信息表’中已存在的‘物料编号’和‘物料名称’才可以导入,作了三个按钮进行测试,求代码:

                   1:导入前判断按钮:物料基础信息表中存在的才可以导入,不存在的不能导入,查阅了帮助,无相关案例,是否可以做得到?求代码?

                    2:导入EXCEL数据:能不能通过datacolchanging事件触发的时候,判断并提示‘此物料编号’在‘物料基础信息表’不存在,不能导入,目前用的是merge,并无相关判断功能,求代码?

                   若第一点和第二点都没有办法,退而求次之,用第三点

                   3:导入后检查按钮: 先无条件合并,然后再删除‘物料基础信息表’中不存在的相应物料编号的行或数据,求代码

请高手指点,真诚地谢谢!谢谢!

               

      

 

       

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:导入判断.foxdb

[此贴子已经被作者于2013-2-27 13:38:56编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/2/27 14:05:00 [只看该作者]

编码合并excel文件,这样就可以进行条件判断:

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

 

例如:

Dim Book As New XLS.Book("c:\test\订单.xls")
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Tables("订单").StopRedraw()
Dim nms() As String = {"产品","客户","雇员","单价","折扣","数量","日期"}
For n As Integer = 1 To Sheet.Rows.Count -1
    If DataTables("订单").Find("产品 = '" & Sheet(r,0).Value & "'") IsNot Nothing Then
        Dim r As Row = Tables("订单").AddNew()
        For m As Integer = 0 To nms.Length - 1
            r(nms(m)) = Sheet(n,m).Value
        Next
    End If
Next
Tables("订单").ResumeRedraw()


 回到顶部
帅哥哟,离线,有人找我吗?
lxh
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:21 积分:181 威望:0 精华:0 注册:2013/2/27 10:57:00
  发帖心情 Post By:2013/2/27 15:21:00 [只看该作者]

 提示出错

 


图片点击可在新窗口打开查看此主题相关图片如下:捕获1.jpg
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/2/27 15:33:00 [只看该作者]

Dim Book As New XLS.Book("c:\test\订单.xls")
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Tables("订单").StopRedraw()
Dim nms() As String = {"产品","客户","雇员","单价","折扣","数量","日期"}
For n As Integer = 1 To Sheet.Rows.Count -1
    If DataTables("订单").Find("产品 = '" & Sheet(n,0).Value & "'") IsNot Nothing Then
        Dim r As Row = Tables("订单").AddNew()
        For m As Integer = 0 To nms.Length - 1
            r(nms(m)) = Sheet(n,m).Value
        Next
    End If
Next
Tables("订单").ResumeRedraw()

 回到顶部
帅哥哟,离线,有人找我吗?
lxh
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:21 积分:181 威望:0 精华:0 注册:2013/2/27 10:57:00
  发帖心情 Post By:2013/2/27 16:03:00 [只看该作者]

这是最好的办法吗?还有没有其它可解决的办法?


 回到顶部
帅哥哟,离线,有人找我吗?
don
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1812 积分:12993 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2013/2/27 16:04:00 [只看该作者]

Merger即可:

Dim Bm,flt As String
flt = DataTables("物料基础信息表").GetComboListString("物料编号","","物料编号")
flt =  "物料编号 In ('" & flt.Replace("|","','") & "')"     '物料编号存在于物料基础信息表的
Bm = "要合并Excel的表名" & "$"

Dim mg As New Merger
mg.SourcePath = "D:\Text.xls"
mg.Format = "excel" '指定格式
mg.SourceTableName = Bm   '指定要合并的表
mg.DataTableName = "产成品入库汇总表"     '指定接收数据的表
mg.Filter = flt '指定合并条件
mg.Merge() '开始合
[此贴子已经被作者于2013-2-27 16:06:52编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
lxh
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:21 积分:181 威望:0 精华:0 注册:2013/2/27 10:57:00
  发帖心情 Post By:2013/2/27 16:21:00 [只看该作者]

呵呵,六楼的方法可行,谢谢

 


 回到顶部
帅哥哟,离线,有人找我吗?
lxh
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:21 积分:181 威望:0 精华:0 注册:2013/2/27 10:57:00
  发帖心情 Post By:2013/2/27 16:30:00 [只看该作者]

再请教六楼,希望合并时出现一个打开文件对话框(就是不指定绝对路径),自由选择指定的文件,应当如何修改,谢谢

 回到顶部
帅哥哟,离线,有人找我吗?
don
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1812 积分:12993 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2013/2/27 16:37:00 [只看该作者]

帮助中有,在帮助文件中搜索[ 常用对话框 ]

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/2/27 16:52:00 [只看该作者]

看看这里的示例二:

 

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

 


 回到顶部
总数 15 1 2 下一页