Office中国论坛/Access中国论坛

标题: access有以下的功能吗 [打印本页]

作者: hnyyly    时间: 2005-5-29 05:00
标题: access有以下的功能吗
表格里的项目不能更改,数据可以输入一次,但第一次输入后不能再更改,并且可以把当前时间和登录人的姓名记录下来,谢谢
作者: 木图天    时间: 2005-5-29 05:03
可通过编程解决.只有想不到,没有做不到.
作者: asdfasdfok    时间: 2005-5-29 05:09


可以,表格不能修改你在窗体中去条记录浏览器和跳转窗口,并不制作修改窗体就解决了

在登陆界面的确定中加入 NowUser = Me.Combo用户名  以下是我的作为参考



Private Sub Cmd确定_Click()

On Error GoTo Err_Cmd确定_Click

If Nz([Txt密码]) = Nz(DLookup("[密码]", "密码表", "[用户]=" & "'" & Combo用户名 & "'")) _

    And Me.Combo用户名 <> "" Then                           '验证用户和密码)

    NowUser = Me.Combo用户名

    DoCmd.close

   

   

    If GetRegStatus Then

    Dim stDocName As String

    Dim stLinkCriteria As String

    stDocName = ChrW(20027) & ChrW(25511) & ChrW(-26782) & ChrW(26495)

    DoCmd.OpenForm stDocName, , , stLinkCriteria

然后在你那张表中增加1个 登记人 和 登记时间 的字段,在含有登记人字段的窗体中加入

Private Sub Form_Current()

Me.登记人 = NowUser

End Sub

登记时间控件的默认属性设为 Now() 然后再将这2个控件 是否有效 的属性设为 否, 别人就不能更改了

[此贴子已经被作者于2005-5-28 21:17:57编辑过]


作者: asdfasdfok    时间: 2005-5-29 05:14
我现在遇到最大的问题是,如果表可以修改,该表中含有最后修改人,最后查阅时间 2字段,但是由于含有Private Sub Form_BeforeUpdate(Cancel As Integer)

Dim strMsg As String

    strMsg = "数据已经改变."

    strMsg = strMsg & vbCr & "你想保存吗?"

    strMsg = strMsg & vbCr & "点击[是]保存,点击[否]放弃保存。"

    If MsgBox(strMsg, vbQuestion + vbYesNo, "保存记录吗?") = vbYes Then

     MsgBox "记录修改成功!", vbInformation, "提示"

        

    Else

        DoCmd.RunCommand acCmdUndo

        

            End If

End Sub在记录跳转过程中会因为对空白记录的修改,而造成需要按1次否才能跳到指定记录,朋友告诉我可以尝试下对这部分内容也进行判断,如果不为点击的记录则自动按否,可我到现在还.......[em04][em04]
作者: hnyyly    时间: 2005-5-29 05:22
可以,表格不能修改你在窗体中去条记录浏览器和跳转窗口,并不制作修改窗体就解决了???我看不很懂, 能不能详细点,谢谢
作者: asdfasdfok    时间: 2005-5-29 05:33
右键点击数据输入窗体的左上的黑方块点属性,然后 把 记录选定器 和 浏览按钮 设为 否 因为通常制作数据录入都会制作个允许修改原记录的窗体,你不制作别人也就没法改了,另外还能改的恐怕职能通过直接打开表了,那你就要对表进行加密了.普通的加密下个破解软件就好了,高级点的用VB,不过好像曾经看过一个破解作品,好像注册个什么控件就能破了.反正没啥绝对的安全.




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