以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 主表和附表关联后,并在附表的CurrentChanged事件中设置了定位主表中客户的代码,此时点附表延时1秒左右问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=113882) |
-- 作者:夏威夷果 -- 发布时间:2018/1/24 15:45:00 -- 主表和附表关联后,并在附表的CurrentChanged事件中设置了定位主表中客户的代码,此时点附表延时1秒左右问题 主表和附表关联后,并在附表的CurrentChanged事件中设置了定位主表中客户的代码,此时点附表出现延时1秒左右的现象,代码如下: If e.Table.Current Is Nothing Then \'如果Current为Nothing Return \'则返回 End If Dim wz As Integer Dim dr As DataRow dr = DataTables("主表").Find("[客户] = \'" & e.Table.Current("客户") & "\'") If dr IsNot Nothing Then wz = Tables("主表").FindRow(dr) If wz >= 0 Then Tables("主表").Position = wz End If End If 如果删除关联,延时现象消失,如果不用这段代码定位也不会出现延时现象,麻烦老师指导,谢谢!
|
-- 作者:有点甜 -- 发布时间:2018/1/24 16:10:00 -- 1、你主表的 currentchanged 事件有没有写代码?
2、你在currentchanged事件加入msgbox,看弹出多少次。 |
-- 作者:夏威夷果 -- 发布时间:2018/1/24 17:01:00 -- 我的主表 currentchanged 事件没有写代码,怎么写?麻烦,谢谢 |
-- 作者:有点甜 -- 发布时间:2018/1/24 17:10:00 -- 试试改成这样
msgbox(e.table.name) If e.Table.name <> e.Table.DataTable.name OrElse e.Table.Current Is Nothing Then \'如果Current为Nothing
Return \'则返回
End If
Dim wz As Integer
Dim dr As DataRow
dr = DataTables("主表").Find("[客户] = \'" & e.Table.Current("客户") & "\'")
If dr IsNot Nothing Then
wz = Tables("主表").FindRow(dr)
If wz >= 0 Then
Tables("主表").Position = wz
End If
End If |
-- 作者:夏威夷果 -- 发布时间:2018/1/24 17:31:00 -- 改成你修改的代码后,弹出一个提示“附表”的窗口,点一下后,提示“主表.附表”的窗口,再点一次后,还是提示“主表.附表”的窗口,再点一次后消失提示窗口 |
-- 作者:有点甜 -- 发布时间:2018/1/24 17:33:00 -- 把msgbox代码去掉,然后测试。 |
-- 作者:夏威夷果 -- 发布时间:2018/1/24 17:48:00 -- ok,不延时了,谢谢你,有问题能和你直接提问就好了,真谢谢 |
-- 作者:夏威夷果 -- 发布时间:2018/1/24 17:51:00 -- 还有问题呀,在系统菜单下应用窗体,提示没有快捷菜单,回到用户菜单没有提示,而且自己设计的快捷菜单很好用,不知道是什么原因,麻烦你了 |
-- 作者:有点甜 -- 发布时间:2018/1/24 18:08:00 -- 以下是引用夏威夷果在2018/1/24 17:51:00的发言:
还有问题呀,在系统菜单下应用窗体,提示没有快捷菜单,回到用户菜单没有提示,而且自己设计的快捷菜单很好用,不知道是什么原因,麻烦你了
切换到用户菜单测试。如果在系统菜单,提示错误是正常的。
http://www.foxtable.com/webhelp/scr/1466.htm
|
-- 作者:john563 -- 发布时间:2018/3/31 8:48:00 -- |