以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  关于自动输入的问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=45901)

--  作者:zchlln
--  发布时间:2014/2/13 10:42:00
--  关于自动输入的问题
表A有所有客户的具体数据 表B是库存表 
表ADataColChanged事件写入
Select Case e.DataCol.Name

    Case "客户名"
       
Dim Filter As String = "[设备ID] = \'" & e.DataRow(" 设备ID ") & "\'"
       
Dim drs As List(Of DataRow) = DataTables("表B").Select(Filter)
        For
Each dr As DataRow In
drs
            dr(e.
DataCol.Name) = e.DataRow(e.DataCol.Name)
        Next
End
Select


结果发现表B并不更新客户名数据:原因为表A录入数据时先录入客户名后录入设备ID导致 求大神解决 不限制录入顺序的情况下

[此贴子已经被作者于2014-2-13 10:47:28编辑过]

--  作者:狐狸爸爸
--  发布时间:2014/2/13 10:57:00
--  

你这种设计有问题,我没有看懂,表A输入客户名然后从表B取客户名单,这不是重复了吗?

应该是表A输入ID,再从表B取对应的客户输入吧?

 

自动输入参考:

http://www.foxtable.com/help/topics/1451.htm

http://www.foxtable.com/help/topics/1458.htm

http://www.foxtable.com/help/topics/1459.htm

 

 


--  作者:zchlln
--  发布时间:2014/2/13 11:10:00
--  
是表A输入各种数据自动更新到表B
我设计的是如果客户名有变动的话 根据设备ID 更新表B对应的客户名 但是对新增加的数据如果录入时先录入客户名后录入设备号 就不会更新了
[此贴子已经被作者于2014-2-13 11:12:09编辑过]

--  作者:狐狸爸爸
--  发布时间:2014/2/13 11:13:00
--  
明白了,你这样:
 
 
Select Case e.DataCol.Name
    Case "客户名","设备ID"
        Dim Filter As String = "[设备ID] = \'" & e.DataRow(" 设备ID ") & "\'"
        Dim drs As List(Of DataRow) = DataTables("表B").Select(Filter)
        For Each dr As DataRow In drs
            dr("客户名") = e.DataRow("客户名")
        Next
End Select

--  作者:zchlln
--  发布时间:2014/2/13 11:24:00
--  
谢谢 我这就试试