Skip to main content

AccessTr.neT


3. Kritere göre sorgulama

3. Kritere göre sorgulama

Çözüldü #1

Dim Kriter As String
Adodc4.Refresh
If Kriter = "" Then
Kriter = "Tarih >= '" & CDate(ilktarih.Value) & "' and Tarih <= '" & CDate(sontarih.Value) & "'"
Else
Kriter = Kriter & " And Tarih >= '" & CDate(ilktarih.Value) & "' and Tarih <= '" & CDate(sontarih.Value) & " 'and VSFlexGrid11.TextMatrix(0, 20)= '" & (Combo11.Text) & "'"
End If
With Adodc4.Recordset
.Filter = Kriter
If .RecordCount > 0 Then .Update

End With
Set VSFlexGrid11.DataSource = Adodc4

Call Kolonlari_Ayarla(VSFlexGrid11)





Bu iki tarih arasında listeliyor 3. bir kriter eklemek istersem ne yapmam lazım ?
Cevapla
Çözüldü #2
VBA tagları arasında yazınca ne kadar rahat okunur oldu Img-grin Bir kriter daha eklemek istiyorsunuz. Bu kriteri Else If olarak mı yoksa Sql kodu olarakmı soruyorsunuz?
AccessTr.Net teknik konular içeren bir sitedir. Bu tip sitelerde en iyi şekilde yardım alabilmeniz için Site Kurallarını mutlaka okumanız ve buna göre hareket etmeniz lazım.
Cevapla
Çözüldü #3
Sn:sedat76
Örneği aldığınız yerde sadece bir kritere göre listeleme yapmaktadır.Yani sadece iki tarih arasınını listeler.Eğer çoklu kriter eklemeniz gerekirse İf / Else arasına istediğiniz kadar kriter belirliyebilirsiniz.Aşağıdaki Kodları inceleyip kendinize göre uyarlarsınız.
Dim Kriter As String
Adodc1.Refresh

'Birinci Kriter Adı ve Soyadına göre arama yapar.

If Kriter = "" Then
Kriter = "Adi_Soyadi='" & txtadisoyadi.Text & "'"
Else
Kriter = Kriter & " And Adi_Soyadi='" & txtadisoyadi.Text & "'"
End If
End If

'İkinci Kriter Tc Kimlik Nosuna göre arama yapar.

If txtkimlikno.Text <> "" Then
If Kriter = "" Then
Kriter = "Tc_Kimlik_No='" & txtkimlikno.Text & "'"
Else
Kriter = Kriter & " And Tc_Kimlik_No='" & txtkimlikno.Text & "'"
End If
End If

'Üçüncü Kriter Bulunduğu Şehire göre arama yapar.

If txtsehir.Text <> "" Then
If Kriter = "" Then
Kriter = "Sehir='" & txtsehir.Text & "'"
Else
Kriter = Kriter & " And Sehir='" & txtsehir.Text & "'"
End If
End If

With Adodc1.Recordset
.Filter = Kriter
If .RecordCount > 0 Then .Update
End With

Set VSFlexGrid1.DataSource = Adodc1

Public Function Suz()
[TC_KIMLIK_NO] like '" & TxtKimlik.Text & "%' and [EGITIM_YILI] like '" & TxtYil.Text & "%' and [DONEM] like '" & TxtDonem.Text & "%' and [SINIF] like '" & TxtSinif.Text & "%'"
If LblSorgu.Caption = "Kursiyer" Then
Call Kursiyer
AdodcKursiyer.RecordSource = "Select * From TBL_KIMLIK where [ADI] like '" & TxtAd.Text & "%' and [SOYADI] like '" & TxtSoyad.Text & "%' and [TC_KIMLIK_NO] like '" & TxtKimlik.Text & "%'"
AdodcKursiyer.Refresh
ElseIf LblSorgu.Caption = "Egitimci" Then
Call Egitimci
AdodcEgitimci.RecordSource = "Select * From TBL_KIMLIK where [ADI] like '" & TxtAd.Text & "%' and [SOYADI] like '" & TxtSoyad.Text & "%' and [TC_KIMLIK_NO] like '" & TxtKimlik.Text & "%'"
AdodcEgitimci.Refresh
ElseIf LblSorgu.Caption = "Yonetici" Then
Call Kursiyer
AdodcKursiyer.RecordSource = "Select * From TBL_KIMLIK where [ADI] like '" & TxtAd.Text & "%' and [SOYADI] like '" & TxtSoyad.Text & "%' and [TC_KIMLIK_NO] like '" & TxtKimlik.Text & "%' and [EGITIM_YILI] like '" & TxtYil.Text & "%' and [DONEM] like '" & TxtDonem.Text & "%' and [SINIF] like '" & TxtSinif.Text & "%' and [EGITIM_TURU] like '" & TxtEgitimturu.Text & "%'"
AdodcKursiyer.Refresh
ElseIf LblSorgu.Caption = "Ders" Then
Call Ders
AdodcDers.RecordSource = "Select * From TBL_DERS where [ADI] like '" & TxtAd.Text & "%' and [SOYADI] like '" & TxtSoyad.Text & "%' and [TC_KIMLIK_NO] like '" & TxtKimlik.Text & "%'"
AdodcDers.Refresh
End If
End Function
OĞULCAN & OLCAYTUĞ

Oğulcan Excel Web Sitesi
Excel İle Programlama
Cevapla
Çözüldü #4
Vaov teşekkürler bunu hiç düşünememiştim :/
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task