hur.cn - 华软网

 热门搜索

怎样通过录入快速定位到某行(在线急盼大侠指点)

  作者:未知    来源:网络    更新时间:2018/10/11
我有一张表,结构以下:
×××××××××××××
序号              金额
01                ____
02                ____
.
.
.
50                ----
×××××××××××××

共有50行记录,每次可能只需录入其中的某几行的金额
现在问题是:
     为了提高录入效率,怎么设计能实现只需通太小键盘录入就能指定到某行输入某个数?
就是不用鼠标去点某行,比如按“*”加一个数字就直接指定到该行的金额列,再录入一个数后再按“*”加一个数字指定到另一行,这样能否实现,怎样实现?
     小弟在线急盼,请高手不吝见教,谢谢了!

------华软网友回答------
如果要去 21行, 按下* ,2,1建, 那是去21行,照旧12行
------华软网友回复------
就是要去*下面随着的数字那行
比如*21,就是去21行
怎样怎么实现?
当然如果有另外好方法,只需方便,不一定非要用小键盘的键
------华软网友回复------
你的意思不是同时按下, 那按下*之 ,再按2,就会直接去了第2行啊,再按1,也没有用了
你这类方式有没有问题啊
------华软网友回复------
弹出一个录入窗口,指定序号和金额输入即可

或用freeform气概数据窗口
------华软网友回复------
hygougou(狗狗) 
您说的第一种弹出窗口的方法我知道了,
第二种用freeform气概数据窗口这类方法是什么意思,能不能详细说明一下啊?
------华软网友回复------
一个freeform数据窗口,输入序号,回车,即

retrieve出

该条记录,然后输入金额保存即可
------华软网友回复------
最简单的实现方法:
在窗口中放一个按钮,给这个按钮设个快捷键,比如“Alt+C”。
再放一个单行编辑框(sle_1)。
在按钮中写
sle_1.setfocus()

在sle_1的自定义keydown事件(用于判断回车),在其中写上你用来定位的语句
比如:*21(滚动到第21行),+3(输入焦点定位在第三栏)
choose case left(this.text,1)
    case '*'
      dw_1.scrolltorow(long(mid(this.text),2))
    case '+'
      dw_1.setcolumn(long(mid(this.text),2))
    case else
      this.text = ''
end choose
dw_1.setfocus()


这样的效果就是只需先按下Alt+C,焦点就会落到sle_1上,让用户输入指令,按下回车则执行该指令。

当然,如果想做得漂亮隐蔽一些,能够将按钮放到窗口之外,sle_1默许为隐藏,按下Alt+C时让其显示在某处,sle_1失去焦点时再隐藏。
------华软网友回复------
leio的实现方法感觉不错,谢谢您!
也谢谢hygougou和 xiaoplx!      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。