以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  等于  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=57918)

--  作者:gcc123
--  发布时间:2014/10/8 10:51:00
--  等于


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20141008105009.png
图片点击可在新窗口打开查看

当卡号列中某一行出现内容时对应的持卡人 和 分配地点 列 能否自动改成预定的值?


--  作者:Bin
--  发布时间:2014/10/8 10:54:00
--  
可以啊.在DataColChanged事件中编写代码处理


--  作者:gcc123
--  发布时间:2014/10/8 17:44:00
--  


图片点击可在新窗口打开查看此主题相关图片如下:油卡明细.png
图片点击可在新窗口打开查看 油卡明细表


 


图片点击可在新窗口打开查看此主题相关图片如下:油卡预分配.png
图片点击可在新窗口打开查看油卡预分配表

代码如下
If e.DataCol.Name = "卡号" Then          Dim dr As DataRow
     dr = DataTables("油卡明细").Find("卡号 = \'" & e.DataRow("卡号") & "\'" )
     If dr IsNot Nothing \'如果找到, 则设置各列内容
        e.DataRow("持卡人")= dr("持卡人")
         e.DataRow("分配地点")= dr("分配地点")
      End If
 End  If

为什么不按照油卡明细表中的更改呢?


--  作者:有点甜
--  发布时间:2014/10/8 17:46:00
--  
 代码是没有问题的,你可以重新填入卡号,看数据变化。
--  作者:gcc123
--  发布时间:2014/10/8 17:53:00
--  
如果在预分配表中持卡人和分配地点都存在别的内容,能不能把这些内容自动替换掉?
--  作者:有点甜
--  发布时间:2014/10/8 17:57:00
--  
以下是引用gcc123在2014-10-8 17:53:00的发言:
如果在预分配表中持卡人和分配地点都存在别的内容,能不能把这些内容自动替换掉?

 

你是说,不允许输入额外的内容?你可以控制这两列锁定。

 

或者用代码

 

Select Case e.DataCol.Name
    Case "卡号", "持卡人", "分配地点"
        Dim dr As DataRow
        dr = DataTables("油卡明细").Find("卡号 = \'" & e.DataRow("卡号") & "\'" )
        If dr IsNot Nothing \'如果找到, 则设置各列内容
            e.DataRow("持卡人")= dr("持卡人")
            e.DataRow("分配地点")= dr("分配地点")
        End If
End Select


--  作者:gcc123
--  发布时间:2014/10/8 18:01:00
--  
预分配表中的内容我是直接从别的地方复制过来的,这两列的内容有很多和油卡明细表不一样, 我的意思是复制过来后能不能直接在预分配表就替换成和油卡明细表这两列一样的内容。
--  作者:有点甜
--  发布时间:2014/10/8 18:04:00
--  
看6楼,代码就是