กระทู้เก่าบอร์ด อ.สุภาพ ไชยา
326 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
................
ขอบคุณครับ
คือมันเป็นแถบสีน้ำเงิน ตรง 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
2 @R05924
ไม่ได้ครับ เป็นแถบสีน้ำเงินเหมือนเดิม
ขอบคุณครับ คุณ ตุ้มเม้ง
ขอบคุณครับ คุณ ตุ้มเม้ง
3 @R05925
เต็มๆ แบบไม่น่าพราด (คาดว่าครับ)
Set rst = dbs.OpenRecordset("SELECT * FROM TBL_USER WHERE USER_NAME = '" & USER_NAME & "' AND USER_PASS = '" & USER_PASS & "'")
ถ้ายังไม่ได้ ขึ้น Err. ตรงไหนครับ
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)
ใช้ได้ผลดี ดูง่าย แล้วก็ตรวจสอบง่ายครับ
"' & 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 ใช้ได้หรือเปล่าครับ
ขอบคุณครับ
คุณ : ตุ้มเม้ง ครับ ที่ถามผมว่า "ถ้ายังไม่ได้ ขึ้น 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 & "'")
...
...
Set rst = dbs.OpenRecordset("SELECT * FROM TBL_USER WHERE USER_NAME = '" & Me.UserName & "' AND USER_PASS = '" & Me.Passwd & "'")
...
8 @R05935
ขอบคุณครับ อาจารย์ ใช้ได้แล้วครับ
Time: 0.1240s
เดาว่าน่าจะเป็นหยั่งงี้นะครับ