Yardım

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
lazanya
Üye
Mesajlar: 23
Kayıt: 13 Haz 2003 12:34
Konum: trabzon
İletişim:

Yardım

Mesaj gönderen lazanya »

selam bir sorum olacaktı.
ogrenci.dbf adında bir access database var. Bunun içindeki kayıtlar arasında "NO" sütunundaki mesela 63 nolu öğrencinin tüm kayıtlarını listelemek istiyorum. Mesela bu öğrenci 10 defa kitap almış ayrı tarihlerde fakat okul no sabit ve tüm bu kayıtları görmek istiyorum. Birde ençok kitap okuyanlar 1den (en çok tan en aza doğru) mesela 10 kadar listelemek nasıl yapılabilir , ilgili bir kaynak veya ipucu istiyorum mümkünse (delphi de)
Teşekkürler
Hüseyin UZUN
İngilizce Öğretmeni
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7586
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Selam,

bunun için en uygun yolu iki tablo oluşturmak. Anahtar alan olarakta en uygunu öğrenci no. unique (tekil - her öğrenci için farklı) olması iyi.

Tablolar şuna benzer olmalı :

Öğrenci : OGRENCI_NO, AD SOYAD, ADRES, TEL vs.

Kitap : OGRENCI_NO, KITAP_NO, KITAP_ISMI, ALDIGI_TARIH, GETIRDIGI_TARIH ..

NOT : NO anahtar sözcüğü ayrılmış bir kelime olduğundan bunu direk alan ismi olarak kullanmayın.

Daha sonra bu kayıtları table veya query ile master-detail bağlayıp istediğiniz sonucu alabilirsiniz. Mesela ben bahsettiğiniz iki örnek için yazayım :

Bir öğrencinin aldığı kitaplarlar :

SELECT K.*
FROM OGRENCI O, KITAP K
WHERE O.OGRENCI_NO=K.OGRENCI.NO

En çok kitap alanlar :

SELECT OGRENCI_NO, COUNT(*)
FROM KITAP
GROUP BY OGRENCI_NO

bu ifade size hangi öğrencinin kaç kitap alığını verir, siz sıralamayı yaparsınız.

NOT : SQL hakkında sitede makaleler vardı. Detaylı bilgi için başvurabilirsiniz : http://www.mussimsek.com

Kolay gelsin.
Cevapla