Accessのデータベースを使用した社員のログ管理
OS:WindowsXP
Access Version:Access2003
Table:[Tログ管理]
(フィールド)ID/ログイン日/ログイン時/ログアウト日/ログアウト時/社員番号
Form:[ログイン]
[メインメニュー]
コマンドボタン:”ログイン”([ログイン]フォームに配置)
”終了”([メインメニュー]フォームに配置)
Accessでデータ管理システムを構築しております。
数十名の社員が使用する予定です。
そこで、どの社員がいつ・何時に使用したのかログ管理をしたいと考えております。
考えている方法として、
(1)Access(システム)を起動すると、[ログイン]フォームが表示されます。”ログイン”コマンドボタンをクリックします。
(2)すると、[Tログ管理]のID(オートナンバー)/ログイン日/ログイン時/職員番号にそれぞれ登録されます。
(3)”ログイン”コマンドボタンをクリックした後は、[メインメニュー]フォームが表示され、[ログイン]フォームは閉じます。
(4)[メインメニュー]フォームには、作業の内容を題したコマンドボタンを配置予定です。そして一番下に”終了”コマンドボタンを配置、クリックすると先ほどの[Tログ管理]から社員番号の入ったレコードを検索し、ログアウト日・ログアウト時を登録したいのです。
この「ログイン」コマンドボタンのクリック時イベントに下記のようなコードを記述しました。このコードで(2)(3)の動作はしてくれます。
*************
Public Sub ログイン_Click()
Dim mySID as Object
Dim CN as ADODB.Connection
Dim RS as ADODB.Recodset
Set mySID=CreateObject("Wscript.Network")
Set CN=CurrentProject.Connection
Set RS=New ADODB.Recordset
RS.Open "Tログ管理",CN,adOpenKeyset,adLockOptimistic
RS.AddNew
RS!ログイン日=Date
RS!ログイン時=Now
RS!職員番号=mySID.UserName
RS.Update
RS.Close: Set RS=Nothing
CN.Close: Set CN=Nothing
DoCmd.OpenForm"メインメニュー",acNormal
DoCmd.Close acForm,"ログイン"
End Sub
**************************
”終了”コマンドボタンのクリック時イベントに(4)の作業をしてくれるコードを記述したいのですが、FilterやFindの使い方がよくわからなくて、前に進めません。。。
社員番号から検索せずにオートナンバーのIDを引数で渡す方法もありなのかな?と思ったのですが、初心者のため、どちらが効率的なのかわからないので、効率的な方法がありましたらどうか教えてください。
初心者なので、誤字脱字・読みにくい箇所があると思いますが、どうぞご容赦ください。
丁寧に教えてもらえると助かります、よろしくお願いいたします★
お礼
ありがとうございました!