ช่วยดูโค้ดให้ผมด้วยครับ
กระทู้เก่าบอร์ด อ.สุภาพ ไชยา

 252   8
URL.หัวข้อ / URL
ช่วยดูโค้ดให้ผมด้วยครับ

ทำตามหนังสือครับ
คือมันเป็นแถบสีน้ำเงิน ตรง USER_NAME ครับ

แถวนี้ครับ " WHERE USER_NAME=' " & USER_NAME & _
.............
Private Sub cmdOK_Click()
On Error GoTo Err_cmdOK_Click
Dim rst As Recordset
Dim dbs As Database
Dim stDocName As String
Dim stLinkCriteria As String
Dim USR As Variant

Set dbs = CurrentDb()
Set rst = dbs.OpenRecordset("SELECT * FROM TBL_USER" & _
" WHERE USER_NAME=' " & USER_NAME & _
" ' AND USER_PASS =' " & USER_PASS & " ' ")
If Not rst.EOF Then
UserLogin = rst!USER_NAME
BelongToAdmin = rst!USER_ADMIN
DoCmd.Close
stDocName = "frmMain"
DoCmd.OpenForm stDocName, , , stLinkCriteria
Else
Beep
MsgBox "ชื่อหรือรหัสไม่ถูกต้อง", vbCritical, "แจ้งให้ทราบ "
End If

Exit_cmdOK_Click:
Exit Sub

Err_cmdOK_Click:
MsgBox Err.Description
Resume Exit_cmdOK_Click
End Sub
................
ขอบคุณครับ

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

1 @R05922
'" & USER_NAME & "' " & _
เดาว่าน่าจะเป็นหยั่งงี้นะครับ
2 @R05924
ไม่ได้ครับ เป็นแถบสีน้ำเงินเหมือนเดิม
ขอบคุณครับ คุณ ตุ้มเม้ง
3 @R05925
เต็มๆ แบบไม่น่าพราด (คาดว่าครับ)
Set rst = dbs.OpenRecordset("SELECT * FROM TBL_USER WHERE USER_NAME = '" & USER_NAME & "' AND USER_PASS = '" & USER_PASS & "'")

ถ้ายังไม่ได้ ขึ้น Err. ตรงไหนครับ
4 @R05928
แนะนำเพิ่มเติมนะครับว่า ในกรณีที่เป็นฟิลด์แบบ Text แล้วต้องการอ้างถึงในโปรแกรมให้ใช้ฟังก์ชัน chr() แทน การพิมพ์เครื่องหมาย ' ครับ เช่น


"' & USER_PASS & "'" ให้ใช้ Chr(34) & USER_PASS & Chr(34)


ใช้ได้ผลดี ดูง่าย แล้วก็ตรวจสอบง่ายครับ
5 @R05930
ขอบคุณครับสำหรับคำแนะนำ ทั้งสองท่าน ผมลองทำตามทั้งสองท่านแล้ว ยังใช้ไม่ได้ครับ ไม่รู้ว่าผมทำพลาดตรงไหนนะครับ
คุณ : ตุ้มเม้ง ครับ ที่ถามผมว่า "ถ้ายังไม่ได้ ขึ้น Err. ตรงไหนครับ"
.............
บางทีมันก็ เป็นแถบสีน้ำเงิน ตรง USER_NAME

แถวนี้ครับ " WHERE USER_NAME=' " & USER_NAME & _
.............
บางครั้งมันก็ เป็นแถบสีน้ำเงิน ตรง Recordset
แถวนี้ครับDim rst As Recordset

แล้วในส่วนตัวแปรชนิด Global ที่บอกว่าต้องประกาศในส่วนของModuleด้วยคำสั่ง

Global UserLogin As String
Global BelongToAdmin As Boolean

ผมบันทึกชื่อว่า user ใช้ได้หรือเปล่าครับ
ขอบคุณครับ

6 @R05932
ผมแนบขอแนบฐานข้อมูลมาด้วยครับ
7 @R05933
ให้แก้เป็น

...
Set rst = dbs.OpenRecordset("SELECT * FROM TBL_USER WHERE USER_NAME = '" & Me.UserName & "' AND USER_PASS = '" & Me.Passwd & "'")
...

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