AccessTr.neT

Tam Versiyon: Liste Kutusu Veri Filtreleme İle Arama
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Sayfalar: 1 2 3
Merhaba,

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

İyi çalışmalar.
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));
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.
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));
Denedim, sonuç aynı...
ben yine denedim bende sorun çıkarmadı sorun nerede?
[Resim: do.php?img=9921]
Sayfalar: 1 2 3