以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  position请教  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=54365)

--  作者:CRM2013
--  发布时间:2014/7/26 15:41:00
--  position请教

 

有一个现象,倒腾了很久没解决掉,只好请论坛提供思路了:

 

在窗口有一个SqLQuery表,Tables("电话平台_Table3"), 是通过联系人信息表Tables("联系人信息")查询出来的,

 

希望在该表双击行时,打开联系窗口(窗口上每个字段都和表字段绑定),便于修改联系人信息

 

代码如下:


    Dim dr As DataRow = Tables("电话平台_Table3").Current.DataRow
    Dim wz As Integer = Tables("联系人信息").FindRow(dr)
    If wz >= 0 Then
        Tables("联系人信息").Position = wz

messagebox.show(Tables("联系人信息").current("姓名"))
        Forms("联系人信息").open()
    End If

 

出现的问题是,当打开联系人信息,总是自动回到第一行,而不是对应的wz行?

在代码中加入messagebox.show, 检查时发现当双击第2行时,Tables("联系人信息")的WZ已经移到第2行,messagebox内容显示为”伍均“,但Forms("联系人信息").open()打开前,又自动回到了第一行。

 

 


此主题相关图片如下:捕获.jpg
按此在新窗口浏览图片

--  作者:rjh4078
--  发布时间:2014/7/26 16:08:00
--  

是不是forms afterload事件中有相关代码?


--  作者:狐狸爸爸
--  发布时间:2014/7/26 16:08:00
--  

改为在"联系人信息"这个窗口的AfterLoad事件设置代码看看:

 

  Dim dr As DataRow = Tables("电话平台_Table3").Current.DataRow
   Dim wz As Integer = Tables("联系人信息").FindRow(dr)
    If wz >= 0 Then
        Tables("联系人信息").Position = wz

    End If


--  作者:Bin
--  发布时间:2014/7/26 16:11:00
--  
上个例子看看,按道理不应该