• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Sorguda herbir kayıt için belirli sayıda kayda ulaşma

Katılım
16 Şubat 2007
Mesajlar
323
Excel Vers. ve Dili
office 2003 prof.tr
Arkadaşlar merhaba,
üzerinde çalıştığım personel bilgileri konulu veritabanındaki bir sorguda personelin en son kullandığı 3 iznini görmek istiyorum. yani 3'ten fazla ise tarih sırasına göre en son 3 kaydı seçmek istiyorum. bunu da liste halindeki personel bilgileri raporuna alt rapor olarak ekleyip, her bir personelin satırında son kullandığı 3 iznin tarihlerini elde etmeyi planlıyorum. bunu nasıl yapabilirim?
yardımlarınızı bekliyorum.
 
Top 3 diye yazarsan sana son girilen 3 kaydı verir personelno alanınanın ölçüt kısmında formlardan alacak şekilde yaparsan ve formda raporu açacak bir düğme raporda bilgileri sorgudan alır
 
SELECT TOP 3
Ad, Soyad
FROM Öğrenciler
WHERE okulno = formlar!aformu!okulno
 
Merhaba,
öncelikle soruma gösterdiğiniz ilgiden dolayı çok teşekkür ederim. belki sorumu yeterince açık ve anlaşılır yazamadığımdan olsa gerek, gönderdiğiniz cevap ile sadece 3 kayda ulaşabiliyorum.
oysa benim tam olarak yapmak istediğim şu; personel bilgileri tablosu ile personelin izinlerinin bulunduğu tabloyu bir sorguda birleştiriyorum.
bu sorguda personelID her iki tablo için ilişkili durumda.
personel tablosundaki tüm kayıtlar ile izinler tablosundan ise herbir personel için en fazla son 3 kaydı elde etmek istiyorum. (daha az olmasında sakınca yok)
 
soruma cevap verebilirseniz çok memnun olurum
 
örnek koy örneği olmayan program paylaşılmayan programdır örneği koy çözeyim
 
Sayın Gülsüm 1,
Ekteki örnekte ilk açılan formdaki her bir kayda ait eğitim alt formundaki kayıtlardan son 3 kaydın (Bitirme Tarih sırasına göre) çizelge halindeki raporda görünmesini istiyorum. örnek olarak düzenlediğim rapor üzerinde gösterebilirseniz çok memnun olurum. saygılarımla,
 
öncelikle bir sorgu yaptım alt form için id ölçütü ana formdan gelmek üzere HAVING (((tblegitim.personelID)=[Formlar]![personelana]![personelID])) sonra bunu SELECT TOP 3 le sınırlandırdımki 3 kayıt eğer 3 kayıt yoksa olnalar gelsin ORDER BY tblegitim.bittarihi DESC; ilede tarih sırasına göre büyükten küçüğe doğru ve son olanlar gelsin dedim
sorgunun tamamı
SELECT TOP 3 tblegitim.turu, tblegitim.okuladı, tblegitim.bittarihi, tblegitim.yeri, tblegitim.personelID
FROM tblegitim
GROUP BY tblegitim.turu, tblegitim.okuladı, tblegitim.bittarihi, tblegitim.yeri, tblegitim.personelID
HAVING (((tblegitim.personelID)=[Formlar]![personelana]![personelID]))
ORDER BY tblegitim.bittarihi DESC;

aynı sorgudan bir tane daha yaptım ama bu altrapor için id sini ana rapordan alan HAVING (((tblegitim.personelID)=[Raporlar]![tabloper]![personelID]))

sorgunun tamamı

SELECT TOP 3 tblegitim.turu, tblegitim.okuladı, tblegitim.bittarihi, tblegitim.yeri, tblegitim.personelID
FROM tblegitim
GROUP BY tblegitim.turu, tblegitim.okuladı, tblegitim.bittarihi, tblegitim.yeri, tblegitim.personelID
HAVING (((tblegitim.personelID)=[Raporlar]![tabloper]![personelID]))
ORDER BY tblegitim.bittarihi DESC;

bu örneklerin kullanıldığı programın asl ve tamamını burda paylaşırsan bu sana daha sonra soracağın sorularında + olarak geri döneceğine emin ol
 
Sayın Gülsüm1,
Size nasıl teşekkür edeceğimi inanın bilemiyorum. çok ama çok minnettarım. gönderdiğiniz çözümü uyguladım ve tam istediğim sonuca ulaştım. Gönderdiğiniz cevap çerçevesinde ulaştığım çözümü tavsiyeniz doğrultusunda ek'te gönderiyorum. benzer problemle karşılaşanlar rahatlıkla istifade edebilirler.

Sayın Gülsüm1 buna benzer bir sorum daha olacak cevaplandırırsanız çok memnun olurum, ekteki örnek üzerinden sorunumu anlatayım; şu anki mevcut personel raporuna benzer bir rapor daha yapmayı ama bu sefer her bir personel için eğitim alt raporunda veri olsa da olmasa da 5 adet (eğitim bilgileri için) satır (Eğer veri varsa bilgiler gelsin, veri yoksa boş satırlar gelsin) görünmesini istiyorum. cevabınızı merakla bekliyorum.

iyi ki varsınız sayın gülsüm1
çalışmalarınızda başarılar dilerim.
 
Gülsüm hanım Merhaba,
Sizi sıkboğaz etmek istemiyorum sadece sorumun kaynamaması için bu mesajı atıyorum. Cevabınızı bekliyorum. saygılarımla.
 
Sayın Gülsüm1,
Size nasıl teşekkür edeceğimi inanın bilemiyorum. çok ama çok minnettarım. gönderdiğiniz çözümü uyguladım ve tam istediğim sonuca ulaştım. Gönderdiğiniz cevap çerçevesinde ulaştığım çözümü tavsiyeniz doğrultusunda ek'te gönderiyorum. benzer problemle karşılaşanlar rahatlıkla istifade edebilirler.

Sayın Gülsüm1 buna benzer bir sorum daha olacak cevaplandırırsanız çok memnun olurum, ekteki örnek üzerinden sorunumu anlatayım; şu anki mevcut personel raporuna benzer bir rapor daha yapmayı ama bu sefer her bir personel için eğitim alt raporunda veri olsa da olmasa da 5 adet (eğitim bilgileri için) satır (Eğer veri varsa bilgiler gelsin, veri yoksa boş satırlar gelsin) görünmesini istiyorum. cevabınızı merakla bekliyorum.

iyi ki varsınız sayın gülsüm1
çalışmalarınızda başarılar dilerim.


sayın gülsum hanım cevabınızı bekliyorum
 
Raporda istediğim kadar boş satırı nasıl getirebilirim
 
aslında tabloda veri olmayınca raporada boş satır getiremezsin ama bir yolu aklıma geliyor ama olurmu bilmem rapora liste kutusu koyarsın verileri şol ile aldırırsın yine tc sınır olmak üzere sonra gelen satırı saydırırsın ve for i next döngüsü ile 5 e tamalanıncaya kadar satırı aditem ile eklersin tabi bu bir varsayım olurmu olmazmı bişlmem denemek lazım
 
Geri
Üst