Skip to main content

AccessTr.neT


Liste Kutusu Veri Filtreleme İle Arama

Liste Kutusu Veri Filtreleme İle Arama

Çözüldü #1
Merhaba,

ekteki örneğimde liste kutusu arama işlevi çalışmıyor. Tablolardan üçü bire çok ilişkili; Kuruluşlar, Birimler, Altbirimler.

İyi çalışmalar.
.rar PersonelAra.rar (Dosya Boyutu: 84 KB | İndirme Sayısı: 5)
Cevapla
#2
aşağıdaki kodu dener misiniz?
sorun galiba sizin kriterleri gerçek ID alanlarına atamak yerine görünen yüze atamanız
SELECT [Adi] & " " & [Soyadi] AS Adı_Soyadı, PRSKYT.KadroUnvan, Kuruluslar.CalısmaKurulus, Birimler.CalismaBirim, Altbirimler.CalismaAltBirim
FROM Kuruluslar INNER JOIN (Birimler INNER JOIN (Altbirimler INNER JOIN PRSKYT ON Altbirimler.CAltbrm_id = PRSKYT.CalismaAltBirim) ON (Birimler.CBrm_id = Altbirimler.CBrm_id) AND (Birimler.CBrm_id = PRSKYT.CalismaBirim)) ON (Kuruluslar.CKrls_id = Birimler.CKrls_id) AND (Kuruluslar.CKrls_id = PRSKYT.CalısmaKurulus)
GROUP BY [Adi] & " " & [Soyadi], PRSKYT.KadroUnvan, Kuruluslar.CalısmaKurulus, Birimler.CalismaBirim, Altbirimler.CalismaAltBirim, Kuruluslar.CKrls_id, Birimler.CBrm_id, Altbirimler.CAltbrm_id
HAVING ((([Adi] & " " & [Soyadi]) Like "*" & [Formlar]![Personel Arama]![M1] & "*") AND ((PRSKYT.KadroUnvan) Like "*" & [Formlar]![Personel Arama]![M2] & "*") AND ((Kuruluslar.CKrls_id) Like "*" & [Formlar]![Personel Arama]![M3] & "*") AND ((Birimler.CBrm_id) Like "*" & [Formlar]![Personel Arama]![M4] & "*") AND ((Altbirimler.CAltbrm_id) Like "*" & [Formlar]![Personel Arama]![M5] & "*" Or (Altbirimler.CAltbrm_id) Is Null));
Cevapla
#3
Merhaba,
kodlarınızı denedim, bu 3 alan dolu ise sonuç tam istenildiği gibi. Şimdiki sorun bu 3 alandan biri boş olduğunda; örneğin diş hekimliği fakültesi(kuruluş) dolu, altında klinik bilimleri bölümü(birim) dolu iken onun altında altbirimi yazmıyorsa sonuç kısmında görüntülenmiyor(boş geliyor) . Birimi ya da altbirimi yazmıyorsa  o kuruluş altında olanları nasıl gösteririz?

Teşekkür ederim.
Son Düzenleme: 21/03/2020, 20:15, Düzenleyen: mgunes.
Cevapla
#4
aşağıdaki şekilde dener misiniz?
SELECT [Adi] & " " & [Soyadi] AS Adı_Soyadı, PRSKYT.KadroUnvan, Kuruluslar.CalısmaKurulus, Birimler.CalismaBirim, Altbirimler.CalismaAltBirim
FROM Kuruluslar INNER JOIN (Birimler INNER JOIN (Altbirimler INNER JOIN PRSKYT ON Altbirimler.CAltbrm_id = PRSKYT.CalismaAltBirim) ON (Birimler.CBrm_id = Altbirimler.CBrm_id) AND (Birimler.CBrm_id = PRSKYT.CalismaBirim)) ON (Kuruluslar.CKrls_id = Birimler.CKrls_id) AND (Kuruluslar.CKrls_id = PRSKYT.CalısmaKurulus)
GROUP BY [Adi] & " " & [Soyadi], PRSKYT.KadroUnvan, Kuruluslar.CalısmaKurulus, Birimler.CalismaBirim, Altbirimler.CalismaAltBirim, Kuruluslar.CKrls_id, Birimler.CBrm_id, Altbirimler.CAltbrm_id
HAVING ((([Adi] & " " & [Soyadi]) Like "*" & [Formlar]![Personel Arama]![M1] & "*") AND ((PRSKYT.KadroUnvan) Like "*" & [Formlar]![Personel Arama]![M2] & "*") AND ((Kuruluslar.CKrls_id) Like IIf(Len([Formlar]![Personel Arama]![M3])>0,[Formlar]![Personel Arama]![M3],"*")) AND ((Birimler.CBrm_id) Like IIf(Len([Formlar]![Personel Arama]![M4])>0,[Formlar]![Personel Arama]![M4],"*")) AND ((Altbirimler.CAltbrm_id) Like IIf(Len([Formlar]![Personel Arama]![M5])>0,[Formlar]![Personel Arama]![M5],"*"))) OR (((Altbirimler.CAltbrm_id) Is Null));
Cevapla
#5
Denedim, sonuç aynı...
Cevapla
#6
ben yine denedim bende sorun çıkarmadı sorun nerede?
[Resim: do.php?img=9921]
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da
Task