burda Tarihi kaldırmak bana daha mantıklı geldi. çünkü o gün içinde olmuşlarıda satır satır dökecek. Tarihi kaldırırsan sadece ISTOLYTURU olanları gruplarsın. Tarih aralığınıda zaten vermişsin.
labellar kullanmak yerine listview kullanabilirsin. yada stringgrid. query yi açtıktan sonra baştan sona kadar bir döngü kurup listview yada stringgrid içine alman bana daha mantıklı geliyor.
Label yapmak zorunluluğu varsada, lable ları manual olarak create etmen gerek. tabi gene döngü içinde.
kolay gele
ZAGOR TENAY TÜRK'tür... TÜRK kalacak... Zoru başarırım, İmkansız zaman alır FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
buradaki INCTARIHI deneme amaçlı idi kodda geçen ISTOLYTURU ve ADET alanlarını dbgrid üstünde gösterince bunu da yazarsam nasıl olur diye bakmak için yazmıştım.
label kullanmam daki amaç görüntü açısından diyebilirim, çıktı aldığımız istatistik formuna benzetmek için ayrıca bu istatistik bu kadarla kalmayacak 12 aya göre yapacağım. epeydir buna çalıyıyorum anca bu dadar yol katedebildim.
yukarıdaki örnekte ISTOLYTURU alanı alt altta 11 çeşit olay içeriyor bunların her ay için toplamlarını aldırıp istatistikte göstermem gerekiyor. baya zorlayacak heralde. forumdaki örnekleri inceledim yapmaya çalıştım ama başım ağrıyor bazen. baya zorlayacak heralde.
FB de aylara göre sorgulama ile ilgi soru ve cevap geçmişti. burdan aylara göre kayıt alırsın. ISTOLYTURU a göre grupladıysan bunları stringgrid yada listview a atarsan görünümde, kullanılırlığıda güzel olur. ayrıca bunu bir Stored Procedure içinde yaparsan direk dbGrid içindede gösterebilirsin
kolay gele
ZAGOR TENAY TÜRK'tür... TÜRK kalacak... Zoru başarırım, İmkansız zaman alır FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
tavsiyen üzere araştırıyorum. şu listview de göstermeyi çözemedim arama sonucuda bulduklarımda kavrayamadım ve kitaptan da okudum yine olmadı örneklerde query den çekmeyi göstermiyor. küçük bi ipucu verebilirmisin üzerinde çalışsam. hani leblebi diyecez de leb diyerek ipucu veriyoruz.
DbCtrlGrid bilesenini ekranda gosterilecek satır ve sutuna gore ayarla
mesela 15 satır 1 sutun seklinde
her hucrenin yukseklik ve genisliginide ayarla,
icine tam sıgacak kadar bi DbLabel ekle ve sorgudaki ilgili alana bagla
sana ve diğer ustalarıma teşekkür ederim. bir şey daha öğrenmiş olduk sayenizde.
şu düşüncem doğrumu diye sormak istiyorum. diğer yollardan şimdilik yapmayı başaramadım.
yukadıraki kodda verilen tarih aralığında istatistiği alıyorum bunu formcreate veya button onclick olayına alt alta 12 ay için yazarak bir yıllık istatistiği form üzerinde göstermek istiyorum. hamballık olduğunu biliyorum ama şimdilik bu şekli düşündüm.
açık söyliyeyim listview çok oldu kullanmayalı tam kullanımını unuttum. stringrid ise malumunuz sanırım.
direk dbgrid kullan bence. bir sp yaz. Row lar ISTOLYTURU yı göstersin
V_MOUNTH = 1;
WHILE (V_MOUNTH <= 12) DO BEGIN
FOR select ISTOLYTURU, COUNT(*) AS ADET
where extract(INCTARIHI) = V_MOUNTH
group by ISTOLYTURU
INTO :ISTOLYTURU,
: ADET;
do begin
if ADET IS NULL then ADET = 0;
if (V_MOUNTH = 1) then OCAK = ADET;
if (V_MOUNTH = 2) then SUBAT = ADET;
....................
end;
V_MOUNTH = V_MOUNTH + 1;
............
karışık oldu gibi ama sanırım fikir verir bu kafayla anca bukadar fikir çıktı SP içinde aylarıda birer Field halinde dışarıya çıkartabiliyorsun
sanırım yoğun bi gün oldu. gerçekten allah size kuvvet versin. yardımlarınız için teşekkür ederim. yeni bir kafayı yiyecek konu çıktı karşımıza gece yarılarına kadar uğraşırım şimdi.
ama inşeallah sökeriz böle öğrenmek daha kalıcı oluyor. hazır olanını hemen unutabiliyor insan.
Sorunusu tam olarak doğrumu anladım bilmiyom ama bendende dbgridi herhangi bir satırını çift tıklayınca dbgridin o satırını form2 deki labellarda göstermem istenmişti.ben kullandığım kodları gönderiyim umarım işinise yarar...
procedure TForm1.DBGrid1DblClick(Sender: TObject);
begin
form2.label1.Caption:=dbgrid1.columns.grid.fields[0].text;//Grid in 0. alanını label a gönder
form2.label2.Caption:=dbgrid1.columns.grid.fields[1].text;
form2.label3.Caption:=dbgrid1.columns.grid.fields[2].text;
form2.label4.Caption:=dbgrid1.columns.grid.fields[3].text;
form2.Show;
end;
iyi çalışmalar, kolay gessin.
Bilginin temelini sağlam at depremde zarar görmesin
merhaba.
daha önce biçok program inceledim..yazdığımız projelerde de kullandığımız bileşen hep stringgrid oldu.kontrolü daha kolay oluyor çünkü dbgridin direkt tablo bağlantısı çok iyi kontrol olmadığı zaman ciddi bir risk oluşturuyor.
kolay gelsin.
evet bende projede stringgrid kullandım ve formlar üzerinde on iki ayın dökümünü tam olmasada istediğim şekilde aldım ve tarih aralıklarını da bi tablo oluşturdum ve oradan aldırdım. bölelikle yıl başlarında o tablodaki tarihlerin yıllarını değiştirerek istatistiki bilgileri alacağız.
konyalı arkadaşım anladığım kadarı ile verdiğin kod da döngü sonucu alanlara tek veri geliyor. bizimkinde ise alanda 11 değişken veri var bunların toplamları lazım idi. yapılan sorgu sonucu dönen verilerde stringgrid de istenildiği gibi dökülüyor. sanırım freeman ustamın dediği gibi ve daha önce naile ustamın dediği gibi asıl bu iş vt tarafında hallolucak sp yazarak ve bu dönen sonuçları delphi tarafında edit lerde göstererek. umarım bunuda başarırız.