กระทู้เก่าบอร์ด อ.Yeadram
        
           1,622   5		  
          
					  
		    URL.หัวข้อ / 
		    URL
        
        ช่วยดูโค้ดให้หนอ่ยค่ะ      
    
      พอดีทำ loginใน acsees 
มีตาราง tbl_User
ประกอบด้วยฟิล User_name, User_pass , User_Admin
แล้วเขียนโค้ดตรวจสอบ username and password ดังนี้ค่ะ
Private Sub cmdOK_Click()
Dim stDocName As String, stLinkCriteria As String
Dim rst As Recordset, dbs As Database
Set dbs = CurrentDb()
Set rst = dbs.OpenRecordset("SELECT*FROM tbl_User")
If rst!User_Name = Text11.Value And rst!User_Pass = Text13.Value Then
UserLogin = rst!User_Name
BelongToAdmin = rst!User_Admin
DoCmd.Close
stDocName = "Frm_Manu"
DoCmd.OpenForm stDocName, , , stLinkCriteria
Else
Beep
MsgBox "Username and Password Invoid", vbOKOnly, "Warning"
                       
End If
End Sub
แต่ว่าพอใส่ username and password ในหน้าฟอร์มมันจะขึ้นแต่ว่า"Username and Password Invoid"
ไม่ทราบว่าเขียนตรงไหนผิดค่ะ
    
  มีตาราง tbl_User
ประกอบด้วยฟิล User_name, User_pass , User_Admin
แล้วเขียนโค้ดตรวจสอบ username and password ดังนี้ค่ะ
Private Sub cmdOK_Click()
Dim stDocName As String, stLinkCriteria As String
Dim rst As Recordset, dbs As Database
Set dbs = CurrentDb()
Set rst = dbs.OpenRecordset("SELECT*FROM tbl_User")
If rst!User_Name = Text11.Value And rst!User_Pass = Text13.Value Then
UserLogin = rst!User_Name
BelongToAdmin = rst!User_Admin
DoCmd.Close
stDocName = "Frm_Manu"
DoCmd.OpenForm stDocName, , , stLinkCriteria
Else
Beep
MsgBox "Username and Password Invoid", vbOKOnly, "Warning"
End If
End Sub
แต่ว่าพอใส่ username and password ในหน้าฟอร์มมันจะขึ้นแต่ว่า"Username and Password Invoid"
ไม่ทราบว่าเขียนตรงไหนผิดค่ะ
				5 Reply in this Topic. Dispaly 1  pages and you are on page number 1 
				
        
    2 @R04503    
        
  
      มันสามารถลิงค์ฟอร์มได้แล้วค่ะ ท่าเราใส่username and password ถูก
แต่ตอนนี้ท่าเราลองใส่ผิดมันกลับไม่แสดง msg box ฟ้องว่า username and password invoid โค้ดอันเดิมค่ะ ไม่ทราบว่าเป็นที่อะไรค่ะ
    
  แต่ตอนนี้ท่าเราลองใส่ผิดมันกลับไม่แสดง msg box ฟ้องว่า username and password invoid โค้ดอันเดิมค่ะ ไม่ทราบว่าเป็นที่อะไรค่ะ
        
    3 @R04504    
        
      
Private Sub cmdOK_Click()
Dim stDocName As String, stLinkCriteria As String
Dim rst As Recordset, dbs As Database
Set dbs = CurrentDb()
Set rst = dbs.OpenRecordset("SELECT * FROM Tbl_User WHERE User_Name='" & Text11.Value & "'" & " and User_Pass='" & Text13.Value & "'")
If rst!User_Name = Text11 And rst!User_Pass = Text13 Then
UserLogin = rst!User_Name
                      
BelongToAdmin = rst!User_Admin
                      
DoCmd.Close
                 
stDocName = "Frm_Manu"
                 
DoCmd.OpenForm stDocName, , , stLinkCriteria
                 
Else
                
Beep
MsgBox "Username and Password Invoid", "Warning"
                       
End If
End Sub
มันจะ error บันทัดนี้ค่ะ
If rst!User_Name = Text11 And rst!User_Pass = Text13 Then
    
    
  
  Private Sub cmdOK_Click()
Dim stDocName As String, stLinkCriteria As String
Dim rst As Recordset, dbs As Database
Set dbs = CurrentDb()
Set rst = dbs.OpenRecordset("SELECT * FROM Tbl_User WHERE User_Name='" & Text11.Value & "'" & " and User_Pass='" & Text13.Value & "'")
If rst!User_Name = Text11 And rst!User_Pass = Text13 Then
UserLogin = rst!User_Name
BelongToAdmin = rst!User_Admin
DoCmd.Close
stDocName = "Frm_Manu"
DoCmd.OpenForm stDocName, , , stLinkCriteria
Else
Beep
MsgBox "Username and Password Invoid", "Warning"
End If
End Sub
มันจะ error บันทัดนี้ค่ะ
If rst!User_Name = Text11 And rst!User_Pass = Text13 Then
        
    4 @R04509    
        
      
    
  
  Private Sub cmdOK_Click() 
UserLogin=""
          Dim rst As Recordset, dbs As Database 
          Set dbs = CurrentDb() 
Set rst = dbs.OpenRecordset("SELECT * FROM Tbl_User   WHERE User_Name='" & Text11 & "'" & " and User_Pass='" & Text13 & "'")
' DAO มันใช้เหมือนกันหรือเปล่าไม่แน่ใจและไม่ได้ลอง
if rst.recordcount >0 then
     UserLogin = Text11                      
     BelongToAdmin = Text13             
else
    msgbox "User Name or Password incorrect"
end if
    rst.close
    set rst=nothing
if Userlogin<>"" then
         DoCmd.OpenForm "Frm_Manu"
         docmd.close acform, me.name
         exit sub
end if
quit
End sub    
        
    5 @R04512    
        
    
      ขอบคุณมากๆๆๆเลยค่ะ yeadram
ได้แล้วค่ะ
    
  ได้แล้วค่ะ
      Time: 0.6047s
    
      
		
ที่Text11 และText13 ไม่ต้องมี .Value ครับ(ให้ Text11 และText13 รับค่าเป็น string ได้ )