ÇOKLU VERİ ARAMA

27/03/2009, 16:53

kdurmaz

Sevgili dostlar,

Sitenizden örneğini almış olduğum, birden fazla kritere göre veritabanında arama yapmaya yarayan formu kendi veritabanıma uygulamaya çalıştım fakat sanıyorum kodlarda bir takım hatalar yaptığımdan (kod kısmını çok bilmediğimden) arama yaparken hata veriyor.
Adı ve Soyadı kısmında bir sorun yok fakat diğer kriterlere göre arama yaptığımda oluşuyor hata.
Örneği ekliyorum. Derdime derman olun lütfen.

Saygılarımla,
Kadir DURMAZ
27/03/2009, 17:19

Nurullah_Serdar

function kodunu bununla değiştir

Kod:
Private Function BuildFilter() As Variant
    Dim varWhere As Variant
    Dim varItem As Variant
    Dim intIndex As Integer

    varWhere = Null  ' Main filter
  
    
    ' Check for LIKE First Name
    If Me.txtFirstName > "" Then
        varWhere = varWhere & "[ADI] LIKE """ & Me.txtFirstName & "*"" AND "
    End If
    
    ' Check for LIKE Last Name
    If Me.txtLastName > "" Then
        varWhere = varWhere & "[SOYADI] LIKE """ & Me.txtLastName & "*"" AND "
    End If
    
    ' Check for tc kimlik no
    If Me.txttckimlikno > "" Then
        varWhere = varWhere & "[TCKIMLIKNO] = '" & Me.txttckimlikno & "' AND "
    End If
    
    ' Check for mahalle
    If Me.txtmahalle > "" Then
        varWhere = varWhere & "[MAHALLE] LIKE """ & Me.txtmahalle & "*"" AND "
    End If
    
      ' Check for baba adı
    If Me.txtbaba > "" Then
        varWhere = varWhere & "[BABAADI] LIKE """ & Me.txtbaba & "*"" AND "
    End If
  
    ' Check if there is a filter to return...
    If IsNull(varWhere) Then
        varWhere = ""
    Else
        varWhere = "WHERE " & varWhere  
        ' strip off last "AND" in the filter
        If Right(varWhere, 5) = " AND " Then
            varWhere = Left(varWhere, Len(varWhere) - 5)
        End If
    End If
    BuildFilter = varWhere
End Function
27/03/2009, 17:21

ozanakkaya

sn kdurmaz,

aşağıdaki linkteki dersi kendi uygulamanıza göre uyarlarsanız tüm alanları tek bir textboxtan sorgulayabilirsiniz.

Form Üzerinden Veri Arama
27/03/2009, 18:26

kdurmaz

Çok teşekkür ederim sevgili n_serdar ve sevgili sledgeab.

Problem çözüldü. Dediğim gibi benim sorunum kod bilmemekten kaynaklanıyor. Aslında bir dalıp öğreneyim diyorum şu kod meselesini ama gözümde büyüyor. Sizler olmasanız halimiz duman gerçekten.
Konu benim açımadan kapanmıştır.

Saygılarımla,
Kadir DURMAZ
28/03/2009, 15:29

esrefigit

bu tip aramalarda sorgu üzerine ekleyeceğiniz Like ile arama hem daha hızlı hemde daha kolaydır .şayet direkt formun verisini süzdürmüyorsanz bu şekilde kod yazmanın anlamı yoktur. formda arayın sorgu ile arama yapma ve listeye doldurma örneği onlarca var