sayyın @berduş maliesef olmadı son kodunuz.
Access Isnull Hatası
(12/01/2020, 15:52)ozanakkaya yazdı: inceleyiniz, forma 2 adet metin kutusu ekledim. txtSoyadAra ve txtAdAra metin kutularının değiştiğinde olayına kod eklendi,
Sub Ara kodunda düzenleme yapıldı.
Denedim ve sonuç olumlu.
Şöyle deneyeceğim 2 adet eklediğiniz textboxu silip 2 adet değişken ekleyeyim en üst kod satırında Global olarak bakalım nasıl olacak.inşallah olur böyle çünkü fazladan textbox eklemek istemiyorum abey.
(12/01/2020, 19:17)feraz yazdı:(12/01/2020, 15:52)ozanakkaya yazdı: inceleyiniz, forma 2 adet metin kutusu ekledim. txtSoyadAra ve txtAdAra metin kutularının değiştiğinde olayına kod eklendi,
Sub Ara kodunda düzenleme yapıldı.
Denedim ve sonuç olumlu.
Şöyle deneyeceğim 2 adet eklediğiniz textboxu silip 2 adet değişken ekleyeyim en üst kod satırında Global olarak bakalım nasıl olacak.inşallah olur böyle çünkü fazladan textbox eklemek istemiyorum abey.
Sayın @ozanakkaya 2 adet eklediğiniz textboxları sildim ve global adlanda değşken ekleyip denedim ve sorun çözüldü.Bir tane daha Yas adında textbox ekledim ve sorunsuz çalıştı 3 adet arama textboxu için.Teşekkürler.
Sizede teşekkürler @berduş
Eklediğim kod;
Dim txtAdAra_gecici, txtSoyadAra_gecici, txtYasAra_gecici
Değişen kodlar;
If Not IsNull(txtAdAra_gecici) Then strSQL = strSQL & " and Ad like '%" & txtAdAra_gecici & "%'"
If Not IsNull(txtSoyadAra_gecici) Then strSQL = strSQL & " and Soyad like '%" & txtSoyadAra_gecici & "%'"
If Not IsNull(txtYasAra_gecici) Then strSQL = strSQL & " and Yas like '%" & txtYasAra_gecici & "%'"
Option Compare Database
Dim rs As New ADODB.Recordset
Dim cn As New ADODB.Connection
Dim strSQL As String
Dim txtAdAra_gecici, txtSoyadAra_gecici, txtYasAra_gecici
Sub Ara()
'On Error Resume Next
With cn
If .State = adStateOpen Then
.Close
Set cn = Nothing
End If
End With
Set cn = CurrentProject.Connection
strSQL = "Select id,FORMAT(Tarih, 'dd.mm.yyyy') as Tarih,Ad,Soyad,Yas,format(Telefon,'(###) ### ## ##')as Telefon From Tablo1 where Not IsNull(id)"
If Not IsNull(txtAdAra_gecici) Then strSQL = strSQL & " and Ad like '%" & txtAdAra_gecici & "%'"
If Not IsNull(txtSoyadAra_gecici) Then strSQL = strSQL & " and Soyad like '%" & txtSoyadAra_gecici & "%'"
If Not IsNull(txtYasAra_gecici) Then strSQL = strSQL & " and Yas like '%" & txtYasAra_gecici & "%'"
With rs
If .State = adStateOpen Then .Close
.CursorType = adOpenDynamic
.CursorLocation = 3
.LockType = adLockOptimistic
.Open strSQL, cn, , , 1
End With
Lstbox.ColumnCount = 6
Lstbox.ColumnWidths = "2Cm;2Cm;3Cm;3Cm;3Cm;3Cm"
Lstbox.ColumnHeads = True
Set Lstbox.Recordset = rs
End Sub
Private Sub txtAdAra_Change()
txtAdAra_gecici = Me.txtAdAra.Text
Call Ara
End Sub
Private Sub txtSoyadAra_Change()
txtSoyadAra_gecici = Me.txtSoyadAra.Text
Call Ara
End Sub
Private Sub txtYasArama_Change()
txtYasAra_gecici = Me.txtYasArama.Text
Call Ara
End Sub
Güzel yöntem)
Şöyle birseyi de dendeneyebilir misiniz? bilgisayar erişimim olmadığından deneyemedim
Ilk mesajdaki çalışmanız için ara fonksiyonunun en başına aşağıdaki kodu ekler misiniz
Şöyle birseyi de dendeneyebilir misiniz? bilgisayar erişimim olmadığından deneyemedim
Ilk mesajdaki çalışmanız için ara fonksiyonunun en başına aşağıdaki kodu ekler misiniz
Screen.ActiveControl.value=Screen.ActiveControl.text
Screen.ActiveControl.SelStart=len(Screen.ActiveControl.value)
Geriye kalan tüm kodlar ilk mesajınızdaki gibi kalacak
(12/01/2020, 19:56)berduş yazdı: Güzel yöntem)
Şöyle birseyi de dendeneyebilir misiniz? bilgisayar erişimim olmadığından deneyemedim
Ilk mesajdaki çalışmanız için ara fonksiyonunun en başına aşağıdaki kodu ekler misiniz
Geriye kalan tüm kodlar ilk mesajınızdaki gibi kalacakScreen.ActiveControl.value=Screen.ActiveControl.text
Screen.ActiveControl.SelStart=len(Screen.ActiveControl.value)
Böyle çok süper oldu
Kodların açıklamasını yazabilir misiniz?
SelStart ne olduğunu biliyorum fakat burdaki kullanma amacını anlayamadım.
Screen bunuda anlayamadım acaba exceldeki application.screenupdate gibi birşey mi?
Screen.ActiveControl odaklanilmis aktif nesneyi gosterir, aktif nesnenin değerini metin değerine eşler böylece value değeri text değerine eşit olur
screen komutunun anlamini ben de tam olarak bilmiyorum ama sanki ekranda görünen nesneler için kullanılıyor gibi geldi biraz zorlama bir yorum
Alttaki kodu önlem olarak eklemiştim belki o kod olmadan bile çalışır: imleci aktif nesnenin belirtilen konumuna taşır biz tüm metni aldığımızdan en sona aldı
Not: ilk kodu kullanırken dikkatli olmalısınız metin kutusu herhangi bir tablo alanıyla ilişkili olmadığından burada sorun çıkarmayabilir ama başka bir alanla iliskiliyse yada ctrl+z de sorun cikarir
screen komutunun anlamini ben de tam olarak bilmiyorum ama sanki ekranda görünen nesneler için kullanılıyor gibi geldi biraz zorlama bir yorum
Alttaki kodu önlem olarak eklemiştim belki o kod olmadan bile çalışır: imleci aktif nesnenin belirtilen konumuna taşır biz tüm metni aldığımızdan en sona aldı
Not: ilk kodu kullanırken dikkatli olmalısınız metin kutusu herhangi bir tablo alanıyla ilişkili olmadığından burada sorun çıkarmayabilir ama başka bir alanla iliskiliyse yada ctrl+z de sorun cikarir
Konuyu Okuyanlar: 1 Ziyaretçi