รบกวนสอบถามเรื่องโค้ดล็อคอินเข้าระบบครับ
กระทู้เก่าบอร์ด อ.Yeadram

 1,004   3
URL.หัวข้อ / URL
รบกวนสอบถามเรื่องโค้ดล็อคอินเข้าระบบครับ

ผมสร้างฟอร์มล็อคอินไว้ชื่อ firstLogin พอกดปุ่มล็อคอินไป จึงได้ปิดฟอร์ม firstLogin ซึ่งก็จะไปสู่อีกฟอร์มนึงชื่อว่า frmMainMenu1 โดยฟอร์มนี้ผมได้สร้างปุ่มเมนูเปลี่ยนรหัสผ่านไว้ครับ โดยฟอร์มเมนูเปลี่ยนรหัสผ่านนี้ตรงหัวมุมจะมีการแจ้งชื่อผู้เข้าล็อคอินอยู่ แต่พอกดปุ่มเปลี่ยนรหัสผ่านไป ก็เข้าหน้าฟอร์มเปลี่ยนรหัสผ่าน แต่ตรงชื่อผู้ใช้ขึ้น Error

ผมจึงได้ปิดแล้วเปิดหน้าฟอร์มล็อคอินใหม่ แต่ครั้งนี้ผมไม่ได้ปิดฟอร์มล็อคอิน พอทำการล็อคอินก็เข้าฟอร์ม frmMainMenu1 แล้วผมกดปุ่มเปลี่ยนรหัสผ่านไปเข้าฟอร์มนี้ได้ตามปกติ แต่ครั้งนี้หัวมุมขวาระบุชื่อผู้เข้าใช้ โดยไม่มี Error เกิดขึ้นเลย เท่ากับว่าพอล็อคอินไปต้องเปิดฟอร์มล็อคอินคาไว้ถึงจะสามารถเข้าเมนูเปลี่ยนรหัสผ่านโดยที่ชื่อผู้ใช้ ไม่ error

คำถามคือ มีวิธีไหนบ้างครับที่จะล็อคอินเข้าเมนูแล้วฟอร์มเมนูปิดเองแล้วเข้าไปอีกฟอร์มนึง โดยที่เมื่อกดปุ่มเปลี่ยนรหัสผ่าน แล้วฟอร์มเปลี่ยนรหัสผ่านแสดงชื่อผู้เข้าใช้โดยไม่เกิด error
หรือว่าจะต้องเขียนคำสั่งย่อหน้าอย่างไรบ้างใน firstLogin โดยที่ยังเปิดฟอร์มล็อคอินอยู่ครับ

ด้านล่างเป็นโค้ดฟอร์ม fisrtLogin ในปุ่ม เข้าสู่ระบบ โดย On Click เท่ากับโค้ดด้านล่างครับ
Private Sub Command209_Click()
On Error GoTo Err_Command209_Click

Dim stDocName As String
Dim stLinkCriteria As String

        [user1] = [xUser]
        [password1] = [xPassword]
       
        [name1] = DLookup("[userName]", "Query User Check")
        [surname1] = DLookup("[userSurname]", "Query User Check")

    [xMenuId] = DLookup("[menuID]", "Query User Check")
    
    If DCount("[User ID]", "Query User Check") = 0 Then
    
            MsgBox ("ÃËÑʼèÒ¹äÁè¶Ù¡µéͧ"), 16
            xUser = Null
            xPassword = Null
            DoCmd.GoToControl "xuser"
       
    Else
    
        [user1] = [xUser]
        [password1] = [xPassword]
       
        xUser = Null
        xPassword = Null
       
        Rem ÇÔªÒ¡ÒÃ
                        If [xMenuId] = 1 Then
                                stDocName = "frmMainMenu1"

                                DoCmd.OpenForm stDocName, , , stLinkCriteria

                        End If
        Rem-----------------------------------------------------------------------------------
       
        Rem ¤ÃÙ-ÍÒ¨ÒÃÂì
                      If [xMenuId] = 2 Then
                                   stDocName = "frmMainMenu2"

                                  DoCmd.OpenForm stDocName, , , stLinkCriteria

                                  
                        End If
        Rem-------------------------------------------------------------------------------------
       
        Rem admin ¡Ó˹´ÃËÑʼÙéãªé
                      If [xMenuId] = 3 Then
                                   stDocName = "frmMainMenu3"

                                  DoCmd.OpenForm stDocName, , , stLinkCriteria

                        End If
        Rem--------------------------------------------------------------------------------------
       
    End If

Exit_Command209_Click:
    Exit Sub

Err_Command209_Click:
    MsgBox Err.Description
    Resume Exit_Command209_Click

    
End Sub


ขอบคุณมากๆครับ

3 Reply in this Topic. Dispaly 1 pages and you are on page number 1

1 @R17848
งงไหมครับ
อธิบายเป็นขั้นตอนอีกทีนะครับ
1.ฟอร์มล็อคอิน (firstLogin) ใส่ชื่อผู้ใช้และรหัส แล้วกดปุ่มเข้าสู่ระบบ (กดปุ่มปิดฟอร์มนี้หลังจากล็อคอินเสร็จ)
2.ฟอร์มเมนู (frmMainMenu1) กดปุ่ม เปลี่ยนรหัสผ่าน
3.ฟอร์ม เปลี่ยนรหัสผ่าน ตรงหัวมุมจะมี text ชื่อผู้ล็อคอิน แต่ขึ้นว่า #Error

ทำอีกครั้งโดย
1.ฟอร์มล็อคอิน (firstLogin) ใส่ชื่อผู้ใช้และรหัส แล้วกดปุ่มเข้าสู่ระบบ (เปิดฟอร์มนี้ค้างไว้หลังจากล็อคอินเสร็จ)
2.ฟอร์มเมนู (frmMainMenu1) กดปุ่ม เปลี่ยนรหัสผ่าน
3.ฟอร์ม เปลี่ยนรหัสผ่าน ตรงหัวมุมจะมี text ชื่อผู้ล็อคอิน แต่ครั้งนี้แสดงชื่อผู้ล็อคอิน
2 @R17851
ปกติเราจะสร้างตัวแปรขึ้นมาเพื่อเก็บค่าเหล่านี้นะครับ ตัวแปรนี้จะเป็น public variable สร้างอยู่ใน Module ตัวไหนสักตัว ไม่ได้อยู่ในฟอร์มใดฟอร์มหนึ่ง โดยใช้คำสั่ง Dim UserName, SurName as String แล้วโค้ดในฟอร์ม firstLogin ก็ใส่ค่าให้ตัวแปรเหล่านี้ ส่วนในฟอร์มที่ต้องการโชว์ชื่อ/นามสกุล ก็ให้สั่ง Me.[ชื่อเท็กซ์บ็อกซ์] = UserName โดยใส่ไว้ที่ Form_Load event procedure ครับ
3 @R17855
ขอบคุณอาจารย์สันติสุขมากๆครับผม
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.2681s