กระทู้เก่าบอร์ด อ.Yeadram
2,331 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
อ. และท่านผู้รู้ครับ โปรดช่วยแก้ไขให้ถูกต้องด้วยครับ ขอบคุณครับ
ด้านล่างนี้เป็นคำสั่งที่ผมได้นำมาใช้ จะต้องแก้ไขอย่างไรครับ
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
2 @R16883
เอาไว้พักรหัส ชื่อ คน Login ครับอาจารย์พิชัย
แล้วเอาไปใช้ อ้างอิงว่าใครเข้ามาทำงานในฟอร์ม
เป็นอีกวิธีนึง บางคนก็เอาไปเก็บในตารางเลย
วิธีนี้เวลาอ้างอิง ก็อ้างอิงที่ฟอร์มเลยง่ายดีครับ
แล้วเอาไปใช้ อ้างอิงว่าใครเข้ามาทำงานในฟอร์ม
เป็นอีกวิธีนึง บางคนก็เอาไปเก็บในตารางเลย
วิธีนี้เวลาอ้างอิง ก็อ้างอิงที่ฟอร์มเลยง่ายดีครับ
3 @R16886
ใช่ครับอาจารย์ อย่างที่คุณ Un บอกครับ เพื่อเก็บไว้อ้างอิงครับ ช่วยอนุเคราะห์ด้วยครับอาจารย์ และท่านผู้รู้ ขอบคุณครับ
4 @R16887
แต่วิธีผม ง่ายกว่านี้อีกนะ
5 @R16890
มีวิธีไหนอีกครับ ดีครับ ช่วยบอก ขอบคุณ
6 @R16891
ลองดูแล้ว Appile เอานะครับ ผมว่ามันตรงๆ ง่ายว่าอีก
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 ระหว่างฟอร์มหลัก และฟอร์มย่อย ขอบคุณมากครับ
ผมขอพร้อมตัวอย่างด้วยนะครับ จะได้เห็นทั้งรูปแบบคำสั่ง และการ link ระหว่างฟอร์มหลัก และฟอร์มย่อย ขอบคุณมากครับ
10 @R16920
ก่อนอื่นต้องขอขอบคุณคุณ Un ครับ ผมได้รับ Mail แล้ว แต่จริงแล้ว ผมต้องการในส่วนของคำสั่งที่ทำให้เมื่อ login แล้ว เปิดฟอร์มหลักขึ้นมา ให้ชื่อของ user ไปเก็บอยู่ใน subform ของฟอร์มหลักครับ
ขอความกรุณาคุณ Un ช่วยอีกครั้งครั้บ ผมขอคำสั่ง และตัวอย่างให้ดูด้วยครับ ถ้ามีคำอธิบายด้วยยิ่งสุดยอดเลยครับ แต่ถ้าอธิบายไม่ได้ก็ไม่เป็นไรครับ ผมจะพยายามทำความเข้าใจเองครับ ส่งมาที่ mail เดิมครับ ขอบคุณมาครับ
ขอความกรุณาคุณ Un ช่วยอีกครั้งครั้บ ผมขอคำสั่ง และตัวอย่างให้ดูด้วยครับ ถ้ามีคำอธิบายด้วยยิ่งสุดยอดเลยครับ แต่ถ้าอธิบายไม่ได้ก็ไม่เป็นไรครับ ผมจะพยายามทำความเข้าใจเองครับ ส่งมาที่ mail เดิมครับ ขอบคุณมาครับ
11 @R16921
ก็สลับชื่อฟอร์มสิครับ เช่น
[Forms]![BG]![UserId] ก็เปลี่ยนเป็น [Forms]![main]![UserId]
เราจะให้ไปเก็บฟอร์มไหน ก็ เปลี่ยนแค่ชื่อฟอร์ม
[Forms]![BG]![UserId] ก็เปลี่ยนเป็น [Forms]![main]![UserId]
เราจะให้ไปเก็บฟอร์มไหน ก็ เปลี่ยนแค่ชื่อฟอร์ม
12 @R16922
ผมอยากได้ฟอร์มตัวอย่างด้วยนะครับ ไม่ทราบว่าจะจัดให้ได้ไหมครับ ขอบคุณครับ
13 @R16944
ขอขอบคุณ คุณ Un ครับ ผมได้นำมาปรับใช้ได้เรียบร้อยแล้วครับ
Time: 0.2534s
ปกติ รหัสผ่าน ผ่านแล้วก็ผ่านเลยไม่จำเป็นต้องใช้อีกนี่ครับ