(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.