กระทู้เก่าบอร์ด อ.Yeadram
        
           1,371   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.0604s
    
      
		
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
ลองดูนะคะ