以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]表B逻辑列发生变化 表A的列等于某一个值  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=172158)

--  作者:王小风
--  发布时间:2021/9/27 15:52:00
--  [求助]表B逻辑列发生变化 表A的列等于某一个值
目的:表B 第一列逻辑值为是  则表A第一列自动输入1
这个代码行不通:
If e.DataCol.Name=("第一列") AndAlso e.DataRow("第一列")=True Then
    DataTables("表A").DataRows("第一列")="1"
End If

我感觉 是代码不知道 往"表A"的哪一行行填入“1”
请帮忙看下正确的应该怎么写

--  作者:有点蓝
--  发布时间:2021/9/27 16:11:00
--  

If e.DataCol.Name=("第一列") AndAlso e.DataRow("第一列")=True Then
Dim dr As DataRow DataTables("表A").Find("[关联列] = \'" & e.DataRow("关联列") & "\'")
        If dr IsNot Nothing Then 
            dr
("第一列"="1"
        End
 If
End If

--  作者:王小风
--  发布时间:2021/9/27 16:13:00
--  
If e.DataCol.Name="材料入库" AndAlso d("材料入库")=True Then
    If d("品质判定")="不合格" Then
        Dim nma() As String={"生产信息_批次号","排产信息_母卷号","排产信息_合金牌号","生产信息_实际宽度_卷尾","排产信息_厚度"}
        Dim nmb() As String={"识别码","母卷号","合金牌号","宽度","厚度"}
        Dim dr As DataRow=DataTables("原材仓").AddNew
        For i As  Integer= 0 To nma.Length - 1
            dr(nmb(i)) = e.DataRow(nma(i))
            dr("大类")="改切料"
        Next
    End If
End If

按照这个图片点击可在新窗口打开查看思路 完美解决

--  作者:王小风
--  发布时间:2021/9/27 16:16:00
--  
明白 你这个 写法的原理了。根据关联列 锁定行 填入值