以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]自定义录入界面的问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=41079) |
||||
-- 作者:hzcaqjf -- 发布时间:2013/10/10 21:15:00 -- [求助]自定义录入界面的问题
如果收款人对应多个账号 在前几行,录入收款人后,按enter健,自动录入(窗口2)同一行收款人账号. 而在后几行(大于500行),录入收款人后,按enter健,录入的却是(窗口2)后一行账号(相同收款人). [此贴子已经被作者于2013-10-10 21:15:42编辑过]
|
||||
-- 作者:有点甜 -- 发布时间:2013/10/10 21:25:00 -- 我测试了一下,正确,都是自动录入选中行的数据的啊。 |
||||
-- 作者:hzcaqjf -- 发布时间:2013/10/10 21:32:00 -- 输入"zjsd"按向下键选取539号行试试 如果下一行收款人不同,都能正确录入选定行(账号)数据; 如果下一行收款人相同,前几行ID号,也能正确录入选定行(账号)数据; 大于500行ID号,就跳到下一行(账号)数据; [此贴子已经被作者于2013-10-10 21:42:48编辑过]
|
||||
-- 作者:sunsenfeng -- 发布时间:2013/10/10 21:34:00 -- 看了一下,没有错行啊
|
||||
-- 作者:hzcaqjf -- 发布时间:2013/10/10 21:46:00 -- 1:注意(窗口2)中选定行的下一行收款人是否相同. 2:注意ID是否大于500号.
|
||||
-- 作者:有点甜 -- 发布时间:2013/10/10 22:03:00 -- 测试了一下,是按下回车键选择的时候才出错的吧? 用下面的代码就行了。原因是:执行e.Text = t.Current("收款人")时,触发了changeedit事件,重新筛选,导致current改变。 If e.Col.Name = "收款人" Then Forms("窗口2").Open() Dim t As Table = Tables("窗口2_Table1") If e.keycode = keys.Down t.position = t.Position +1 e.Cancel = True ElseIf e.keycode = keys.up t.position = t.Position -1 e.Cancel = True ElseIf e.Keycode = keys.Enter And t.Current IsNot Nothing e.Row("收款人账号") = t.Current("收款人账号") e.Row("收款人开户银行") = t.Current("收款人开户银行") e.Row("省") = t.Current("省") e.Row("ID") = t.Current("ID") e.Text = t.Current("收款人") Forms("窗口2").close() End If End If |
||||
-- 作者:hzcaqjf -- 发布时间:2013/10/10 22:20:00 -- 有点甜老师,真是佩服,这样的问题也能迅速解决,谁会想到是e.text触发了ChangEdit事件. 真的很谢谢您.
|