Login เข้าได้ฟิลด์เดียวครับ ฟิลด์อื่นฟ้อง"รหัสผ่าน
กระทู้เก่าบอร์ด อ.Yeadram

 1,280   8
URL.หัวข้อ / URL
Login เข้าได้ฟิลด์เดียวครับ ฟิลด์อื่นฟ้อง"รหัสผ่าน

ใน Table ชื่อ User มี ฟิลด์
1.Username
2.Password

มีทั้งหมด 2 เรคคอร์ดครับ (2 user) แต่ทำไมเข้าได้แค่ฟิลด์เดียวครับ งง

Private Sub cmdLogin_Click()

          Dim stDocName As String, stLinkCriteria As String
          Dim rst As Recordset, dbs As Database
          Set dbs = CurrentDb()

Set rst = dbs.OpenRecordset("SELECT * FROM User")
               If rst!username = Username.Value And rst!Password = password.Value Then
                      UserLogin = rst!username
                                DoCmd.Close
                                DoCmd.OpenForm "หน้าแรก"
               Else
                                Beep
                                 
                      MsgBox "รหัสผ่านผิด กรุณากรอกข้อมูลใหม่อีกครั้ง", 16, WARNING
               End If
       
End Sub

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

1 @R13075
"ทำไมเข้าได้แค่ฟิลด์เดียว"
คิดว่าคำถามไม่ถูกนะครับ

น่าจะเป็นว่า เข้าได้แค่ user เดียว

เพราะจาก วิธีเขียน code ผิดครับ

ที่จริงมีคำถามเรื่องเกี่ยวกับเขียน code Log In อยู่แล้วครับ ลองค้นดูละกันครับ
2 @R13086
ขอบคุณ ครับผม จะลองค้นดูครับ
3 @R13088
ทำได้แล้วครับผม ขอบคุณมากมายครับ สำหรับคำแนะนำ
4 @R13167
กระผมขอถามต่ออีกหน่อยนะครับ
ถ้าจะ login user เข้าโดยเฉพาะหน่วยงาน แล้วไม่ให้ user เข้าได้ จะต้องทำอย่างไร โดยใช้ table user เดียวกันใช้ร่วมกันทั้งหมด
ได้แก่
               user    password           หน่วยงาน
            1.   aaa       1234                   กกก
            2.   bbb       5678                   ขขข
            3.   ccc        4321                   คคค

คือ user ของแต่ละหน่วยงาน user อื่น ไม่สามารถเข้าได้ นอกจาก user ของหน่วยงานนั้นๆ จะต้องทำอย่างไรครับ

เรียน อ. และผู้รู้ ช่วยกรุณาด้วยครับ

ขอบคุณ
5 @R13168
ก็ใส่ Where เข้าในการเช็คซิครับ

if
dlookup(uid, tbuser,user like textbox1 and password like textbox2 and หน่วยงาน =กกก)
end if

** ผมเขียนคร่าวๆ ไวๆ นะครับ ให้เห็นโครงสร้างเท่านั้น เครื่องหมายต่างๆ ไม่ได้ใส่ให้
6 @R13195
จาก form login ของผม

    Dim stDocName As String
    Dim stLinkCriteria As String
    Dim USR As Variant
    Dim rst As Recordset
    Dim dbs As Database
    Set dbs = CurrentDb()
    Set rst = dbs.OpenRecordset("SELECT * FROM User" & _
                             " WHERE User='" & USER_NAME & _
                            "' AND password ='" & USER_PASS & "'")
    If Not rst.EOF Then
        UserLogin = rst!User
        BelongToAdmin = rst!Password
        stDocName = "1_form_AddKey1"
        DoCmd.OpenForm stDocName, , , stLinkCriteria
        DoCmd.GoToRecord , , acNewRec
        Forms("1_form_AddKey1").Controls("at_username") = [USER_NAME]
    Else
        Beep
        MsgBox "ชื่อ หรือ รหัสผ่านไม่ถูกต้อง โปรดใส่ชื่อ หรือ รหัสผ่าน ให้ถูกต้อง!", 0, "แจ้งให้ทราบว่า"
    End If

ผมควรจะเขียนอย่างไรต่อครับ ถึงจะได้ในข้อมุลที่ต้องการ
อ. และท่านผู้รู้ โปรดช่วย แก้ไข หรือ เพิ่มเติมให้ด้วยครับ (พึ่งจะเริ่มหัดเขียน)

ขอบคุณ
7 @R13197
ก็ใส่ Where ต่อไปใน statement นั่นเลยครับ ตัวที่เอาไปเปิด recordset นั่นแหละ

... password ='" & USER_PASS & "' Where หน่วยงาน Like 'กกก'")

แบบนี้ มันก็จะไม่เช็คหน่วยงานอื่นเลย มันจะเช็คเฉพาะหน่วย กกก เท่านั้น
หรือความหมายอีกอย่างก็คือ หน่วยอื่นไม่มีสิทธิ์ล็อกอิน เพราะโค้ดมันเช็คไม่เจออยู่แล้ว (มันไม่เช็คเลยต่างหาก)
8 @R13199
ขอบคุณครับ

เดี๋ยวจะลองทำดูครับ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.2723s