以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 关于多表内容同步的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=128187) |
||||
-- 作者:mao8mao9983 -- 发布时间:2018/11/30 16:01:00 -- 关于多表内容同步的问题 老师,您好,我这有个项目,有“设计部出图”和“商品信息总表”两个表格,要求当在“设计部出图”表中更增加、删除或更改内容后,“商品信息总表”中的内容能事实更改,且“商品信息总表”中的内容是“设计部出图”表中内容的唯一值(内容值不能多也不能少),我写了一段代码,当代码中用到Find的时候,软件运行是能满足我的要求的,但是将代码中的Find换成SQLFind时,“商品信息总表”中的内容就不是我想要的了,您帮我看看要
怎么改可以吗?谢谢了,具体代码请看附件。 |
||||
-- 作者:有点甜 -- 发布时间:2018/11/30 16:47:00 --
|
||||
-- 作者:mao8mao9983 -- 发布时间:2018/11/30 17:33:00 -- 此主题相关图片如下:4.png ,老师,我在“设计部出图”表中修改了第三行第二列,以及复制粘贴了第7、8、9行,结果“商品信息总表”中的数据出现了重复值了,而且DM-H14从动轴1SUS304这个值被删除了,您再帮我看看吧,这个目标还是有点费脑细胞的。 |
||||
-- 作者:mao8mao9983 -- 发布时间:2018/11/30 17:33:00 -- 此主题相关图片如下:5.png |
||||
-- 作者:有点甜 -- 发布时间:2018/11/30 18:40:00 -- 代码没问题,删除全部表格数据重新测试。
|
||||
-- 作者:mao8mao9983 -- 发布时间:2018/11/30 21:05:00 --
还是不行哦,如图,我在“设计部出图”表中复制粘贴了第6行,然后“商品信息总表”中自动增加了第6行,这一行与第3行重复了,我是希望“商品信息总表”中的数据是“设计部出图”表中的数据的唯一值,老师,再帮我看看吧,谢谢了! |
||||
-- 作者:有点蓝 -- 发布时间:2018/11/30 22:09:00 -- 请重新上传有问题的实例 |
||||
-- 作者:mao8mao9983 -- 发布时间:2018/11/30 22:44:00 --
实例就是之前您发给我的,我没改,我看了一下,怀疑是Delete语句没起到作用 |
||||
-- 作者:有点蓝 -- 发布时间:2018/11/30 23:36:00 -- Dim tuhao As String=e.DataRow("图号") Dim mingcheng As String=e.DataRow("名称") Dim caizhi As String= e.DataRow("材质") Dim chuli As String= e.DataRow("处理") Dim chuku As Integer=0 If tuhao="" Then tuhao="V" End If If mingcheng="" Then mingcheng="V" End If If caizhi="" Then caizhi="V" End If If chuli="" Then chuli="V" End If e.DataRow("零件全称")=tuhao & mingcheng & caizhi & chuli Select Case e.DataCol.name Case "零件全称" Dim dr As DataRow Dim cnt As Integer = e.DataTable.SQLCompute("count(零件全称)","零件全称 = \'" & e.OldValue & "\'") If cnt <= 1 Then dr = DataTables("商品信息总表").sqlFind("零件全称 = \'" & e.OldValue & "\'") If dr IsNot Nothing Then \'在 商品信息总表 中 找到了 零件全称 的 旧值 dr.Delete() \'将 商品信息总表 中的 旧值删除 dr.Save End If End If dr = DataTables("商品信息总表").sqlFind("零件全称 = \'" & e.NewValue & "\'") If dr Is Nothing Then \'在 商品信息总表 中 没找到 零件全称 的 新值,则创建新的行,将 设计部出图 中的信息写入 商品信息总表 中 dr = DataTables("商品信息总表").AddNew() End If dr("图号") = e.DataRow("图号") dr("名称") = e.DataRow("名称") dr("材质") = e.DataRow("材质") dr("处理") = e.DataRow("处理") dr("零件全称") = e.NewValue dr.save e.DataRow.save End Select
|
||||
-- 作者:mao8mao9983 -- 发布时间:2018/12/1 9:48:00 -- 这下可以了,非常感谢 |