以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 符全条件信息导入 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=74869) |
||||
-- 作者:漂亮美眉vszh -- 发布时间:2015/9/21 16:07:00 -- 符全条件信息导入 此主题相关图片如下:11.jpg 此主题相关图片如下:222.jpg 各位大侠求助,需求是:1.如果“展开表录入”内的“是否为可能原因”列等于yes时,就此表内的行业、客户,就导入到“异常原因”表行业、客户内;“展开表录入”内主干列内分为{"人员";"机器";"材料";"方法";"环境";"测量"}等行,为yes的部分分别循环到“异常原因”表{"人员";"机器";"材料";"方法";"环境";"测量"}行内,原来的行导入时变成了列;3.如果该客户信息已导入过、并且没有修改yes部分的,就不重复导入;如果修改了YES信息的,就删除原来导入的信息,重新导入~~谢谢了各位大侠们 |
||||
-- 作者:漂亮美眉vszh -- 发布时间:2015/9/21 16:07:00 --
传上了例子 |
||||
-- 作者:大红袍 -- 发布时间:2015/9/21 16:11:00 -- 循环每一行,判断 是否为可能原因 的值即可;然后,判断 主干列,往对应的列填入内容。
如果要统计,参考 http://www.foxtable.com/help/topics/0681.htm
|
||||
-- 作者:漂亮美眉vszh -- 发布时间:2015/10/30 14:24:00 -- DataTables("异常原因").DataRows.Clear 就是判断列名是否等于“主干”列的值,这句代码后面有问题,找不到错误原因,想了几个小时了,求助大侠 |
||||
-- 作者:漂亮美眉vszh -- 发布时间:2015/10/30 14:33:00 -- 就是“主干”行的值,是否等于别一个表的列名,等于的话、就新增一行进去 想要的是这种效果~~ 此主题相关图片如下:qq图片20151030143249.png |
||||
-- 作者:漂亮美眉vszh -- 发布时间:2015/10/30 15:29:00 -- DataTables("异常原因").DataRows.Clear Dim dt As DataTable = DataTables("展开表录入") Dim s1() As String = {"人员","机器","材料","方法","环境","测量"} For i As Integer = 0 To 5 Dim drs As List(Of DataRow) drs = dt.Select("[是否为可能原因] = \'yes\' And [主干] = \'" & s1(i) & "\'") For Each drr As DataRow In drs Dim dr As DataRow = DataTables("异常原因").addnew() dr(s1(i)) = drr("原因简述") Next Next |
||||
-- 作者:漂亮美眉vszh -- 发布时间:2015/10/30 15:30:00 -- 此主题相关图片如下:1.png |
||||
-- 作者:漂亮美眉vszh -- 发布时间:2015/10/30 17:04:00 -- 为啥没人回我的信息~~ |
||||
-- 作者:狐狸爸爸 -- 发布时间:2015/10/30 18:37:00 -- For Each dr1 As DataRow In DataTables("展开表录入").Select("是否为可能原因 = \'yes\'") Dim dr2 As DataRow = DataTables("异常原因").Find("客户名称 = \'" & dr1("客户") & "\' And 鱼骨图编号 = \'" & dr1("鱼骨图编号") & "\'") If dr2 Is Nothing Then dr2 = DataTables("异常原因").AddNew() dr2("客户名称") = dr1("客户") dr2("鱼骨图编号") = dr1("鱼骨图编号") End If dr2(dr1("主干")) = dr1("可能原因描述") Next |
||||
-- 作者:漂亮美眉vszh -- 发布时间:2015/10/31 8:49:00 -- 以下是引用狐狸爸爸在2015/10/30 18:37:00的发言:
For Each dr1 As DataRow In DataTables("展开表录入").Select("是否为可能原因 = \'yes\'") Dim dr2 As DataRow = DataTables("异常原因").Find("客户名称 = \'" & dr1("客户") & "\' And 鱼骨图编号 = \'" & dr1("鱼骨图编号") & "\'") 狐狸爸爸,1. DR2不对。客户和编号是空的,不能用这个来查找。这个表是跟据“展开表录入”里的内容自动生成的,我需要的是判断(展开表-主干列)这行里的内容是否等于 “ 异常原因表 ” 的列名,这句话代码写不出来;第二个思路是将符合条件的内容装入数组,但这个数组是二维的,我又循环不出来,我只会VBA,所以现在学这些好像以前的思路都不知道怎么去应用、实现出来~~ |