AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Ich möchte nur einen Report!!!
Thema durchsuchen
Ansicht
Themen-Optionen

Ich möchte nur einen Report!!!

Ein Thema von ickehausen · begonnen am 17. Nov 2005 · letzter Beitrag vom 30. Nov 2005
Antwort Antwort
ickehausen

Registriert seit: 29. Jul 2004
85 Beiträge
 
Delphi 2010 Enterprise
 
#1

Ich möchte nur einen Report!!!

  Alt 17. Nov 2005, 08:03
Datenbank: Interbase • Version: 6.0 • Zugriff über: IBX
Hallo zusammen,

mein Problem besteht darin, dass ich eine Tabelle mit Haushaltsstellen(HhST) habe und eine Haupttabelle, in der Einnahmen zu den HhSt stehen. Nun möchte ich die Einnahmen HhSt-weise zusammenaddieren und mein Report soll dann wie folgt aussehen:

HhST 1 enthält 100,00 Euro
HhSt 2 enthält 150,00 Euro
etc.


Im Moment habe ich nur eine Lösung, dass für jede HhSt ein Report gedruckt wird.

Delphi-Quellcode:
// Auszug mit etwas vereinfachter SQL-Abfrage

// Report ausführen
  DataModule2.IBTableHhst.First;
  While not DataModule2.IBTableHhst.Eof do begin
    HHSTNR := DataModule2.IBTableHhst.FieldByName('HHST').AsString;
    DataModule2.IBQueryMonatsabschluss.Active := false;
    DataModule2.IBQueryMonatsabschluss.SQL.Clear;
    DataModule2.IBQueryMonatsabschluss.SQL.Text := 'SELECT STRBETRAG FROM TMAIN WHERE HHST = ' + QuotedStr(HHSTNR);
    DataModule2.IBQueryMonatsabschluss.Active := true;
    DataModule2.RvProjectMonatsabschluss.ExecuteReport('Report1');
    DataModule2.IBTableHhst.Next;
  end;
Im Rave-Report werden dann die Beträge aus der Tabelle zusammenaddiert.

Kann mir jemand helfen?
Es gibt keine dummen Fragen ...
  Mit Zitat antworten Zitat
Benutzerbild von Glühwürmchen
Glühwürmchen

Registriert seit: 31. Okt 2003
Ort: Pfinztal
156 Beiträge
 
Delphi 2010 Professional
 
#2

Re: Ich möchte nur einen Report!!!

  Alt 17. Nov 2005, 08:40
Ich verstehe nicht so recht, was Du hast und was Du willst.

Könntest Du mal ein Beispiel zusammenstellen, das zeigt, was in deinen beiden Tabellen drin ist, und wie es nachher aussehen soll?
Gruß Glühwürmchen
<><
  Mit Zitat antworten Zitat
ickehausen

Registriert seit: 29. Jul 2004
85 Beiträge
 
Delphi 2010 Enterprise
 
#3

Re: Ich möchte nur einen Report!!!

  Alt 17. Nov 2005, 09:42
Hallo Glühwürmchen,

in der Tabelle HHST habe ich die Spalten HHST und BEZEICHNUNG_DER_HHST. Als Daten sind dann z. B. enthalten :

HHST >>> BEZEICHNUNG_DER_HHST
1234 >>> Verwaltung
1236 >>> Kopierkosten
1258 >>> sonstige Umlagen

etc.

in der Tabelle MAIN habe ich die Spalten HHST (über die verknüpfe ich die Tabellen), BETRAG und USER (ist nur ein Auszug aus den Tabellen). Als Daten sind dann z. B. enthalten :


HHST >>> BETRAG >>> USER
1234 >>> 100,00 Euro >>> X
1236 >>> 050,00 Euro >>> Y
1234 >>> 010,00 Euro >>> Z
1258 >>> 020,00 Euro >>> X
1258 >>> 050,00 Euro >>> y

etc.

Bislang gehen ich jetzt angefangen bei der HHST 1234 die Tabelle MAIN durch, suche da die Beträge raus und addiere sie im Report.
Ich bekomme aber für jede HHST einen Report. Ich brauche aber einen Report, in dem steht HHST 1234 hat 110,00 Euro, HHST 1236 hat 50,00 Euro etc.

Ich hoffe ich, mein Problem ist verständlicher für Dich geworden?!
Es gibt keine dummen Fragen ...
  Mit Zitat antworten Zitat
HendrikM

Registriert seit: 30. Aug 2005
Ort: Berlin
49 Beiträge
 
#4

Re: Ich möchte nur einen Report!!!

  Alt 17. Nov 2005, 09:48
Also ich würde die Query wie folgt abändern:
'Select A.HHST, B.STRBETRAG from HhST A
join TMAIN B
on A.HHST=B.HHST'
und fertig. Dadurch ersparst Du Dir das Durchlaufen der HhST - Tabelle.
Hendrik
  Mit Zitat antworten Zitat
ickehausen

Registriert seit: 29. Jul 2004
85 Beiträge
 
Delphi 2010 Enterprise
 
#5

Re: Ich möchte nur einen Report!!!

  Alt 30. Nov 2005, 10:58
Hallo,

ich melde mich nach Krankheit wieder zurück. Danke Hendrik, ist eine Vereinfachung, aber sie löst mein Problem nicht ganz. Ich benötige Zwischensummen der einzelnen HHST und dies ist (zumindest mit meinen bescheidenen Verstand) nicht möglich?!
Es gibt keine dummen Fragen ...
  Mit Zitat antworten Zitat
HendrikM

Registriert seit: 30. Aug 2005
Ort: Berlin
49 Beiträge
 
#6

Re: Ich möchte nur einen Report!!!

  Alt 30. Nov 2005, 11:03
Hallo Sorry,
habe ein SUM vergessen
SQL-Code:
Select A.HHST, SUM(B.STRBETRAG) as STRBETRAG from HhST A
join TMAIN B
on A.HHST=B.HHST
so sollte es aber gehen.
Hendrik
  Mit Zitat antworten Zitat
HendrikM

Registriert seit: 30. Aug 2005
Ort: Berlin
49 Beiträge
 
#7

Re: Ich möchte nur einen Report!!!

  Alt 30. Nov 2005, 11:10
noch was vergessen
SQL-Code:
Select A.HHST, SUM(B.STRBETRAG) as STRBETRAG from HhST A
join TMAIN B
on A.HHST=B.HHST
Group by A.HHST
  Mit Zitat antworten Zitat
ickehausen

Registriert seit: 29. Jul 2004
85 Beiträge
 
Delphi 2010 Enterprise
 
#8

Re: Ich möchte nur einen Report!!!

  Alt 30. Nov 2005, 12:06
Danke für Deine super schnelle Antwort Hendrik, bei mir verursacht die Änderung einen Dynamic SQL Error.
SQL error code = -104, invalid Column reference!

Meine Abfrage sieht so aus:
Delphi-Quellcode:
  // Query für Report und Report ausgeben
  DataModule2.IBQueryMonatsabschluss.Active := false;
  DataModule2.IBQueryMonatsabschluss.SQL.Clear;
  DataModule2.IBQueryMonatsabschluss.SQL.Text := 'select A.HHST, B.USERNAME, B.NAME, B.VERWENDUNG, B.Datum, SUM(B.SSTRBETRAG) as STRBETRAG from THHST A join TMAIN B on (A.HHST = B.HHST) and (B.DATUM >= ' + QuotedStr(DateMin) + ') and (B.DATUM < ' + QuotedStr(DateMax) + ') and (B.STORNO = ' + QuotedStr(Storn) + ') group by A.HHST';
  DataModule2.IBQueryMonatsabschluss.Active := true;
  DataModule2.RvProjectMonatsabschlussUser.ProjectFile := RepPath + '\' + RepMU;
  DataModule2.RvProjectMonatsabschlussUser.ExecuteReport('Report1');
Es gibt keine dummen Fragen ...
  Mit Zitat antworten Zitat
HendrikM

Registriert seit: 30. Aug 2005
Ort: Berlin
49 Beiträge
 
#9

Re: Ich möchte nur einen Report!!!

  Alt 30. Nov 2005, 12:14
Hallo, Dein jetziges select sieht ja auch ganz anders aus als Dein erstes!
Da war nur von HHST und der Summe von SSTRBetrag die Rede.
Wenn Du jetzt noch all die anderen Angaben drin haben willst, mußt Du diese auch in die Group BY
Klausel aufnehmen.
Also z.B.
SQL-Code:
...
Group by A.HHST, B.USERNAME, B.NAME, B.VERWENDUNG, B.Datum
Hendrik
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz