以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]然后清除本次选中的2表的“过磅”列的√,并在本次选中的2表中的“已过磅”列打勾。  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=132785)

--  作者:fengwenliuyan
--  发布时间:2019/3/29 16:26:00
--  [求助]然后清除本次选中的2表的“过磅”列的√,并在本次选中的2表中的“已过磅”列打勾。
在“客户表”中选中一行,“过磅表”中自动同步到对应客户的所有行;
在“客户表”中选择“过磅”列,在“过磅表”中选择“过磅”,再点击窗口下方的“过磅”按钮,将“客户表”选中的“编号”列内容复制到相应选中的“过磅表”选中的“编号”列中;
然后清除本次选中的2表的“过磅”列的√,并在本次选中的2表中的“已过磅”列打勾。
求这个代码怎么写?


[此贴子已经被作者于2019/4/30 10:00:35编辑过]

--  作者:fengwenliuyan
--  发布时间:2019/3/29 17:03:00
--  
求帮助
--  作者:有点甜
--  发布时间:2019/3/29 19:21:00
--  

参考代码

 

Dim t1 As Table = Tables("窗口1_客户表")
Dim t2 As Table = Tables("窗口1_过磅表")
For Each r1 As Row In t1.Rows
    For Each r2 As Row In t2.Rows
        If r1("客户") = r2("客户") Then
            r2("已过磅") = r1("已过磅")
        End If
    Next
Next

 


--  作者:fengwenliuyan
--  发布时间:2019/3/29 20:20:00
--  测试过,单次成功,但是,重新选择其他行打勾对应时,之前的编号也会清零了,不知道应该怎么改?
Dim t1 As Table = Tables("窗口1_客户表")
Dim t2 As Table = Tables("窗口1_过磅表")
For Each r1 As Row In t1.Rows
    For Each r2 As Row In t2.Rows
        If r1("过磅") = r2("过磅") Then
            r2("编号") = r1("编号")
        End If
    Next
Next

测试过,单次成功,但是,重新选择其他行打勾对应时,之前的编号也会清零了,不知道应该怎么改?


[此贴子已经被作者于2019/4/30 10:00:48编辑过]

--  作者:有点蓝
--  发布时间:2019/3/29 20:47:00
--  
Dim t1 As Table = Tables("窗口1_客户表")
Dim t2 As Table = Tables("窗口1_过磅表")
For Each r1 As Row In t1.Rows
    If r1.IsNull("客户") = False AndAlso r1("过磅") = True Then
        For Each r2 As Row In t2.Rows
            If r1("客户") = r2("客户") Then
                r2("编号") = r1("编号")
                r1("过磅") = False
                r1("已过磅") = True
                r2("过磅") = False
                r2("已过磅") = True
            End If
        Next
    End If
Next

--  作者:fengwenliuyan
--  发布时间:2019/3/29 22:15:00
--  [求助]回复:(有点蓝)Dim t1 As Table = Tables("窗口1_客...
Dim t1 As Table = Tables("窗口1_客户表")
Dim t2 As Table = Tables("窗口1_过磅表")
For Each r1 As Row In t1.Rows
    If r1.IsNull("客户") = False AndAlso r1("过磅") = True Then
        For Each r2 As Row In t2.Rows
            If r1("过磅") = True And r2("过磅") = True Then
                r2("编号") = r1("编号")
                r1("过磅") = False
                r1("已过磅") = True
                r2("过磅") = False
                r2("已过磅") = True
            End If
        Next
    End If
Next

测试结果:
“客户表”的某一行的过磅列打钩,再在“过磅表”的任意几行的过磅列打钩,
结果发现,可以把选中的“客户表”的该行的过磅编号,复制给“过磅表”对应的这几行的其中第一行的过磅编号列,
但是,想要的效果是:把“客户表”的该行的过磅编号,复制给全部选中的这几行的过磅编号列?



[此贴子已经被作者于2019/4/30 10:00:59编辑过]

--  作者:有点蓝
--  发布时间:2019/3/29 22:45:00
--  
Dim t1 As Table = Tables("窗口1_客户表")
Dim t2 As Table = Tables("窗口1_过磅表")
For Each r1 As Row In t1.Rows
    If r1.IsNull("客户") = False AndAlso r1("过磅") = True Then
        For Each r2 As Row In t2.Rows
            If r2("过磅") = True Then
                r2("编号") = r1("编号")
                r2("过磅") = False
                r2("已过磅") = True
            End If
        Next
        r1("过磅") = False
        r1("已过磅") = True
    End If
Next

--  作者:fengwenliuyan
--  发布时间:2019/3/29 23:11:00
--  
谢谢老师