Hallo Sehr geehrte Forengemeinde,
ich arbeite gerade an einer Datenbank, in der man neben Kunden-, Mitarbeiter- und Auftragverwaltung auch über Berichte eine Monatsabrechnung für einen Kunden erstellen soll, die die entsprechenden Aufträge anzeigt, sowie Preis jeden einzelnen Auftrag auflistet. Das funktioniert soweit über einen Bericht der sich auf eine Abfrage (Test) bezieht.
Nun komme ich zu meinem eigentlichen Problem, an dem ich leider nicht weiter weiß und hoffnungsvoll diesen Forenbeitrag verfasse.
Der Bericht soll die jeweiligen Preise Addieren und natürlich als Endsumme ausgeben. Zudem soll von der Endsumme die Umsatzsteuer berechnet und ebenfalls ausgegeben werden. Zu guter Letzt soll noch eine Rechnungsnummer generiert, eingesetzt und gespeichert werden. Leider weiß ich nicht in welcher Tabelle diese Rechnungsnummer am idealsten gespeichert werden soll.
Angehängt habe ich die .odb Datei. Ich würde mich über Tipps und Verbesserungen freuen. Bitte so simpel wie möglich, dass es auch ein Laie wie ich das ganze durchschaut
Danke vielmals
Base Berichte
Moderator: Moderatoren
Base Berichte
- Dateianhänge
-
- Verwaltung2.odb
- (95.27 KiB) 151-mal heruntergeladen
Re: Base Berichte
Hallo Spyro,
Du nutzt nicht den Report-Builder. In der Berichtsversion, die Du in Deiner Datenbankdatei erstellt hast, ist eine Summierung z.B. zum Berichtsende nicht möglich. Du kannst lediglich das ausgeben, was Du bereits in der dem Bericht zugrundeliegenden Abfrage berechnest.
Berichte, wie Du sie erstellst, können so in der Regel nur noch über OpenOffice und AOO erstellt werden. Die aktuellen Fassungen von LibreOffice haben den Report-Builder als Standardmodul dabei. Da kann dann so ein alter Tabellenbericht standardmäßig nur ausgeführt, aber nicht neu erstellt werden.
Ich würde Dir raten, den Report-Builder (extension) zu installieren. Dann können Dir hier sicher mehr Personen helfen.
Gruß
Robert
Du nutzt nicht den Report-Builder. In der Berichtsversion, die Du in Deiner Datenbankdatei erstellt hast, ist eine Summierung z.B. zum Berichtsende nicht möglich. Du kannst lediglich das ausgeben, was Du bereits in der dem Bericht zugrundeliegenden Abfrage berechnest.
Berichte, wie Du sie erstellst, können so in der Regel nur noch über OpenOffice und AOO erstellt werden. Die aktuellen Fassungen von LibreOffice haben den Report-Builder als Standardmodul dabei. Da kann dann so ein alter Tabellenbericht standardmäßig nur ausgeführt, aber nicht neu erstellt werden.
Ich würde Dir raten, den Report-Builder (extension) zu installieren. Dann können Dir hier sicher mehr Personen helfen.
Gruß
Robert
Re: Base Berichte
Hallo RobertG,
vielen Dank für diesen Tipp! Dadurch haben sich viele Fragen erledigt. Nun möchte ich aber noch eine Rechnungsnummer generieren, die auf den Bericht geschrieben werden soll und natürlich auch gespeichert werden kann. Später soll man die Rechnungsnummer verwenden können, um zu sehen welche Aufträge mit der Rechnung abgerechnet wurden. Habe es bereits mit einem Insert Befehl in der Abfrage probiert, was wohl nicht funktioniert, weil die Abfrage nur Daten aus den Tabellen zieht.
Wäre über über mögliche Ansätze und Tipps sehr froh!
Grüße Spryro
vielen Dank für diesen Tipp! Dadurch haben sich viele Fragen erledigt. Nun möchte ich aber noch eine Rechnungsnummer generieren, die auf den Bericht geschrieben werden soll und natürlich auch gespeichert werden kann. Später soll man die Rechnungsnummer verwenden können, um zu sehen welche Aufträge mit der Rechnung abgerechnet wurden. Habe es bereits mit einem Insert Befehl in der Abfrage probiert, was wohl nicht funktioniert, weil die Abfrage nur Daten aus den Tabellen zieht.
Wäre über über mögliche Ansätze und Tipps sehr froh!
Grüße Spryro
Re: Base Berichte
Hallo Spyro,
die Rechnungsnummer würde ich aus festen Elementen der zugrundeliegenden Tabellen zusammenstellen. Wenn Du z.B. einen Primärschlüssel als Autowert hast, dann ist dieser dafür prädestiniert: Keine Nummer ist gleich der anderen.
Du kannst auch so einen Autowert zusammen mit anderen Feldern zu einer Rechnungsnummer machen. Angenommen, Du hast ein Feld "ID" und ein Feld "Datum" in Deiner Tabelle. Dann könntest Du mit
Rechnungsnummern darstellen. Du kannst auch führende Nullen vor die ID setzen. Ich würde für die Nummer auf keinen Fall einen gesonderten Wert eintragen - macht nur zusätzlich Arbeit.
Gruß
Robert
die Rechnungsnummer würde ich aus festen Elementen der zugrundeliegenden Tabellen zusammenstellen. Wenn Du z.B. einen Primärschlüssel als Autowert hast, dann ist dieser dafür prädestiniert: Keine Nummer ist gleich der anderen.
Du kannst auch so einen Autowert zusammen mit anderen Feldern zu einer Rechnungsnummer machen. Angenommen, Du hast ein Feld "ID" und ein Feld "Datum" in Deiner Tabelle. Dann könntest Du mit
Code: Alles auswählen
SELECT YEAR("Datum")||"ID" AS "Rechnungsnummer" FROM "Tabelle"
Gruß
Robert
Re: Base Berichte
Danke RobertG,
diese Idee hatte ich auch. Nur weiß ich nicht wo ich da ansetzen soll, wenn das alles passieren soll sobald ich den Bericht erstelle mit der Abfragenbedingung.
Gruß
diese Idee hatte ich auch. Nur weiß ich nicht wo ich da ansetzen soll, wenn das alles passieren soll sobald ich den Bericht erstelle mit der Abfragenbedingung.
Gruß
Re: Base Berichte
Hallo Spyro,
Du erstellst den Bericht auf der Basis einer Abfrage (oder auch einer Ansicht). Diese Abfrage editierst Du in der SQL-Ansicht wie beschrieben.
Du hast in Deiner Datenbank die Tabelle "Auftrag". Diese Tabelle hast Du ja bereits an anderer Stelle auch in Abfragen eingebunden.
Wird dann zu der Rechnungsnummer.
Besser mit Nullen ausfüllen und mit einem Bindestrich trennen:
Bei Deinen Abfragen hast Du der Tabelle "Auftrag" aber anscheinend immer einen Alias zugewiesen. Da musst Du dann eben auch in den obigen Code den Alias einbauen.
Gruß
Robert
Du erstellst den Bericht auf der Basis einer Abfrage (oder auch einer Ansicht). Diese Abfrage editierst Du in der SQL-Ansicht wie beschrieben.
Du hast in Deiner Datenbank die Tabelle "Auftrag". Diese Tabelle hast Du ja bereits an anderer Stelle auch in Abfragen eingebunden.
Code: Alles auswählen
YEAR("Auftrag"."A_Datum")||"Auftrag"."A_ID" AS "Rechnungsnummer"
Besser mit Nullen ausfüllen und mit einem Bindestrich trennen:
Code: Alles auswählen
YEAR("Auftrag"."A_Datum")||'-'||RIGHT('00000'||"Auftrag"."A_ID",6) AS "Rechnungsnummer"
Gruß
Robert