Aşağıdaki kod her ne kadar sağlam gibi gözükse, kullanım esasında bir açık yaratmakta ve buda bir hatayı tetiklemektedir.
private sub command2_click()
if (text1.text="celal") and(text2.text="1234") then
form2.show '*
else
msgbox "Girdiğiniz bilgilerden en az birisi yanlış.Lütfen tekrar kontrol ediniz"
end if
end sub
Şu unutulmamalıdır. String değer kullanımı sırasında Textboxlar içine girilen bilgi kodlarımız arasında şu şekilde kullanılmalıdır.
private sub command2_click()
if trim(text1.text)="celal" and val(text2.text) = 1234 then
form2.show '*
else
msgbox "Girdiğiniz bilgilerden en az birisi yanlış.Lütfen tekrar kontrol ediniz"
end if
end sub
şimdi ne yaptık onu açıklamak istiyorum.
Text1.text içine girilen bilgi string bir bilgi, bu tip bilgiler karşılaştırma sırasında text1.text içine girilen bilginin önce başındaki ve sonundaki boşlukların alınması gerekmektedir. bunuda Trim() ifadesi ile yapıyoruz.
Şifre kısmında ise girilen bilgi sayısal değerdir. bu durumda bilgiyi val() ile almamız ve karşılaştırmamız gerekir. Çünki rakam...
dikkat ederseniz burda
val(text2.text) = 1234
şöle bir ifade kullandım ve bu sayıları kesinlikle bir string bilgiymiş gibi "" tırnak içine almadım.
şimdi benim verdiğim kod buraya kadar yazım mantığında sağlam iken form kısmının declarasyon kısmına
option explicit altına option compare text ifadesini giresiye kadar gene hata üretir.
burdaki sorunumuzda şu...
trim(text1.text)="celal" bu ifadeyi yazdık fakat form declarasyon kısmına option compare text yazmadık...
text1.text içine girişlerde özellikle türkçe karakter kullanımlarında büyük küçük harf duyarlılığında sorunlar yaşardık.
örnek:
If Trim(Text1.Text) = "İSTANBUL" Then
MsgBox "İSTANBUL büyük harfle girdiniz"
End If
yukarıdaki kodu projenize ekleyin. text1.text içine küçük harf le istanbul yazın karşılaştırma işlemi başarısız olucaktır.
umarım yardımcı olabilmişimdir.
[/kod]