ต้องการสร้าง Table เก็บ Log เข้าใช้งานในโปรแกรมครับ



0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

16 เม.ย. 63 , 14:40:22
อ่าน 375 ครั้ง

Eik Q Sang

ผมสร้างฟอร์ม Login ขึ้นมาหนึ่งฟอร์ม ผมต้องการสร้าง Table สำหรับเก็บ Log การ Login ว่า User Login เวลาไหน Logout เวลาไหน
เปิดฟอร์มไหนบ้าง และเปิดฟอร์มนั้นอัพเดทล่าสุดกี่โมง ต้องทำอย่างไรบ้างครับ

ปุ่ม Login มีโค้ดดังนี้ครับ

Private Sub cmdOK_Click()
Dim UserLevel As String
Dim WorkerName As String
Dim TempLoginID As String
Dim strDivision As String
Dim strLocation As String
If IsNull(Me.txt_Username) Then
    MsgBox "กรุณาใส่ชื่อผู้ใช้", vbInformation, "ชื่อผู้ใช้"
    Me.txt_Username.SetFocus
ElseIf IsNull(Me.txt_Password) Then
    MsgBox "กรุณาใส่รหัสผ่าน", vbInformation, "รหัสผ่าน"
    Me.txt_Password.SetFocus
Else
    If (IsNull(DLookup("UserLogin", "tblUser", "UserLogin ='" & Me.txt_Username.Value & "'"))) Or (IsNull(DLookup("Password", "tblUser", "Password ='" & Me.txt_Password.Value & "'"))) Then
        MsgBox "ชื่อผู้ใช้หรือรหัสผ่านไม่ถูกต้อง"
    Else
            TempLoginID = Me.txt_Username.Value
            WorkerName = DLookup("UserName", "tblUser", "UserLogin ='" & Me.txt_Username.Value & "'")
            UserLevel = DLookup("UserSecurity", "tblUser", "UserLogin ='" & Me.txt_Username.Value & "'")
           
                If UserLevel = "Admin" Or UserLevel = "Mod" Then
                    DoCmd.OpenForm "frmSetup"
                    Forms![frmSetup]![txt_Login] = TempLoginID
                    Forms![frmSetup]![txt_User] = WorkerName
                    Forms![frmSetup]![txt_Division] = cb_Division.Column(1)
                    Forms![frmSetup]![txt_Location] = cb_Location.Column(1)
                    DoCmd.Close acForm, "frmLogin"
                Else
                    DoCmd.OpenForm "frmMainMenu"
                    Forms![frmMainMenu]![txt_Login] = TempLoginID
                    Forms![frmMainMenu]![txt_User] = WorkerName
                    Forms![frmMainMenu]![txt_Division] = cb_Division.Column(1)
                    Forms![frmMainMenu]![txt_Location] = cb_Location.Column(1)
                    DoCmd.Close acForm, "frmLogin"
                End If
    End If
End If
End Sub

 

17 เม.ย. 63 , 17:46:34
ตอบกลับ #1

สันติสุข

- บันทึกการ login และ logout ก็เขียนคำสั่งเพื่อบันทึกเรคอร์ดลงเทเบิลที่สร้างใหม่ โดยใส่ไว้ใน Form_Load และ Form_Unload event procedure ของทั้งฟอร์ม frm_Setup และ frm_MainMenu ครับ

- บันทึกการเปิดฟอร์ม ก็เขียนคำสั่งโดยใส่ไว้ก่อนคำสั่ง DoCmd.OpenForm ต่างๆใน frm_MainMenu

- บันทึกการเปิดฟอร์มอัพเดตล่าสุด ไม่แน่ใจว่าหมายถึงบันทึกการแก้ไขเรคอร์ดในฟอร์มนั้นๆหรือไม่ ถ้าใช่ ก็เขียนคำสั่งไว้ใน Form_AfterUpdate event procedure ของฟอร์มนั้นๆ
ช่วยพกถุงผ้า/ถุงพลาสติกใช้แล้วไปซื้อของเพื่อลดการใช้พลาสติก ขยะ รักษาสิ่งแวดล้อม และไม่ให้ภาวะโลกร้อนวิกฤติเร็วขึ้นกว่านี้
ช่วยคลิกโฆษณาข้างล่างนี้ เพื่อสนับสนุนเวปบอร์ดด้วยครับ
:nice day:
 

27 เม.ย. 63 , 21:32:53
ตอบกลับ #2

kunlek

ขอตัวอย่าง table  และฟอร์ม  ทีใช้กับ code นี้ ได้ไหมครับท่าน 

 


บอร์ดเรียนรู้ Access สำหรับคนไทย