以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]求教多表在使用光标同步定位的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=56069)

--  作者:zxy_jedi
--  发布时间:2014/8/28 16:59:00
--  [求助]求教多表在使用光标同步定位的问题
请教,已使用以下语句实现在操作“电梯信息”表时其他几个表(无关联)光标定位,请问如果要想实现在操作以下任意一个表时所有的表的光标都能定位该怎么做?

If e.Table.Current Is Nothing Then
    Return
End If

Dim wz As Integer
Dim dr As DataRow
dr = DataTables("电梯信息").Find("[设备ID] = \'" & e.Table.Current("设备ID") & "\'")
If dr IsNot Nothing
    wz = Tables("电梯信息").FindRow(dr)
    If wz >= 0
        Tables("设备技术参数").Position = wz
        Tables("定期检验时间").Position = wz
        Tables("设备注册登记信息").Position = wz
        Tables("定期检验时间查询").Position = wz
    End If
End If

--  作者:Bin
--  发布时间:2014/8/28 17:00:00
--  
每个表的图片点击可在新窗口打开查看PositionChanged事件都写上代码
--  作者:有点甜
--  发布时间:2014/8/28 17:03:00
--  
 没理解你的意思,其它表,定位到对应的哪一行?
--  作者:zxy_jedi
--  发布时间:2014/9/1 11:08:00
--  
就是操作哪张表都能使这些表的光标对应到当前行“设备ID”的那一行,我无论操作哪张表光标指定的都是我操作上一张表时编辑的同一个“设备ID”那行。

按2楼的方法试了试。总是有冲突,程序无响应了。我是放在CurrentChanged事件里了。

--  作者:有点甜
--  发布时间:2014/9/1 11:19:00
--  

 真心没看到你想说什么

 

If e.Table.Current Is Nothing Then
    Return
End If


Dim wz As Integer
Dim dr As DataRow
Dim filter As String = "[设备ID] = \'" & e.Table.Current("设备ID") & "\'"
wz = Tables("电梯信息").FindRow(filter)
If wz >= 0
    Tables("电梯信息").Position = wz 
End If

wz = Tables("设备技术参数").FindRow(filter)
If wz >= 0
    Tables("设备技术参数").Position = wz 
End If

wz = Tables("定期检验时间").FindRow(filter)
If wz >= 0
    Tables("定期检验时间").Position = wz 
End If

wz = Tables("设备注册登记信息").FindRow(filter)
If wz >= 0
    Tables("设备注册登记信息").Position = wz 
End If

wz = Tables("定期检验时间查询").FindRow(filter)
If wz >= 0
    Tables("定期检验时间查询").Position = wz 
End If