with QueryTemp
do
begin
Active := False;
DatabaseName := asDataDir;
SQL.Clear;
DecodeDate(DateTimePickerVon.Date, wYearVon, wMonthVon, wDayVon);
DecodeDate(DateTimePickerBis.Date, wYearBis, wMonthBis, wDayBis);
if ((wYearBis - wYearVon) >= 0)
then
begin
for iDateiJahr := wYearBis
downto wYearVon
do
begin
if ((iDateiJahr = wYearBis)
and ((wYearBis - wYearVon) > 0))
then
begin
wMonthBisBerechnung := wMonthBis;
wMonthVonBerechnung := 1;
end
else if (iDateiJahr = wYearVon)
then
begin
wMonthBisBerechnung := 12;
wMonthVonBerechnung := wMonthVon;
end
else if ((wYearVon = wYearBis)
and ((wYearBis - wYearVon) = 0))
then
begin
wMonthBisBerechnung := wMonthBis;
wMonthVonBerechnung := wMonthVon;
end
else
begin
wMonthBisBerechnung := 12;
wMonthVonBerechnung := 1;
end;
for iDateiMonat := wMonthBisBerechnung
downto wMonthVonBerechnung
do
begin
sDateiSuchen := cs_ProtBuch + cs_ProtBuchTrennzeichen + IntToStr(iDateiMonat) + cs_ProtBuchTrennzeichen + IntToStr(iDateiJahr) +'
.DB';
if FileExists(PfadErweiternAllgemein(asDataDir, True) + sDateiSuchen)
then
begin
if SQL.Count = 0
then
SQL.Add('
SELECT * FROM "' + sDateiSuchen + '
"')
else
begin
SQL.Add('
UNION');
SQL.Add('
SELECT * FROM "' + sDateiSuchen + '
"')
end;
end;
end;
end;
end
else
begin
MessageDlg('
Ungültige Datumseingabe', mtError, [mbOK], 0);
TabellenInEineTabelleKopieren := False;
sTabelle := '
';
Exit;
end;