以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  帮助里的快速录入说明解析  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=92374)

--  作者:wzcjc1982
--  发布时间:2016/11/2 10:20:00
--  帮助里的快速录入说明解析
Dim tbl As Table = Tables("客户资料录入_Table1")
If  e.KeyCode =Keys.Up Then
    tbl.Position=tbl.Position-1
    e.Cancel=True
ElseIf e.KeyCode= keys.Down Then
    tbl.Position=tbl.Position+1
    e.Cancel=True
ElseIf e.KeyCode = Keys.Enter Then
    
    If tbl.Current IsNot Nothing Then
        For Each dc As Col In tbl.Cols
            Tables("开票资料").Current(dc)=tbl.Current(dc)
        Next
    End If
    e.Cancel=True
    e.Form.Close
End If


在窗口的KEYDOWN时间中编写代码,其他都还好就是按回车没有预期的反应,不执行回车按键代码,希望大神能指出我的代码问题所在

--  作者:有点蓝
--  发布时间:2016/11/2 10:30:00
--  
ElseIf e.KeyCode = Keys.Enter Then
    
    If tbl.Current IsNot Nothing Then
        For Each dc As Col In tbl.Cols
            Tables("开票资料").Current(dc)=tbl.Current(dc)
        Next
    End If
    ‘e.Cancel=True \'去掉试试
    e.Form.Close
End If

--  作者:wzcjc1982
--  发布时间:2016/11/2 10:34:00
--  
哥,本来就没有点的啊。要是点了这行代码是不执行的。我现在按回车是执行回车原来的行为,就是一格一格的跳。
--  作者:有点蓝
--  发布时间:2016/11/2 10:53:00
--  
Tables("开票资料").Current(dc.name)=tbl.Current(dc.name)
--  作者:wzcjc1982
--  发布时间:2016/11/2 11:05:00
--  
试了,没用。而且我在鼠标双击里面的代码就是这样写的,执行起来没问题。现在就是不执行enter按键事件
--  作者:有点蓝
--  发布时间:2016/11/2 11:17:00
--  
上例子说明
--  作者:wzcjc1982
--  发布时间:2016/11/2 11:28:00
--  
我是按照帮助的窗口设计—自定义录入界面—自定义录入界面一做的,唯一的区别在与,我要进行的操作是一张关联表,表的名字是  订单汇总.开票资料 其它的都一样。现在双击实现选择输入实现了,按上下方向键进行选行也实现了,只剩下按回车键进行输入确认的操作没能实现,现在是一按回车活动单元格就会移到下一格去。
--  作者:有点蓝
--  发布时间:2016/11/2 11:38:00
--  
上有问题的例子测试
--  作者:wzcjc1982
--  发布时间:2016/11/2 11:45:00
--  
我是按照帮助里面的 窗口设计—自定义录入窗口—自定义输入界面一  ,所有的情况都一样,除了我的操作表是一张关联表,父表为订单汇总表 子表为开票资料表。我现在在表 订单汇总表.客户开票资料 里面加了这个输入界面,其他的功能都能够实现,只有按回车键选择输入界面的选定行这个功能不能实现,现在按回车的反应就是活动单元格下移。代码在上面已经贴出来了
--  作者:有点色
--  发布时间:2016/11/2 12:00:00
--  

应该是有效的,你赋值的表名写错了吧?

 

ElseIf e.KeyCode = Keys.Enter Then
    msgbox("进入了111")
    If tbl.Current IsNot Nothing Then
        msgbox("进入了222")
        For Each dc As Col In tbl.Cols
            Tables("订单汇总表.客户开票资料").Current(dc)=tbl.Current(dc)
        Next
    End If
    e.Cancel=True
    e.Form.Close
End If