問題三用戶標識
在多用戶應用程序中,可以以編程方式標識當前登錄到系統上的用戶,這對於管理功能是有用的。比如用編輯好的記錄來存儲用戶名字,從而建立一個核查線索。實現一個安全的數據庫,可以迫使用戶必須用預先定義的用戶名和密碼來登錄應用程序,這樣,應用程序就可以通過Workspace對象的UserNane屬性來使用用戶名。下面這個過程,把用戶名、當前日期和時間寫到指定的記錄集中。
過程如下:
FunctionWriteAuditTrail(rstAsRecordset)AsInteger
OnErrorGoToErrorHandler
'編輯記錄集中的當前記錄
'假定Recordset(rst)包括a
'和b兩個字段
rst.Edit
rst!a=Workspaces(0).UserName
rst!b=Now
rst.Update
ErrorHandler:
SelectCaseErr
Case0
WriteAuditTrail=O
EXitFunction
CaseElse
MsgBox"Error"&Err&":"&Error,vbOKOnlv
WriteAuditTrail=Err
EXitFunction
EndSelect
EndFunction
上述過程把用戶、系統當前日期和時間寫入一個記錄集中。如果寫入成功,則過程返回0,否則返回相應的錯誤代碼。為了調用上述過程,首先建立一個包含兩個字段(a和b)的表,然後在窗體上畫一個命令按鈕,並編寫下面的事件過程:
PrivateSubCommand1_Click()
DimMvdbsAsDatabase
DimMvTabAsRecordset
SetMydbs=OpenDatabase("c:dbdirdb1.mdb")
SetMyTab=Mydbs.OpenRecordset("Tabel4",dbOpenTable)
a=WriteAuditTrail(MyTab)
Ifa=0then
MsgBox"用戶名、日期和時間已寫入"
ElSe
MsgBox"寫入失敗"
Endlf
EndSub
新建立的表放在數據庫dbl.mdb中,名為Tabel4。程序運行後,單擊命令按鈕,將調用上面的過程,把用戶名、日期和時間寫入表Tabel4中。可以通過“可視化數據管理器”來查看表Tabel4的內容,如圖所示。
ab
admin98-3-2020:13:23
如果不想實現安全性,只需要用戶名功能,則可以在運行應用程序時提示用戶輸入名字和密碼,並把輸入的值存儲到代碼變量或臨時表中。使用這種方法,可以訪問用戶名,但不能實現安全的數據庫。->