设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2136|回复: 9
打印 上一主题 下一主题

[Access本身] 菜鸟ishi2100再次求助,希望像todaynew的好心人来帮忙

[复制链接]
跳转到指定楼层
1#
发表于 2010-1-7 15:54:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 ishi2100 于 2010-1-7 16:32 编辑

首先万分感谢todaynew的帮助,帮我解决了不少问题,但因为个人才疏学浅,很多都无法真正用起来,所以再次提问,希望等到再次帮助。

1.用户注册:注册(并将信息导入表“用户密码表
2.报表:显示用户及其登录时间、离开时间
3.权限:管理员拥有添加、保存、删除、修改的权限,用户没有;主要针对查询后的信息

关于登录时间和离开时间已按todaynew说的做了,但是提示错误,在库里面,望检查一下,看是怎么错了

本人初学请具体解答,自己也会边等边找资料做的,在线等啊
先感谢各位了!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2010-1-7 16:01:16 | 只看该作者
我这里只给出解决思路:
1 在创建用户时用循环检查每一个用户名字符,有一个不是数字或字母就退出循环,提示用户名非法.
2 在用户登录和退出时记录用户登录/退出时间,保存到表里,可以专门创建一个表保存此类数据.
3 创建用户权限表,为每一个用户指定相应权限,在进行相应操作时到权限表里校验有无此权限.这是一个不小的工程,用文字难以解决你的问题,可以在论坛上搜索前辈们的权限例子,自己研究/借鉴下.
3#
 楼主| 发表于 2010-1-7 16:10:10 | 只看该作者
感谢你啊,不过我菜到不行啊,你这样说了也没用啊,我不会
4#
发表于 2010-1-7 16:12:34 | 只看该作者
好像这几个问题都给你解决了呀
5#
发表于 2010-1-7 17:23:51 | 只看该作者
1.用户注册:注册(并将信息导入表“用户密码表”);用户名限制为字母和数字(6-12),若超出限制提示“用户名非法,请重新输入!”;检验“确认密码”是否与“输入密码”相同,相同提示“密码确认”,不同提示“密码不相同,请重新输入”(提示就像我做的那个检验用户名样的)
答案:
(1)设置Me.Text1.InputMask = "aaaaaaaaaaaa"后,不可能超出限制,既然不可能超出限制,提示也就毫无意义。
(2)在Text7右侧添加一名为“密码校验”的标签,然后再Text7的更新后事件中写如下代码:
Private Sub Text7_AfterUpdate()
If Nz(Me.Text4.Value, "") <> "" And Me.Text7.Value = Me.Text4.Value Then
        Me.密码校验.Caption = "输入正确!"
    Else
        Me.密码校验.Caption = "密码不同!"
End If
End Sub
(3)注册按钮的单击事件中写如下代码:
Private Sub 注册_Click()
Dim strsql As String
DoCmd.SetWarnings False
If Me.校验.Caption = "用户名可以使用" And Me.密码校验.Caption = "输入正确!" Then
    strsql = "INSERT INTO 用户密码表 ( 用户名, 密码, 姓名, 性别, [E-mail], 类别 ) "
    strsql = strsql & " VALUES ('" & Me.Text1.Value & "','" & Me.Text7.Value & "','" & Me.Text12.Value & "','" & Me.Combo22.Value & "','" & Me.Text16.Value & "','用户')"
    DoCmd.RunSQL strsql
Else
    MsgBox "用户名或密码错误!"
End If
End Sub



2.报表:显示用户及其登录时间、离开时间
答案:
(1)在模块a的最上端写如下代码:
Option Compare Database
Option Explicit
Public str用户名 As String
Public str类别 As String
(2)在登录窗体的确定按钮的单击事件中加如下代码:
Dim strsql As String
DoCmd.SetWarnings False
strsql = "INSERT INTO 浏览登记 ( 用户名, 类别, 登陆时间 ) "
strsql = strsql & "VALUES ('" & Me.Combo用户名.Value & "','"
strsql = strsql & DLookup("类别", "用户密码表", "用户名='" & Me.Combo用户名.Value & "'") & "',#" & Now() & "#)"
DoCmd.RunSQL strsql
(3)在退出系统的某个按钮中加如下代码:
Dim strsql As String
If Nz(str用户名, "") <> "" Then
    DoCmd.SetWarnings False
    strsql = "UPDATE 浏览登记 SET 浏览登记.离开时间 = #" & Now() & "#"
    strsql = strsql & " WHERE ID=" & DMax("ID", "浏览登记", "用户名='" & str用户名 & "'")
    DoCmd.RunSQL strsql
End If


3.权限:管理员拥有添加、保存、删除、修改的权限,用户没有;主要针对查询后的信息
答案:
(1)在登录窗体的确定按钮的单击事件中加如下代码:
str用户名 = Me.Combo用户名.Value
str类别 = DLookup("类别", "用户密码表", "用户名='" & Me.Combo用户名.Value & "'")
(2)在人物和忍术的窗体加载事件中,分别写如下代码:
Private Sub Form_Load()
If str类别 = "管理员" Then
    Me.Form.AllowAdditions = True
    Me.Form.AllowDeletions = True
    Me.Form.AllowEdits = True
Else
    Me.Form.AllowAdditions = False
    Me.Form.AllowDeletions = False
    Me.Form.AllowEdits = False
End If
End Sub
6#
 楼主| 发表于 2010-1-7 18:20:52 | 只看该作者
不好意思,能加我QQ吗
7#
 楼主| 发表于 2010-1-7 18:31:51 | 只看该作者
337868997
8#
 楼主| 发表于 2010-1-7 18:33:22 | 只看该作者
离开时间有了,但登陆时间没有,而且只是在一条上更新,不是累计的那种,就上一次,有一条信息
9#
 楼主| 发表于 2010-1-7 18:38:05 | 只看该作者
另外,用户注册中我做了一个若不输入内容跳到下条时,会显示“请填写XXX”,不过输入东西以后,怎么能没有了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
10#
 楼主| 发表于 2010-1-7 18:43:40 | 只看该作者
电子邮件地址格式怎么修改成“XXX@XXX.com/.com.cn/.cn"
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-18 14:45 , Processed in 0.079259 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表