首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • access 设计的登陆窗体出错 [无满意答案结帖]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • guangshi007
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 揭贴率:
    发表于:2008-08-24 01:58:06 楼主
      我用access设计的一个登陆窗体,输入用户名和密码,经过验证后登陆上去打开另一个窗体,我的代码如下:
    Private Sub 登陆_Click()
    On Error GoTo Err_登陆_Click

        Dim stDocName As String
        Dim stLinkCriteria As String
       
        Dim strTmp As String
           
        If IsNull(Me.用户) Then
            MsgBox "用户不能为空,请输入用户", vbInformation, "输入用户"
            Me.用户.SetFocus
       
        ElseIf IsNull(Me.密码) Then
            MsgBox "密码不能为空,请输入密码", vbInformation, "输入密码"
            Me.密码.SetFocus
       
        Else
            strTmp = DLookup("用户", "用户表", "用户 = " & Forms![登陆窗体]!用户 & "'")
              If IsNull(strTmp) Then
                MsgBox "没有这个用户,请重新输入!", vbInformation, "出错了"
                Me.用户.SetFocus
           
              Else: strTmp = DLookup("密码", "用户表", " 用户 = " & Forms![登陆窗体]!用户 & " ' ")
           
                  If CStr(Me.密码.Text) = strTmp Then
                      stDocName = ChrW(20999) & ChrW(25442) & ChrW(-26782) & ChrW(26495)
                      DoCmd.OpenForm stDocName, , , stLinkCriteria
                    Else: MsgBox "你输入的密码不正确,请重新输入!", vbCritical, , "密码错误"
                    Me.Requery
                    Me.密码.SetFocus
                  End If
             
              End If
        End If
       

    Exit_登陆_Click:
        Exit Sub

    Err_登陆_Click:
        MsgBox Err.Description
        Resume Exit_登陆_Click
       
    End Sub

    其中“登陆”为按钮名称,“用户”为输入登陆用户文本框名称,“密码”为输入登陆密码文本框名称,运行后提示出错:字符串的语法错误,在查询表达式‘用户=×××"中。×××为输入的用户名
    20  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • baoguangya
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-24 07:17:231楼 得分:0
    strTmp = DLookup("用户", "用户表", "用户 = " & Forms![登陆窗体]!用户 & "'")

    这句少了一个单引号,应为:

    strTmp = DLookup("用户", "用户表", "用户 = '" & Forms![登陆窗体]!用户 & "'")
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • guangshi007
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-24 14:52:392楼 得分:0
        谢谢楼上的兄弟,这个问题解决了,又弹出提示:除非控件获得焦点,否则您不能引用该控件的属性或方法。晕~~
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • baoguangya
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-24 15:08:033楼 得分:0
    If CStr(Me.密码.Text) = strTmp Then

    在这句之前添加:me.密码.setfocus
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • guangshi007
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-24 15:32:504楼 得分:0
    试过,显示:无效的过程调用或参数
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • guangshi007
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-24 15:48:075楼 得分:0
    想不明白哪个控件要获得焦点,
    我试过把
    If CStr(Me.密码.Text) = strTmp Then
    改为
    If CStr(Me.密码.value) = strTmp Then

    If CStr(Me.[密码]) = strTmp Then ;都不行。。。。

    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • baoguangya
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-24 16:04:316楼 得分:0
    建议你把On Error GoTo Err_登陆_Click去掉,看看出错所在的语句。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • baoguangya
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-24 16:10:397楼 得分:0
    MsgBox "你输入的密码不正确,请重新输入!", vbCritical,  , "密码错误"

    我发现这句多了一个逗号,应该是:

    MsgBox "你输入的密码不正确,请重新输入!", vbCritical, "密码错误"
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • kris2010
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-25 09:08:418楼 得分:0
    如果 Me.密码 为null 时, cstr函数会返回这个错误.
    建议全部 加上Null 和空字符 的处理.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • linjimu
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-25 09:59:019楼 得分:0
    在vba中对文本框取值,直接 me.文本框名称 就可以了。在vb.net中就取消了控件的默认值问题,因为面向对象了。
    -----
    蓝天白云,还是你行。呵呵。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • guangshi007
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-27 12:42:5010楼 得分:0
      没弄明白,困惑中。。。。。。
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved