Office中国论坛/Access中国论坛

标题: 如何高效实现在文本框末尾按回车后自动输入“问:”或“答:”? [打印本页]

作者: wuaza    时间: 2014-4-20 12:38
标题: 如何高效实现在文本框末尾按回车后自动输入“问:”或“答:”?
如题,文本框内输入一问一答式的笔录内容,如:
问:你今年几岁?
答:30岁?
问:你做什么工作?
答:做外贸的。
问:......
我想实现的功能是,在文本末尾第一次按回车后,自动填入“问:”,第二次按回车后自动填入“答:”,请各位大侠支招,万分感谢!
作者: 玉树TMD临风    时间: 2014-4-20 12:44
1、在文本框的“键按下”事件里,捕捉到键入chr(13)后,自动录入“问”或“答”值。

2、判断文本框中最后一次出现的“问:”和“答:”位置,如果“问:”是最后一个,则输入“答:”值,反之亦然。
作者: 玉树TMD临风    时间: 2014-4-20 12:47
小小提醒:别忘了自动录入“问:”后,要sendkeys "{END}",让光标自动到尾部。

另外你应该是在做询问笔录程序吧,我自己做了一个,目前使用正常,不过不是用的你这种模式,我用的是子窗体中的连续窗体,可实现任意一条记录的上、下移动、删除、添加等,回头有空发上来。

文本框的比较直观,缺点是添加、删除和移动不方便,连续窗体的则不直观,但是可以用报表弥补。
作者: wuaza    时间: 2014-4-20 13:06
谢谢玉树TMD临风的快速回复。这是抽除了某些内容的询问笔录,请多指教。
我原来也是做的连续窗体,后来因为某些问答内容不能完全显示,就改用了大文本框。
作者: wuaza    时间: 2014-4-20 14:28
再问一下,能不能用sendkeys语句自动录入某个中文字符?如“问”、“答”。
而不用如下的语句:
txt询问内容=txt询问内容&"问:"
作者: 空谷红门    时间: 2014-4-21 11:57
to4#:
连续窗体作为笔录问答的录入与显示确实有点问题,嘿嘿,这个我也头大呢,但是,没心思去改方案了,所以,现在也就只好凑合着用了.
作者: 玉树TMD临风    时间: 2014-4-21 13:26
wuaza 发表于 2014-4-20 13:06
谢谢玉树TMD临风的快速回复。这是抽除了某些内容的询问笔录,请多指教。
我原来也是做的连续窗体,后来因 ...

关于内容不能完全显示的问题,我是在连续窗体最上方添加了个大文框,可以实时显示你当前文本框里输入的内容
作者: 玉树TMD临风    时间: 2014-4-21 13:31
wuaza 发表于 2014-4-20 14:28
再问一下,能不能用sendkeys语句自动录入某个中文字符?如“问”、“答”。
而不用如下的语句:
txt询问 ...

可以用sendkeys chr(-12598) & chr(-23622 ),就是“问:”,至于答你用asc函数查一下
作者: wuaza    时间: 2014-4-23 18:13
非常感谢玉树TMD临风大侠,解决了我的大问题。
作者: wuaza    时间: 2014-4-24 13:18
这是最后成形的代码,很管用。(blp是窗体公共变量)
Private Sub txt询问内容_KeyUp(KeyCode As Integer, Shift As Integer)
On Error Resume Next
    If KeyCode = 13 Then
        '可用asc函数查找任意字符的代码。
        If blp = False Then
            SendKeys Chr(-12598) & Chr(-23622)
        Else
            SendKeys Chr(-19216) & Chr(-23622)
        End If
        blp = Not blp
    End If
End Sub





欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3