Autor Beitrag
recordable
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Fr 10.12.04 10:17 
Hallo!
Wie bekomm ich die Abfrage in ein StringGrid zum anschauen für den user. Und dann muss der User mit der rechten Maustaste die Daten in eine Exceldatei speichern können.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
Query1.SQL.Clear;
        Query1.SQL.Add('select max(TATSAECHLENTGELT_QM) from feh_bearbeitung where    
        TATSAECHLENTGELT_QM is not null and TATSAECHLENTGELT_QM > 0'
);
        Query1.SQL.Add('and leistpflichtvon >= ''01.01.2002'' and leistpflichtvon <= 
        '
'01.01.2004''');
        Query1.SQL.Add('and id_wohnung in ( select id_wohnung from woh_bestand where 
        id_wohnung = feh_bearbeitung.id_wohnung and datum_bewilligungsbescheid >= 
        '
'01.01.1960'' and datum_bewilligungsbescheid <=''31.12.1960'')');
        Query1.SQL.Add('group by tatsaechlentgelt_qm');
        Query1.Active := true;


StringGrid muss so aussehen:
1960 1961 1962 1963 usw.
2,54 2,63 2,57 2,89
usw.
muss alle jahre von 1960 bis 2004 abfragen.
Hab ja mal was gemacht aber mit den Reihen haut das nich hin.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
    while not Query1.Eof do
    begin
      if CheckBox1.Checked then
      begin
      stringgrid1.Cols[1].Add(Query1.fieldbyname('max(TATSAECHLENTGELT_QM)').AsString);
      StringGrid1.RowCount := StringGrid1.RowCount+1;
      end;
    Query1.Next
    end;

MfG recordable


Zuletzt bearbeitet von recordable am Fr 10.12.04 10:28, insgesamt 2-mal bearbeitet
neojones
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1206
Erhaltene Danke: 1



BeitragVerfasst: Fr 10.12.04 10:21 
Hallo erstmal,

eventuell bist Du mit der Komponente DBgrid bessern bedient. Die verknüpfst Du direkt mit der Tabelle.

Wenn Du es wirklich mit einem Stringgrid machen willst, dann hilft Dir Dein Freund, die Suchfunktion: www.delphi-forum.de/...stringgrid+datenbank

Viele Grüße,

Matthias

_________________
Ha! Es compiliert! Wir können ausliefern!
recordable Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Fr 10.12.04 10:38 
Danke für deine schnelle Antwort aber es Hilft nicht weiter :oops: Ich muss die Daten aus der Query einfach in den StringGrid kriegen Spalte für Spalte für die Jahre 1960 - 2004 und dann müssen die Zeiträume noch variable abrufbar sein können z.B 1972-1993 usw.
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6395
Erhaltene Danke: 149

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Fr 10.12.04 10:45 
Ich würde da auch ein DBGrid empfehlen.
Der Export nach Excel entweder im CSV-Format selbst erstellen oder ein fertige Komponente verwenden. Ich meine, dass bei Jedi eine dabei ist.
Kleiner Tipp:
gruppiere das SQL-Statement mal nach Trunc(datum_bewilligungsbescheid, 'YEAR')
Dann solltest du theoretisch die Werte für die Jahre bekommen. Kann ich hier natürlich nicht testen.


Zuletzt bearbeitet von jasocul am Fr 10.12.04 10:51, insgesamt 1-mal bearbeitet
Udontknow
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2596

Win7
D2006 WIN32, .NET (C#)
BeitragVerfasst: Fr 10.12.04 10:47 
Und soetwas ist tatsächlich besser mit einem DBGrid getan. DBGrid mit Datasource verknüpfen, die Datasource mit der Query.

CU,
Udontknow
neojones
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1206
Erhaltene Danke: 1



BeitragVerfasst: Fr 10.12.04 10:48 
Das was im DBgrid angezeigt steuerst Du ja über Deine Query. D.h. wenn Du in der Query schon filterst dann erscheinen im DBgrid nur die Daten, die auch tatsächlich abgefragt wurden.

Viele Grüße,

Matthias

_________________
Ha! Es compiliert! Wir können ausliefern!
recordable Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Fr 10.12.04 10:53 
Hab jetzt mal n DBGrid genommen. Das erste jahr zeigt er mir an aber er muss mir ja jedes Jahr anzeigen. Muss ich denn jetzt für jedes jahr eine Query nehmen?
Udontknow
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2596

Win7
D2006 WIN32, .NET (C#)
BeitragVerfasst: Fr 10.12.04 10:56 
Er zeigt dir genau das an, was in der Query steht. Du holst ja auch nur die Daten des Jahres 1960 (siehe SQL-Statement).

Cu,
Udontknow
recordable Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Fr 10.12.04 12:07 
danke für eure schnellen antworten :lol: