以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 【新手教程】狐步系列一--从两个表的某一列分别获取不重复数据,合并去重后写入某张表 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=23248) |
-- 作者:lichenwudi -- 发布时间:2012/9/6 18:30:00 -- 【新手教程】狐步系列一--从两个表的某一列分别获取不重复数据,合并去重后写入某张表 狐步教程一从两个表的某一列分别获取不重复数据,合并去重后写入某张表 我作为一个初学者现在在开发自己应用的仓库管理软件 这个过程中有很多疑问也有很多收获,总的来说取之于众高手,服务于大众,从现在起,会将我开发过程中用到的实例 以详细教程的方式 发布上来,共同成长 下面这段代码特别感谢 狐狸爸爸 朱版 水木情缘 寒寻以及其他在这个过程中帮助了我的朋友们 感谢曹版 Randboy等人的更正 \'定义 Dim Customers As List(Of String) Dim Customers2 As List(Of String) Dim drs As List(Of DataRow) \'分别从2张表获取不重复的数据 Customers = DataTables("坯布进仓表").GetUniqueValues("[产品] <> \'\'", "产品") Customers2 = DataTables("产品进仓表").GetUniqueValues("[品种] <> \'\'", "品种") \'将第一组数据中不存在第二组中的数据加入第二组(合并去重) For Each Customer As String In customers \'遍历数组customers 内的每一个数据 customer If not Customers2.contains(Customer) Then \'如果Customer不包含在customer2里面 Customers2.Add(Customer) \'customer加入数组customer2 End If Next \'开始写入 先判断行数够不够写入第二组数据 不够一次性加够 If DataTables("实验").DataRows.count <Customers2.count Then \'判断当前表的行数够不够 DataTables("实验").AddNew(Customers2.count-DataTables("实验").dataRows.count ) \'如果不够就一次性加够 行数差额 End If \'将第二组数据写入相应的表相应的列 For i As Integer = 0 To Customers2.Count -1 \'从第一行开始输入 DataTables("实验").DataRows(i)("第五列") =Customers2(i) \'写入列的对应行与Customers2数组对应项的值 Next \'保存数据 DataTables("实验").save() [此贴子已经被作者于2012-9-7 13:43:58编辑过]
|
-- 作者:czy -- 发布时间:2012/9/6 20:22:00 -- 应该有问题吧? 我感觉有逻辑问题,既然实验表总行数少于Customers2集合数,还用总行数去减集合数再增加行,而此时这个值是负数,怎么可能增加呢? |
-- 作者:RandyBoy -- 发布时间:2012/9/7 8:42:00 -- \'开始写入 先判断行数够不够写入第二组数据 不够一次性加够
dim cnts as integer = Customers2.count - DataTables("实验").DataRows.count
If cnts > 0 Then \'判断当前表的行数够不够
DataTables("实验").AddNew(cnts) \'如果不够就一次性加够行数差额
End If
|
-- 作者:lichenwudi -- 发布时间:2012/9/7 13:31:00 -- [此贴子已经被作者于2012-9-7 13:43:10编辑过]
|
-- 作者:lichenwudi -- 发布时间:2012/9/7 13:39:00 -- 经测试 确实存在 错误 已修正 |
-- 作者:lin_hailun -- 发布时间:2012/9/7 13:50:00 -- 绝对的写错吧......哪有绝对值。 [此贴子已经被作者于2012-9-7 13:50:46编辑过]
|
-- 作者:lichenwudi -- 发布时间:2012/9/8 16:41:00 -- 欢迎各位大侠 对本系列教程提出宝贵意见 |
-- 作者:woiz -- 发布时间:2012/9/8 23:54:00 -- 用这样的代码,还不如直接用SQL语句生成一个查询表,然后再复制过去不重复行,来的简单吧? |