Sub
load_login() 'สร้างฟังก์ชั่นใหม่ชื่อ load_login
Me.txt_user_code.Visible = True 'กำหนด txt_user_code ให้มองเห็นได้
Me.txt_user_code = "" 'กำหนด
txt_user_code มีค่าเท่ากับช่องว่าง
Me.txt_user_password.Visible = True 'กำหนด
txt_user_password ให้มองเห็นได้
Me.txt_user_password = "" 'กำหนด
txt_user_password มีค่าเท่ากับช่องว่าง
Me.txt_user_name.Visible = False 'กำหนด
txt_user_name ให้มองเห็นไม่ได้
Me.txt_user_name = "" 'กำหนด
txt_user_name มีค่าเท่ากับช่องว่าง
Me.Cmd_login.Caption = "Login" 'กำหนดปุ่ม
Cmd_login มีคำอธิบายเป็น Login
หรือมี Caption=Login
End
Sub
เสร็จแล้วกดบันทึกและปิดโปรแกรมเขียน Code กลับมาหน้าโปรแกรม
Access
ใหม่
มพ์ตาม
6.2 คลิกขวาที่ปุ่ม Login เลือก สร้างเหตุการณ์ เลือก ตัวสร้างโค้ด แล้วกดตกลง จะมีหน้าต่างโปรแกรมสำหรับเขียนโค้ดขึ้นมาอีกครั้ง ในส่วนนี้จะเป็นการกำหนดคำสั่งเมื่อมีการคลิกปุ่ม Login
Private Sub Cmd_login_Click()
End Sub
เมื่อผู้ใช้มีการคลิกปุ่ม Login เราต้องการจะตรวจสอบว่า
User และ Password
ถูกต้องหรือไม่ ให้พิมพ์ code ตามนี้
Private Sub Cmd_login_Click()
Dim u_code, u_password As String 'กำหนดตัวแปรเพื่อรับค่า user code และ password
If Me.Cmd_login.Caption = "Login" Then 'ถ้า Cmd_login มี
Caption = Login ให้ทำในส่วนนี้
If Len(Me.txt_user_code) > 0 And
Len(Me.txt_user_password) > 0
Then 'ตรวจสอบว่าใส่ user และ
password
u_code = Nz(DLookup("user_code", "[User]",
"user_code = '" & Me.txt_user_code & "'"),
"")
'Dlookup(“”,”[]”,””) ใช้สำหรับดึงข้อมูล
จากแถวบน ให้ดึง user_code
จากตาราง User โดย
user_code = ค่าที่ผู้ใช้ป้อน
'Nz(“”,””) ใช้คืนค่าอื่นถ้าข้อมูลที่ต้องการไม่มี
ใน Nz() จะมี 2 ค่า ค่าแรกเป็นค่าที่ต้องการ
ถ้าไม่มีจะคืนค่าช่องที่ 2 มาให้
If StrComp(u_code, Me.txt_user_code, vbBinaryCompare) = 0 Then 'ตรวจสอบค่า User ที่พิมพ์และค่าในฐานข้อมูล
u_password =
Nz(DLookup("user_password", "[User]", "user_code =
'" & u_code & "'"), "") 'ดึงค่า
password
If
StrComp(u_password, Me.txt_user_password, vbBinaryCompare) = 0 Then 'ตรวจสอบค่า
password
Me.txt_user_code.Visible = False 'กำหนด txt_user_code ให้เห็นไม่ได้
Me.txt_user_password.Visible = False 'กำหนด
txt_user_password
ให้เห็นไม่ได้
Me.txt_user_name.Visible = True 'กำหนด txt_user_name ให้เห็นได้
Me.txt_user_name = DLookup("user_name", "[User]",
"user_code = '" & Me.txt_user_code & "'") 'ดึงข้อมูล user_name จากตาราง User มาแสดงในช่อง txt_user_name
Me.Cmd_login.Caption = "Logout" 'กำหนด
Caption ของ Cmd_login เท่ากับ
Logout
Else
MsgBox "Password
Incorrect !!!"
End If
Else
MsgBox "User
Incorrect !!!"
End If
Else
MsgBox
"Insert User !!!"
End If
ElseIf Me.Cmd_login.Caption = "Logout" Then 'ถ้าปุ่ม Cmd_login มี
Caption = Logout ให้ทำในส่วนนี้
Call load_login 'เรียกฟังก์ชั่น
load_login ที่สร้างไว้แล้วเพื่อคืนค่าต่างๆเหมือนตอนเปิดฟอร์ม
End If
End
Sub
เสร็จแล้วสำหรับการกำหนดค่าฟอร์ม
Main Menu เราต้องการให้แสดงฟอร์มแบบ Dialog ให้สร้างฟอร์ม Start Form เพื่อกำหนดการแสดง
Dialog ของ Main Form
7. สร้างฟอร์ม Start Form โดยกดเมนู สร้าง เลือก ออกแบบฟอร์ม บันทึกฟอร์มชื่อ Start Form กำหนดคุณสมบัติของฟอร์มโดยคลิกขวามุมบนของฟอร์ม
เลือกคุณสมบัติ เหมือนข้อ 6.1 กำหนด Event เมื่อโหลด
แล้วพิมพ์ code ดังนี้
Private Sub Form_Load()
DoCmd.OpenForm "Main Form", acNormal, , , , acDialog 'กำหนดให้แสดงฟอร์ม Main Form แบบ Dialog
DoCmd.Close acForm, "Start Form", acSaveNo 'ปิดฟอร์ม
Start Form
End
Sub
กดเมนู แฟ้ม เลือก ตัวเลือก จะปรากฏหน้าต่าง ตัวเลือก
Access
ขึ้นมา ด้านซ้ายให้คลิกเลือก ฐานข้อมูลปัจจุบัน
ด้านขวาตรงช่อง แสดงฟอร์ม ให้เลือก Start Form แล้วกดตกลง ปิดโปรแกรม Access แล้วลองเข้าใหม่ ทดสอบใช้งานระบบ
User ใส่คำว่า Admin
Password
ใส่คำว่า Admin
จากนั้นลองกดปุ่ม Login เพื่อทดสอบระบบ โดยต้องใส่ให้ตรงนะครับ อักษรตัวเล็ก ตัวใหญ่ ต้องตรงกัน
เมื่อทดสอบเรียบร้อยแล้วให้ปิดฟอร์มไป ให้คลิกขวา Main Form เลือก มุมมองออกแบบ
ลากกล่องข้อความ txt_user_name ขึ้นไปตรงๆให้ทับ txt_user_code กับ txt_user_password เพื่อเวลาแสดงผลจะได้อยู่กึ่งกลางกรอบสี่เหลี่ยมพอดี
ความคิดเห็น
แสดงความคิดเห็น