以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  请教,为何光标不在指定单元格  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=105256)

--  作者:13861676007
--  发布时间:2017/8/15 16:57:00
--  请教,为何光标不在指定单元格
请教:我在表属性Dadacolchanged事件中输入,如下代码
If e.DataCol.name = "借方金额" Then
    Dim s As Double = e.DataTable.Compute("sum(借方金额)")
    Forms("凭证录入").Controls("Lab借方合计").text = format(s,"###,###,###,##0.00")
    If e.NewValue <> 0 Then
        e.DataRow("货方金额") = 0
        Tables("凭证录入表").Position = Tables("凭证录入表").Position+1
        Tables("凭证录入表").Select(Tables("凭证录入表").rowsel,Tables("凭证录入表").Cols("摘要").Index)
     End If
End If
光标停留在 ,摘要字段的下一列中
  将     Tables("凭证录入表").Select(Tables("凭证录入表").rowsel,Tables("凭证录入表").Cols("摘要").Index)改为
        Tables("凭证录入表").Select(Tables("凭证录入表").rowsel,Tables("凭证录入表").Cols("摘要").Index-1)
光标才停留在摘要上,不能理解为什么要减1才能停留在摘要字段上,请指教 !

--  作者:有点甜
--  发布时间:2017/8/15 17:43:00
--  

DataColChanged事件结束后,会响应你的键盘事件,比如 回车、方向上下左右。一般是回车,而回车就是右移。先选择摘要,再右移的。

 

你可以在keydownedit事件屏蔽回车键,如

 

If e.KeyCode = keys.enter Then
    e.cancel = True
    e.Table.FinishEditing
End If