การส่งรหัสผ่าน
กระทู้เก่าบอร์ด อ.Yeadram

 2,277   13
URL.หัวข้อ / URL
การส่งรหัสผ่าน

ผมขอความช่วยเหลือด้วยครับ ผมได้สร้างฟอร์ม login ไว้เรียบร้อยแล้ว และได้เขียนคำสั่งให้รหัสผ่านไปเก็บไว้ที่ฟอร์มหลัก (Form1) ได้ แต่ตอนนี้มีปัญหาว่า ผมจะเปลี่ยนเป็นให้รหัสผ่านไปเก็บไว้ที่ฟอร์มย่อย (Form2) แทน (ฟอร์มย่อยเป็นรูปแบบ Continuous Forms และฟิวด์ที่สร้างไว้รับรหัสผ่านชื่อ sub_user) โดยที่เมื่อเปิดฟอร์มขึ้นมาจะเป็นการเพิ่มหรือเรียกข้อมูลมาแก้ไขก็ตาม ให้รหัสผ่านนั้นไปเก็บในฟอร์มย่อยทุกครั้งเมื่อมีการเพิ่มหรือเปลี่ยนแปลงข้อมูลครับ
ด้านล่างนี้เป็นคำสั่งที่ผมได้นำมาใช้ จะต้องแก้ไขอย่างไรครับ
    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 = "Form1"
        DoCmd.OpenForm stDocName, , , stLinkCriteria
        DoCmd.GoToRecord , , acNewRec
        Forms("Form1").Controls("username1") = [USER_NAME]
    Else
        Beep
        MsgBox "ชื่อ หรือ รหัสผ่านไม่ีถูกต้อง โปรดใส่ชื่อ หรือ รหัสผ่านให้ถูกต้อง ", 0, "แจ้งให้ทราบว่า"
    End If

อ. และท่านผู้รู้ครับ โปรดช่วยแก้ไขให้ถูกต้องด้วยครับ ขอบคุณครับ

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

1 @R16882
ไม่เข้าใจว่าจะนำ รหัสผ่านไปเก็บในฟอร์มย่อยทำไม?
ปกติ รหัสผ่าน ผ่านแล้วก็ผ่านเลยไม่จำเป็นต้องใช้อีกนี่ครับ
2 @R16883
เอาไว้พักรหัส ชื่อ คน Login ครับอาจารย์พิชัย

แล้วเอาไปใช้ อ้างอิงว่าใครเข้ามาทำงานในฟอร์ม

เป็นอีกวิธีนึง บางคนก็เอาไปเก็บในตารางเลย

วิธีนี้เวลาอ้างอิง ก็อ้างอิงที่ฟอร์มเลยง่ายดีครับ
3 @R16886
ใช่ครับอาจารย์ อย่างที่คุณ Un บอกครับ เพื่อเก็บไว้อ้างอิงครับ ช่วยอนุเคราะห์ด้วยครับอาจารย์ และท่านผู้รู้ ขอบคุณครับ
4 @R16887
แต่วิธีผม ง่ายกว่านี้อีกนะ
5 @R16890
มีวิธีไหนอีกครับ ดีครับ ช่วยบอก ขอบคุณ
6 @R16891
        If DCount("userId", "user", "password=forms!login![pass]") = 0 Then
            MsgBox "รหัสผ่านไม่ถูกต้อง..." & _
                            "ระบุใหม่ให้ถูกต้อง...", vbCritical, "Un"
        Else
            DoCmd.OpenForm "main"     'สั่งให้เปิดฟอร์มหลัก
            DoCmd.OpenForm "BG"       'สั่งให้เปิดฟอร์ม Background
            [Forms]![login]![name] = DLookup("[User]", "[User]", "[Password] =[Forms]![login]![pass]")
            [Forms]![BG]![UserId] = DLookup("userId", "user", "user=forms!login![name] And password=forms!login![pass]")
            [Forms]![BG]![user] = DLookup("user", "user", "user=forms!login![name] And password=forms!login![pass]")
            [Forms]![BG]![uName] = DLookup("[name]", "user", "password=forms!login![pass]")
            [Forms]![BG]![uPosition] = DLookup("[Position_C]", "user", "password=forms!login![pass]")
            Forms!main.Caption = " Login by : " & [Forms]![BG]![uName] & " "      
            DoCmd.close acForm, "Login"
            DoCmd.SelectObject acForm, "main"
        End If


ลองดูแล้ว Appile เอานะครับ ผมว่ามันตรงๆ ง่ายว่าอีก
7 @R16892
ใช้ไม่ได้ครับ

มันขึ้นหน้าต่างฟ้องว่า "คุณได้ยกเลิกการทำงานก่อนหน้านี้"

ไม่ทราบว่าผมเขียนถูกหรือไม่ เพราะพอเปลี่ยนรูปแบบคำสั่งผมเลย งง ๆ ครับ
ผมพึ่งหัดเขีัยนได้ไม่นานนัก ต้องขอโทษด้วย ช่วยอธิบายด้วยครับเป็นเพราะอะไร

ขอบคุณครับ
8 @R16893
ปัญหาของผมคือการอธิบายนี่หล่ะครับ
อะไรที่มัน หลายขั้รตอน และไม่รู้ ระดับของอีกคน
ผมไม่มีความอดทนพอจะอธิบาย ด้วยการพิมพ์ครับ
ขอเมลแล้วกัน เดี๋ยวทำให้ดูแล้ว ไปแกะเอา ง่ายกว่า
9 @R16895
Mail ครับ : stk.nan@gmail.com

ผมขอพร้อมตัวอย่างด้วยนะครับ จะได้เห็นทั้งรูปแบบคำสั่ง และการ link ระหว่างฟอร์มหลัก และฟอร์มย่อย ขอบคุณมากครับ
10 @R16920
ก่อนอื่นต้องขอขอบคุณคุณ Un ครับ ผมได้รับ Mail แล้ว แต่จริงแล้ว ผมต้องการในส่วนของคำสั่งที่ทำให้เมื่อ login แล้ว เปิดฟอร์มหลักขึ้นมา ให้ชื่อของ user ไปเก็บอยู่ใน subform ของฟอร์มหลักครับ
ขอความกรุณาคุณ Un ช่วยอีกครั้งครั้บ ผมขอคำสั่ง และตัวอย่างให้ดูด้วยครับ ถ้ามีคำอธิบายด้วยยิ่งสุดยอดเลยครับ แต่ถ้าอธิบายไม่ได้ก็ไม่เป็นไรครับ ผมจะพยายามทำความเข้าใจเองครับ ส่งมาที่ mail เดิมครับ ขอบคุณมาครับ
11 @R16921
ก็สลับชื่อฟอร์มสิครับ เช่น
[Forms]![BG]![UserId] ก็เปลี่ยนเป็น [Forms]![main]![UserId]
เราจะให้ไปเก็บฟอร์มไหน ก็ เปลี่ยนแค่ชื่อฟอร์ม
12 @R16922
ผมอยากได้ฟอร์มตัวอย่างด้วยนะครับ ไม่ทราบว่าจะจัดให้ได้ไหมครับ ขอบคุณครับ
13 @R16944
ขอขอบคุณ คุณ Un ครับ ผมได้นำมาปรับใช้ได้เรียบร้อยแล้วครับ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.2954s