กระทู้เก่าบอร์ด อ.Yeadram
1,207 7
URL.หัวข้อ /
URL
ปัญหา If DCount ของผู้ด้อยปัญญา
Private Sub Command0_Click()
If DCount("username", "loginuser", "username = '&u&'" And ",passwords = '&p&'") > 0 Then
DoCmd.OpenForm (MENU)
Else
MsgBox "กรุณากรอกชื่อผู้ใช้ที่ถูกต้อง"
End If
End Sub
พอดีผมกำลังทำระบบLogin มีตารางชื่อ loginuser ไว้เก็บข้อมูล username กับ passwords ในฟอมร์มือช่องใส่ username ชื่อ u และ passwords ชื่ p ไม่ทราบว่าผมผิดตรงไหนทำไมมันเด้งครับ
ขอบคุณสำหรับคำตอบล่วงหน้าครับ
If DCount("username", "loginuser", "username = '&u&'" And ",passwords = '&p&'") > 0 Then
DoCmd.OpenForm (MENU)
Else
MsgBox "กรุณากรอกชื่อผู้ใช้ที่ถูกต้อง"
End If
End Sub
พอดีผมกำลังทำระบบLogin มีตารางชื่อ loginuser ไว้เก็บข้อมูล username กับ passwords ในฟอมร์มือช่องใส่ username ชื่อ u และ passwords ชื่ p ไม่ทราบว่าผมผิดตรงไหนทำไมมันเด้งครับ
ขอบคุณสำหรับคำตอบล่วงหน้าครับ
7 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R12060
รบกวนอีกสักนิดนะครับ ผมอยากทราบว่าcodeที่ให้มันทำงานยังไงอธิบายหน่อยครับ แล้วcodeของผมมันผิดพลาดตรงไหน รบกวนอีกทีหนึ่งนะครับ
3 @R12061
คือว่าผมกำลังไปสอบครับ เวลาสอบมันต้องใช้ความจำอาครับ
4 @R12062
ต้องถามอีกว่า code ของคุณมี error หรือเปล่า ได้ลอง Debug ดูไหม ว่า code มันเป็นตามเงื่อนไขที่คุณเขียนหรือไม่
5 @R12063
เอาเป็นว่า code ที่ให้ไปนั้น ต้อง Dcount เพื่อหาค่า user name ก่อน ว่าที่ใส่จากหน้า form มีใน table Loginuser หรือไม่ ถ้ามี ก็เอา username ไปทำ Dlookup เพื่อหา Password ของ username นั้น ๆ เมื่อหาได้แล้วก็เก็บค่าไว้ที่ strPwd แล้วก็ ไปทำการเปรียบเทียบกับ U ที่ใส่ค่าจาก Form ว่าตรงกันหรือไม่ ถ้าตรงกันก็ไปเปิด Form xxxx
ถ้าไม่ตรง ก็มี msgbox " !!!!!!!!! "
พอจะเข้าใจนะ อธิบายไม่ค่อยเก่ง แต่ก็ประมาณนั้นค่ะ
ถ้าไม่ตรง ก็มี msgbox " !!!!!!!!! "
พอจะเข้าใจนะ อธิบายไม่ค่อยเก่ง แต่ก็ประมาณนั้นค่ะ
6 @R12076
ลองโหลด ของผมไปศึกษาเป็นแนวทางครับ
http://access.crtrading.net/fileDownload2009.aspx?softwareID=32
การตรวจสอบ user name /password
ทำได้หลายรูปแบบ
http://access.crtrading.net/fileDownload2009.aspx?softwareID=32
การตรวจสอบ user name /password
ทำได้หลายรูปแบบ
7 @R12079
"username = '&u&'" And ",passwords = '&p&'"
เปลี่ยนเป็น
"username =Forms!ชื่อฟอร์ม.U And passwords = Forms!ชื่อฟอร์ม.P'"
การใช้ '&u&'" อะไรประมาณนี้มีโอกาสผิดพลาดสูงครับ
เปลี่ยนเป็น
"username =Forms!ชื่อฟอร์ม.U And passwords = Forms!ชื่อฟอร์ม.P'"
การใช้ '&u&'" อะไรประมาณนี้มีโอกาสผิดพลาดสูงครับ
Time: 0.3369s
Dim strLog As String
Dim strPwd As String
strLog = Me.U
strPwd = Me.P
If DCount("[Passwords]", "Loginuser", ("[username]='" & Me.U & "'")) > 0 Then
strPwd = DLookup("[Passwords]", "Loginuser", "[username]='" & Me.U & "'")
If strPwd <> Me.P Then
MsgBox ("กรุณากรอกชื่อผู้ใช้ที่ถูกต้อง"), vbOKOnly
Me.Password = Null
Me.Password.SetFocus
Else
DoCmd.OpenForm "Main", acNormal
End if
end if
end sub
ลองดูนะคะ