Dear exzant dan idwan,
If IsNull(CboUserID) Or CboUserID = "" Then
sebagai alternatif expressi di atas bisa anda gunakan juga:
if len("" & cboUserID)>0 then
jadi string kosong di gabung dengan null akan menghasilkan string kosong
(""), sehingga bisa dievaluasi lebih lanjut.
Trik ini juga bisa dipakai untuk mengambil nilai dari recordset yang
berisi data null:
nama = "" & rs("nama")
---
Expressi sql yang dikirim berupa text bisa gagal jika mengandung
apostrof tunggal ataupun ganda, maka sebaiknya setiap expressi sql yang
bisa mengandung entrian apostrof tunggal atau ganda, anda ganti dengan
double apostrof:
' -> ''
" -> ""
fungsi berikut bisa digunakan:
Function FixApostof(str As String)
Dim s As String
s = Replace(str, Chr(39), Chr(39) & Chr(39))
FixApostof = Replace(s, Chr(34), Chr(34) & Chr(34))
End Function
contoh:
If strPass = DLookup("Password", "tbllogon", "[UserID]=" &
FixApostrof(Me.CboUserID.Value) Then
aksan kurdin
e...@nt wrote:
Saya biasa pake ini :
If strPass = DLookup("Password", "tbllogon", "[UserID]=" & chr(34) &
Me.CboUserID.Value & chr(34) ) Then
Chr(34) sama aja dgn tanda double quote ( " )
tujuan sy memakai chr(34) untuk menambah keamanan aplikasi
karena syntax SQL sangat rawan dgn tanda single quote ( ' )
jd kalo ada user mengisi password dgn satu single quote, tidak akan error
Silahkan dicoba..
salam,
e...@nt
2009/12/10 IdwanATuharea <[email protected]
<mailto:[email protected]>>
Dear All,
Saya sedang belajar bikin Logon Password, dimana ada proses
checking UserID & password dengan event procedure sbb :
'Cek UserID....
If IsNull(CboUserID) Or CboUserID = "" Then
MsgBox "Mohon masukan User ID", vbOKOnly, "Missing UserID"
CboUserID.SetFocus
Exit Sub
End If
'Jika UserID sudah terisi...dan cek password
If IsNull(Me.txtPassword) Or Me.txtPassword = "" Then
MsgBox "Mohon masukan Password.", vbOKOnly, "Missing Password"
Me.txtPassword.SetFocus
Exit Sub
Else
strPass = Me.txtPassword
End If
'Cek validitas password....
If strPass = DLookup("Password", "tbllogon", "[UserID]=" &
Me.CboUserID.Value) Then
DoCmd.Close acForm, "frmLogon", acSaveNo
DoCmd.OpenForm "FormUtama"
Else
MsgBox "Password Salah. Coba lagi", vbOKOnly, "Salah!"
Me.txtPassword.SetFocus
intCount = intCount + 1
End If
Untuk checking UserID nya Oke, tapi saat checking password selalu
error di procedure yang saya kasih tanda merah diatas...dengan
pesan yg muncul "you canceled the previous operation." saya sudah
coba rubah menjadi "[UserID]=' " tapi kan muncul error " syntax
error in string in query expression", adakah yang salah ? mhn
pencerahannya....
Thanks,
Idwan
------------------------------------------------------------------------
Mulai chatting dengan teman di Yahoo! Pingbox baru sekarang!!
<http://sg.rd.yahoo.com/id/messenger/pingbox/mailtagline/*http://id.messenger.yahoo.com/pingbox/>
Membuat tempat chat pribadi di blog Anda sekarang sangatlah mudah