Query deki raporlamanın sonucunu F1Book göndermek

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
denizfatihi

Query deki raporlamanın sonucunu F1Book göndermek

Mesaj gönderen denizfatihi »

S.A.

Botona basınca ilk etapta atıyormuş gibi durmasına rağmen F1Book sürekli boş kalıyor, yardımcı olursanın sevinirim yardımlarınız için şimdiden teşekkürler..

Buton Click olayına yazdığım kod;

Kod: Tümünü seç

var
  sheet:variant;
  i:integer;
begin
   Application.ProcessMessages;

   f1book1.InsertSheets(f1book1.numSheets+1,1);

   sheet:= F1Book1.AppName; 
    Query1.First;

  Application.ProcessMessages;
    i:=2;
    while not Query1.Eof do
    begin
    i:=i+1;
    Application.ProcessMessages;
    Query1.next;
    end;
    F1Book1.Visible:=true;
    Query1.First;
Kullanıcı avatarı
Kuri_YJ
Moderator
Mesajlar: 2248
Kayıt: 06 Ağu 2003 12:07
Konum: İstanbul
İletişim:

Mesaj gönderen Kuri_YJ »

Selamlar,

Döngü içine dikkat ederseniz F1Book'a veri göndermediğinizi, sadece Query üzerinde boş tur attığınızı farkedeceksiniz.

F1'e değerleri atmak için hücrelerine Query'den dönen değerleri yazmak gerek (sanırım)

Kolay Gelsin
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Uğur1982
Üye
Mesajlar: 383
Kayıt: 11 Mar 2005 03:18
Konum: İzmir

Mesaj gönderen Uğur1982 »

pardon yanlış göndermişim :D
En son Uğur1982 tarafından 09 Haz 2005 10:10 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Uğur1982
Üye
Mesajlar: 383
Kayıt: 11 Mar 2005 03:18
Konum: İzmir

Mesaj gönderen Uğur1982 »

merhaba;

Kod: Tümünü seç

 f1book1.InsertSheets(f1book1.numSheets+1,1); 
yukarıdaki kod sayfa eklemek için kullanılır.

Kod: Tümünü seç

var
  sheet:variant;
  i:integer;
begin
    Query1.First;
    i:=2;
    while not Query1.Eof do
    begin
   
        F1Book.Row:=i;
        F1Book1.ColText[0]:=Query1.FieldByname('Ad').Astring;
        F1Book1.ColText[1]:=Query1.FieldByname('Soy').Astring;

------------------
------------------
--------------------Querydeki alan sayısı kadar gider...
        inc(i);
        Application.ProcessMessages;
        Query1.next;
    end;
    F1Book1.Visible:=true;
    Query1.First; 
yukarıdaki gibi olması lazım..

iyi günler...
denizfatihi

Mesaj gönderen denizfatihi »

Arkadaşlar çok teşekkür ederim şu şekilde yapmayı başardım...
belki başka birisine fikir verir diye yazıyorum

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
VAR
I,J: INTEGER;
begin
          with query1 do
     begin
          close;
          sql.clear;
          sql.add('SELECT * FROM '+ TRIM(EdtTableName.Text));
          open;
     end;
     FOR  I:=0 TO QUERY1.FieldCount-1 DO
     BEGIN
          F1BOOK1.ColText[I+1]:=QUERY1.Fields[I].FieldName;
     END;
     J:=1;
     QUERY1.First;
     WHILE NOT QUERY1.EOF DO
     BEGIN
          FOR I:=0 TO QUERY1.FieldCount-1 DO
          BEGIN
               F1BOOK1.TextRC[J,I+1]:=QUERY1.FIELDBYNAME(QUERY1.Fields[I].FieldName).ASSTRING;
          END;
          J:=J+1;
          QUERY1.Next;
     END;
end;
Cevapla