Morgen!
ich habe da ein kleines Problem. Ich habe eine Datenbank mit veranstaltungen. Jetz möchte ich Auswerten (in eine Datei schreiben). Soweit funktioniert auch alles super (Datei schreiben, die richtigen Einträge filtern, etc.).
Problem is nur, dass meine
Query nicht richtig durchlaufen wird. Ich habe einen Start-Tag. Von diesem diesem wird dan immer jeweils alle Veranstaltungen die an einem Tag sind aufgezählt und dan ist der kommende Tag drann. Aussehen soll das so:
Freitag, 14. Aug
Ort: Name, ...
Freitag, 15. Aug
Ort: Name, ...
Ort: Name, ...
Freitag, 18. Aug
Ort: Name, ...
Ort: Name, ...
Die Stings die unter den jeweiligen Tagen kommen baue ich auch richtig zusammen. Mein Problem is nur, wenn ich Veranstaltungen habe die über mehrere Tage gehen sollen diese auch in ALLEN Tagen der Zeitspanne stehen. Wenn ich nur ein Result in der
Query habe funktioniert es auch. Bei mehreren Ergebnissen zeigt er mir immer nur den ersten Tag der Veranstaltung an.
Das Verwirrt mich ein wenig.
(oben steht noch with
query do und first)
Delphi-Quellcode:
bAusgabe := false; //bestimmen ob das Enddatum erreicht ist (Abbruch der Schleife)
bDatumAusgabe := false; //Bestimmen ob Datum schon als Tagesüberschrift angezeigt wird
dAusgabe := FieldByName('datum_von').AsDateTime;
while bAusgabe = false do
begin
if ((dAusgabe >= FieldByName('datum_von').AsDateTime) AND (dAusgabe <= FieldByName('datum_bis').AsDateTime)) then
begin
if (bDatumAusgabe = false) then
begin
bDatumAusgabe := true;
ShortDateFormat := 'dddd, dd. mmm';
LBText.Items.Add('');
LBText.Items.Add(DateToStr(dAusgabe));
ShortDateFormat := 'yyyy-mm-dd';
end;
//String zusammenbauen und ausgeben ....
end;
if Eof then
begin
if (dAusgabe = trunc(DTPBis.Date)) then
bAusgabe := true;
First;
bDatumAusgabe := false;
dAusgabe := dAusgabe + 1;
end;
Next;
end;