Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

登录窗体代码出错,帮忙看看

羊角  发表于:2010-10-26 11:17:01  
复制

见附件,帮我看看是哪出错了点击下载此附件

 

Top
煮江品茶 发表于:2010-10-26 11:26:06

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

 

上面的代码好像还可以大大的简化,你自己琢磨吧。



羊角 发表于:2010-10-26 13:15:53

多谢版主,这段好了,还有一段出现错误,帮我看看

Private Sub cmdenter_click()
Dim strpassword, strusername As String
Dim flag As Integer
Dim record As ADODB.Recordset
flag = 0
openrecord "select * from 用户表", record
Do Until record.EOF
strusername = record("用户名")
strpassword = record("密码")
If UCase(Me.txtusername.Value) <> UCase(strusername) Then
record.MoveNext
Else
flag = 1
Exit Do
End If
Loop
If flag = 0 Then
MsgBox "该用户名不存在,请重新输入"
Me.txtpassword.Value = ""
Me.txtusername.Value = ""
Me.txtusername.SetFocus
cmdenter.Enabled = False
Exit Sub
Else
If UCase(Me.txtpassword.Value) <> UCase(strpassword) Then
MsgBox ("密码错误,请重新输入")
Me.txtpassword.Value = "'"
Me.txtpassword.SetFocus
Exit Sub
End If
End If
DoCmd.Close
DoCmd.OpenForm "主窗体"
End Sub

运行时显示红色标注的地方出现错误



煮江品茶 发表于:2010-10-26 15:48:48
openrecord是个自定义函数吧?

羊角 发表于:2010-10-26 17:01:16

应该是吧,我是照着书上的代码进行写的,这个代码的意思应该是读取用户表里的用户名和密码,然后看输入的是否是用户表里对应的用户名和密码,来决定是否登录,请问那这个函数应该怎样定义呢?



煮江品茶 发表于:2010-10-26 17:15:12
可把书上的该函数照着写入一个模块中

羊角 发表于:2010-10-26 19:31:07

我知道了,谢了



总记录:6篇  页次:1/1 9 1 :