Office中国论坛/Access中国论坛

标题: [求助] 登陆时制表键出错 [打印本页]

作者: 加菲猫    时间: 2005-7-24 05:58
标题: [求助] 登陆时制表键出错
大家好. 请帮我看看下面的代码

Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)

    Select Case Me.ActiveControl.Name

        Case "txtusername":

            If Me.ActiveControl.Text = "" Or IsNull(Me.ActiveControl.Text) Then

                cmdenter.Enabled = False

                Exit Sub

               

            Else

                If Me.txtpassword.Value = "" Or IsNull(Me.txtpassword.Value) Then

                    cmdenter.Enabled = False

                    Exit Sub

                End If

            End If

        Case "txtpassword":

            If Me.ActiveControl.Text = "" Or IsNull(Me.ActiveControl.Text) Then

                    cmdenter.Enabled = False

                Exit Sub

               

            Else

                If Me.txtusername.Value = "" Or IsNull(Me.txtusername.Value) Then

                    cmdenter.Enabled = False

                    Exit Sub

                End If

            End If

        Case Else:

            Exit Sub

    End Select

    cmdenter.Enabled = True

    Exit Sub

End Sub

当我用制表键把光标从"用户"移到"密码"窗口时出错,用鼠标就不会. 错误提示是不能发现属性值.

请大虾帮忙!!
作者: 加菲猫    时间: 2005-7-24 06:22
我自己顶[em14][em14][em14][em14][em14]
作者: wu8313    时间: 2005-7-25 19:15
楼主的意思是:当 控件 txtusername 和 控件 txtpassword 中的任意一个控件为空字符串或值的时候,控件 cmdenter 无效?控件 cmdenter 的初始状态 Enabled = False。是这样吗?

我认为:

1、你的代码应该写在 Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) 这个事件中。

2、该窗体的键预览属性应该为 KeyPreview = True

3、如果是我猜测的意图的话,你的代码可以简化一下,有的判断可以省略掉。



[此贴子已经被作者于2005-7-25 11:17:43编辑过]


作者: 加菲猫    时间: 2005-7-27 02:25
谢谢回复! 你说的用意是对的, 不过我这可是教程里的原代码. 在书里的程序中执行没问题,不知道怎么, 用到我的窗体中就不行.顺便问一下,窗体的键预览属性KeyPreview 是作什么的?
作者: wu8313    时间: 2005-7-31 01:12
这个是教程中的源码,把教程中例子也放上来,大家帮着看看怎么回事?




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