Foxtable(狐表)用户栏目专家坐堂 → [求助]关于表A从表B动态获取数据


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

主题:[求助]关于表A从表B动态获取数据

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


加好友 发短信
等级:二尾狐 帖子:550 积分:5021 威望:0 精华:0 注册:2017/4/20 11:08:00
[求助]关于表A从表B动态获取数据  发帖心情 Post By:2018/11/22 10:17:00 [只看该作者]

老师好!
现在有个需求,请帮做个按钮代码,谢谢!
1.现在有2个不同数据源的2个结构基本一样的表A和表B(表A在“现”数据源,表B在“原”数据源,表A和表B都有一列“单号”列,“原”数据源表B是另外文员在不断的录入数据)
2.现在要实现:在窗口做个按钮“从表B取数据”,实现每点击一次按钮“从表B取数据”,先判断表A“单号”列的(单号数据)如果在表B的“单号”列里是否存在,如果没有,就把表B“单号”列里的(单号数据)复制新增到表A“单号”列。(就是表A单号列数据要和表B“单号”列数据一样,但是都不能重复)
3.数据库是SQL数据库,表A和表B都都没有完全加载所有数据的
万分感谢!

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/22 10:21:00 [只看该作者]


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


加好友 发短信
等级:二尾狐 帖子:550 积分:5021 威望:0 精华:0 注册:2017/4/20 11:08:00
  发帖心情 Post By:2018/11/22 13:35:00 [只看该作者]

谢谢有点甜老师,早上问题根据帮助已经实现一半需求了,请麻烦再帮在现基础上做个优化:过滤条件后才复制新增:1.日期:从2018-01-01 00:00 开始的数据  2.状态为“未完成” 的数据,3.单号不重复的数据,万分感谢!
Dim cmd As New SQLCommand
Dim dt As DataTable
Dim sCols() As String = {"单号", "名称", "数量", "日期",“状态”}
Dim dCols() As String = {"单号", "名称", "订单数量", "日期", “状态”}
cmd.C 
cmd.CommandText = "SELECT * Fr om {表B}"
dt = cmd.ExecuteReader()
For Each dr As DataRow In dt.DataRows
    Dim nr As DataRow = DataTables("表A").AddNew()
    For i As Integer =0 To sCols.Length -1
        nr(dCols(i)) = dr(sCols(i))
    Next
Next
[此贴子已经被作者于2018/11/22 15:11:52编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/22 16:31:00 [只看该作者]

Dim dhs As String = DataTables("表A").sqlGetComboListString("单号").replace("|", "','")
cmd.CommandText = "SELECT * From {表B} as a where 日期 > #2018-01-01# and 状态='未完成' and 单号 not in ('" & dhs & "')"
dt = cmd.ExecuteReader()
For Each dr As DataRow In dt.DataRows
    Dim nr As DataRow = DataTables("表A").AddNew()
    For i As Integer =0 To sCols.Length -1
        nr(dCols(i)) = dr(sCols(i))
    Next
Next

 回到顶部