以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  查找行  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=90771)

--  作者:lk15502
--  发布时间:2016/9/21 14:24:00
--  查找行
入库表和库存表:在入库表输入数据,希望在”缸号”列输入数据时,操作在库存表是否有相同的缸号,在入库表的validateedit事件代码,有相同缸号是没有正确执行,偶尔会包一次,什么原因?
If e.Col.name = "缸号" AndAlso e.Row.Isnull("缸号") = False Then
    Dim dr As DataRow
    dr = DataTables("库存表").find("[缸号] = \'" & e.text & "\'")
    If dr IsNot Nothing Then
        Dim wz As Integer = Tables("库存表").findrow(dr)
        msgbox(dr("入库编号"))
        If wz >= 0 Then
            Tables("库存表").position = wz
        End If
    End If
End If

--  作者:有点蓝
--  发布时间:2016/9/21 14:39:00
--  
偶尔会包一次--指的是什么?没看懂
--  作者:lk15502
--  发布时间:2016/9/21 14:44:00
--  
测试都用相同的缸号,代码都没有起作用,偶尔会跳出msgbox的窗口,说明代码发生作用了,只是偶尔
--  作者:有点蓝
--  发布时间:2016/9/21 14:51:00
--  
代码没有问题,上传例子看看
--  作者:lk15502
--  发布时间:2016/9/21 16:43:00
--  
 加了一句  msgbox(dr("入库编号")),测试都好了:
If 图片点击可在新窗口打开查看e.Col.name = "缸号" AndAlso e.Row.Isnull("缸号") = False Then
    Dim dr As DataRow
    dr = DataTables("库存表").find("[缸号] = \'" & e.text & "\'")
    msgbox(dr("入库编号"))
    If dr IsNot Nothing Then
        Dim wz As Integer = Tables("库存表").findrow(dr)
        msgbox(dr("入库编号"))
        If wz >= 0 Then
            Tables("库存表").position = wz
        End If
    End If
End If

--  作者:lk15502
--  发布时间:2016/9/21 16:44:00
--  
会有两个弹窗
--  作者:有点蓝
--  发布时间:2016/9/21 16:56:00
--  
代码改到atferedit,或者DataColChanged试试
--  作者:lk15502
--  发布时间:2016/9/21 17:02:00
--  
代码改到atferedit,好了
--  作者:lk15502
--  发布时间:2016/9/21 17:03:00
--  
谢谢