Skip to main content

AccessTr.neT


Tarih Aralığı İçin Filtreleme Yapma

Tarih Aralığı İçin Filtreleme Yapma

#8
(24/03/2020, 14:10)berduş yazdı: dilerim işinize yarar ama hatırlatayım daha önceden de belirttiğim gibi boş denilebilecek tablolar özellikle de kapsamlı sorgularda, sizin açınızdan olumlu olmaz, bir kaç deneme yapar ve uygun sonuçları verdiğini görünce doğru olduğu düşünüp cevabı yollarız ama önceki konunuzda olduğu gibi aslında yanlış bir çözüm olmuş olur.
iyi çalışmalar
süzme butonunun kodu:
  Dim Kosul, SqlKynk, GelMe As String

  Kosul = ""

    If txtTCKimlikNo.Value <> "" Then
      Kosul = Kosul & " AND ((PRSKYT.KimlikNo) Like '*' & [Formlar]![frmPersonelAra]![txtTCKimlikNo] & '*')"
    End If

    If txtAdSoyad.Value <> "" Then
      Kosul = Kosul & " AND (([Adi] & ' ' & [Soyadi]) Like '*' & [Formlar]![frmPersonelAra]![txtAdSoyad] & '*') "
    End If

  If txtKadroUnvan.Value <> "" Then
      Kosul = Kosul & " AND ((PRSKYT.KadroUnvan) Like '*' & [Formlar]![frmPersonelAra]![txtKadroUnvan] & '*') "
    End If

    If txtCalısmaKurulus.Value <> "" Then
      Kosul = Kosul & " AND ((Kuruluslar.CalısmaKurulus) Like '*' & [Formlar]![frmPersonelAra]![txtCalısmaKurulus] & '*') "
    End If

    If txtBirim.Value <> "" Then
      Kosul = Kosul & " AND ((Birimler.CalismaBirim) Like '*' & [Formlar]![frmPersonelAra]![txtBirim] & '*') "
    End If


    If cmbCinsiyet.Value <> "" Then
      Kosul = Kosul & " AND ((PRSKYT.Cinsiyet)=[Formlar]![frmPersonelAra]![cmbCinsiyet]) "
      '"[Cinsiyet]=cmbCinsiyet.Value AND "
    End If

    If IsDate(Metin136) And IsDate(Metin138) Then
      Kosul = Kosul & " AND ((PERMYN2.MuayeneTarihi) Between [Formlar]![frmPersonelAra]![Metin136] AND [Formlar]![frmPersonelAra]![Metin138])"
    End If
GelMe = IIf(CerGln = 1, " Not ", "")

    Kosul = Mid(Kosul, 6)

  'On Error Resume Next
' lstPersonel.RowSource = "SELECT * FROM srgLstPersonel WHERE " & Kosul & " "

SqlKynk = " SELECT PRSKYT.KimlikNo, [Adi] & ' ' & [Soyadi] AS Adı_Soyadı, " & _
          " PRSKYT.KadroUnvan, Kuruluslar.CalısmaKurulus, Birimler.CalismaBirim, PRSKYT.Cinsiyet, PERMYN2.MuayeneTarihi" & _
          " FROM PERMYN2 INNER JOIN (Kuruluslar RIGHT JOIN (Birimler RIGHT JOIN PRSKYT ON Birimler.CBrm_id = PRSKYT.CalismaBirim) " & _
          " ON Kuruluslar.CKrls_id = PRSKYT.CalısmaKurulus) ON PERMYN2.KimlikNo = PRSKYT.KimlikNo" & _
          " WHERE (" & Kosul & _
          " AND (" & GelMe & "(PERMYN2.KimlikNo) Is Null));"

  lstPersonel.RowSource = SqlKynk

Kodlarınız muayeneye gelenler için kusursuz çalışıyor, gelmeyenler için sonuç üretmiyor.  Planlanan takvime göre kuruluşları muayeneye çağırıyoruz, internetten uyarladığım ekteki sorgu örneği (PMF2_Gelmeyen) ile kuruluşa göre süzerek muayeneye gelmeyenleri gösteriyorum. (Ekte, örnekte PRSKYT tablosunda olup muayene tarihi boş olan (PERMYN2 tablosu anamnez bilgilerini tutuyor) 2 kişi var.)  frmPersonelAra formu benzeri bir filtre ile (ayrı bir form ile de olabilir) kuruluş bazında gelmeyenlerin tespitine dönük nasıl bir algoritma oluşturulabilir? Buradaki tek boş alan Çalışma Birimi, idari çalışanların akademik olanlar gibi birimleri yok kuruluş kısmı dolu sadece.

Arama filtresi düzenlemenizle çok kullanışlı olmuş, emeklerinize teşekkürler.
.rar PMuaGelmeyen.rar (Dosya Boyutu: 109,97 KB | İndirme Sayısı: 3)
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da

Bu Konudaki Yorumlar
Cvp: Tarih Aralığı İçin Filtreleme Yapma - Yazar: mgunes - 24/03/2020, 16:23