วันอาทิตย์ที่ 26 สิงหาคม พ.ศ. 2555

ตัวอย่างโค้ด vba ตรวจสอบ user กับ pass ใน access

ผมหันไปใช้ linux ทำงานระยะหนึ่งแต่ความรู้ไม่ถึงบางงานบางอย่างก็ยังติดขัดไม่สามารถขยับไปไหนได้ ระยะหลังมานี้เลยหันกลับมาพัฒนาระบบงานเล็ก ๆ สำหรับใช้เองภายในที่ทำงาน โดยใช้ MsOffice Access ซึ่งพัฒนาง่ายกว่าใช้ LibrieOffice Base เยอะ อาจเนื่องจากมีเอกสารคู่มือให้ศึกษามากกว่าก็ได้ครับ แต่ก็ยังไม่ได้ทิ้ง  LibrieOffice Base ไปเลยนะครับยังคงศึกษาอยู่แต่เป็นแบบค่อยเป็นค่อยไปครับ หลังจากทำระบบงานไปเรื่อย ๆ ตามโอกาสและเวลาอำนวยเนื่องจากงานพัฒนาระบบงานไม่ใช่งานหลักครับ ตอนนี้ก็ไปได้สัก 90 เปอร์เซ็นต์แล้วครับ ช่วงหลังหาวิธีสร้างหน้าล๊อคอิน สำหรับให้ user ล๊อคอินเข้าไปทำงาน ในระบบก็ไปเจอที่คนอื่นเค้าเขียน ๆเอาไว้ เลยเอามาแก้ ๆ แบบ user ได้ออกมาดังที่เห็นครับเลยนำมาเขียนไว้เผื่อใครเอาไปดัดแปลงใช้ต่อไปครับ ทั้งนี้มันอาจไม่ถูกต้องก็ต้องขอข้อเสนอจากท่านผู้รู้เพิ่มเติมด้วยนะครับ

Private Sub Command1_Click()

       If IsNull(Me.Text_user) Then
           MsgBox ("ยังไม่ได้กรอกชื่อผู้ใช้"), vbOKOnly, "แจ้งเตือน"
           Me.Text_user = Null
           Me.Text_user.SetFocus
       ElseIf IsNull(Me.Text_pass) Then
             MsgBox ("ยังไม่ได้กรอกพาสเวิร์ด"), vbOKOnly, "แจ้งเตือน"
             Me.Text_pass = Null
             Me.Text_pass.SetFocus
       ElseIf DCount("user", "Tbl_User_Pass", "user = Text_user") > 0 Then
                    If DLookup("pass", "Tbl_user_pass", "user =Text_user") <> Me.Text_pass Then
                      MsgBox ("รหัสผ่านไม่ถูกต้อง"), vbOKOnly, "แจ้งเตือน"
                      Me.Text_pass = Null
                      Me.Text_pass.SetFocus
                   Else
                        DoCmd.Close acForm, "Fr_LogIn", acSaveYes
                        DoCmd.OpenForm "Fr_Link_tbl", acNormal
                  End If
        Else
                   MsgBox ("ชื่อผู้ใช้ไม่ถูกต้อง"), vbOKOnly, "แจ้งเตือน"
                   Me.Text_user = Null
                   Me.Text_pass = Null
                   Me.Text_user.SetFocus
       End If
End Sub