• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Gelösst!!! Base-Abfrage - SQL-Berechnung in Spalte

Uwe.Lü

Hacker
Hallo Gemeinde,

ich will Windows Access nun endlich verlassen und meine Access-Tabelle in Base überführt, soweit, so gut. So sieht meine Abfrage aus:.
Code:
SELECT 
"DB_BHS_L1"."Buchungsnummer" AS "Buchungsnummer", 
"DB_BHS_L1"."Kreditor/Debitor" AS "Kreditor/Debitor", 
"DB_BHS_L1"."Buchungstext" AS "Buchungstext", 
"DB_BHS_L1"."Betrag brutto" AS "Betrag brutto", 
"DB_BHS_L1"."Betrag netto" AS "Betrag netto", 
"DB_BHS_L1"."Steuersatz" AS "Steuersatz", 
"DB_BHS_L1"."Kostenart" AS "Kostenart", 
"DB_BHS_L1"."Berechnung Nettobetrag" AS "Berechnung Nettobetrag", 
"DB_BHS_L1"."Buchungsdatum" AS "Buchungsdatum", 
"DB_BHS_L1"."Barentnahme" AS "Barentnahme", 
"DB_BHS_L1"."enthaltene Mehrwertsteuer" AS "enthaltene Mehrwertsteuer" FROM "DB_BHS_L1" 
"DB_BHS_L1" ORDER BY "Buchungsnummer"
Es geht um die Zeilen
Code:
"DB_BHS_L1"."Berechnung Nettobetrag" AS "Berechnung Nettobetrag"
, die Ausgabe des Wertes soll in der Spalte
Code:
"DB_BHS_L1"."Betrag netto" AS "Betrag netto",
erfolgen. Als 2. soll der Betrag MWSt. im Feld
Code:
"DB_BHS_L1"."enthaltene Mehrwertsteuer" AS "enthaltene Mehrwertsteuer" FROM "DB_BHS_L1"
ausgegeben werden.
Wer kann da helfen? Wie Ihr merkt geht es um die Umsatzsteuervoranmeldung, die Ende des Monats wieder fällig wird.
Vielen Dank vorab. Uwe
 

spoensche

Moderator
Teammitglied
Code:
"DB_BHS_L1"."Berechnung Nettobetrag" AS "Berechnung Nettobetrag"

ändern in

Code:
"DB_BHS_L1"."Berechnung Nettobetrag" AS "Netto"

Du kannst dann die Spalte Netto nicht mehr oder nur mit einem anderen Namen verwenden.

Mit deinem Select Statement wird auch nichts berechnet, sondern alle Buchungen, nach Buchungsnummer sortiert, angezeigt.
 
OP
Uwe.Lü

Uwe.Lü

Hacker
Viele Dank für die schnelle Antwort, wenn ich morgen wieder im Büro bin, werde ich es gleich versuchen. Dann melde ich mich wieder.
Schönen Abend. :thumbs:
 
OP
Uwe.Lü

Uwe.Lü

Hacker
Guten Morgen, habe das entsprechend geändert, brachte aber nicht den gewünschten Erfolg. Aber ich glaube, ich muss mich mehr mit den SQL-Befehlen beschäftigen.
Wo finden in Base die Berechnungen von Werten, wie Netto von Brutto und MWSt. statt, in der Abfrage wie bei Access? :???:
 
OP
Uwe.Lü

Uwe.Lü

Hacker
Vielen Dank für den Hinweis, aber mein Problem bleibt bestehen.
Ich will nicht gruppieren oder sortieren, sondern rechnen: "Betrag brutto"/1,19 ist "Betrag netto" und "Betrag brutto" minus "Betrag netto" ist "Mehrwertsteuer"
 

spoensche

Moderator
Teammitglied
Code:
SELECT 
    "DB_BHS_L1"."Betrag brutto" AS "Betrag brutto",
    ("DB_BHS_L1"."Betrag brutto" / 1.19) AS "Betrag netto"
 
FROM ....
.....
 
OP
Uwe.Lü

Uwe.Lü

Hacker
Danke Spoensche.

da war ich ja schon auf dem richtigen Weg, was die Syntax betrifft. Nur
spoensche schrieb:
Code:
SELECT 
    "DB_BHS_L1"."Betrag brutto" AS "Betrag brutto",
    ("DB_BHS_L1"."Betrag brutto" / 1.19) AS "Betrag netto"
 
FROM ....
.....
, wenn ich das so in meine Abfrage eingebe, kommt folgende Fehlermeldung:
Code:
SQL-Status: HY000
Fehler-Code: 1000

syntax error, unexpected $end, expecting BETWEEN or IN or SQL_TOKEN_LIKE
Ist es Möglich, das ich zur Berechnung der Werte eine Unterabfrage oder eine neue Abfrage erstellen muss?
 

spoensche

Moderator
Teammitglied
Uwe.Lü schrieb:
, wenn ich das so in meine Abfrage eingebe, kommt folgende Fehlermeldung:
Code:
SQL-Status: HY000
Fehler-Code: 1000

syntax error, unexpected $end, expecting BETWEEN or IN or SQL_TOKEN_LIKE
Ist es Möglich, das ich zur Berechnung der Werte eine Unterabfrage oder eine neue Abfrage erstellen muss?

Poste mal dein vollständiges SELECT Statement.
 
OP
Uwe.Lü

Uwe.Lü

Hacker
Code:
SELECT 
"Buchungsnummer" AS "Buchungsnummer", 
"Kreditor/Debitor" AS "Kreditor/Debitor", 
"Buchungstext" AS "Buchungstext", 
"DB_BHS_L1"."Betrag brutto" AS "Betrag brutto",
("DB_BHS_L1"."Betrag brutto" / 1.19) AS "Betrag Netto"
"Betrag netto" AS "Betrag netto", 
"Steuersatz" AS "Steuersatz", 
"Kostenart" AS "Kostenart", 
"Betrag Netto" AS "Betrag Netto", 
"Buchungsdatum" AS "Buchungsdatum", 
"Barentnahme" AS "Barentnahme", 
"enthaltene Mehrwertsteuer" AS "enthaltene Mehrwertsteuer" 
FROM "DB_BHS_L1" ORDER BY "Buchungsnummer" ASC
Ich habe noch einmal nachgesehen, alle benannten Datenfelder existieren in der Tabelle DB_BHS_L1
 

spoensche

Moderator
Teammitglied
Evtl. unterscheidet Base bei den Aliasnamen nicht zwischen Groß- und Kleinschreibung.

Ändere mal

Code:
AS "Betrag Netto"

in

Code:
AS "Erg netto"
 
OP
Uwe.Lü

Uwe.Lü

Hacker
Vielen Dank "spoensche", aber es will nicht
Code:
SQL-Status: HY000
Fehler-Code: 1000

syntax error, unexpected $end, expecting BETWEEN or IN or SQL_TOKEN_LIKE
Ich habe die Abfrage so geändert:
Code:
SELECT 
"Buchungsnummer" AS "Buchungsnummer", 
...
"Betrag brutto" AS "Betrag brutto",
"DB_BHS_L1"."Betrag brutto" AS "Betrag brutto",
("DB_BHS_L1"."Betrag brutto" / 1.19) AS "Erg Netto" 
"Betrag netto" AS "Erg netto",
"Steuersatz" AS "Steuersatz", 
...
FROM "DB_BHS_L1" ORDER BY "Buchungsnummer" ASC
 

spoensche

Moderator
Teammitglied
Uwe.Lü schrieb:
Code:
SELECT 
"Buchungsnummer" AS "Buchungsnummer", 
"Kreditor/Debitor" AS "Kreditor/Debitor", 
"Buchungstext" AS "Buchungstext", 
"DB_BHS_L1"."Betrag brutto" AS "Betrag brutto",
("DB_BHS_L1"."Betrag brutto" / 1.19) AS "Betrag Netto"
"Betrag netto" AS "Betrag netto", 
"Steuersatz" AS "Steuersatz", 
"Kostenart" AS "Kostenart", 
"Betrag Netto" AS "Betrag Netto", 
"Buchungsdatum" AS "Buchungsdatum", 
"Barentnahme" AS "Barentnahme", 
"enthaltene Mehrwertsteuer" AS "enthaltene Mehrwertsteuer" 
FROM "DB_BHS_L1" ORDER BY "Buchungsnummer" ASC
Ich habe noch einmal nachgesehen, alle benannten Datenfelder existieren in der Tabelle DB_BHS_L1

Augen auf beim Eierkauf. Ich habs auch grade erst gesehen. Nach "Betrag Netto" fehlt ein Komma.
 

spoensche

Moderator
Teammitglied
Uwe.Lü schrieb:
Bingo, das wars. :) Dabei trage ich doch schon eine Brille....
Vielen Dank.

Da net für. Das Problem mit Brille und nix sehen kenne ich. Selbst mit Fernglas auf der Nase sieht man mal den Wald vor lauter Bäumen nicht.
 
OP
Uwe.Lü

Uwe.Lü

Hacker
Ich muss leider das Thema noch einmal hoch holen.

Bisher funktioniert alles, nur zur Dateneingabe habe ich Fragen.
Kann ich das Formular, aus der Abfrage erstellt, zur Eingabe nutzen, wenn ja wie?
Oder muss ich aus der Tabelle eine Formular erstellen?

LG Uwe
 

spoensche

Moderator
Teammitglied
Uwe.Lü schrieb:
Kann ich das Formular, aus der Abfrage erstellt, zur Eingabe nutzen, wenn ja wie?
Oder muss ich aus der Tabelle eine Formular erstellen?

Sieh dir mal https://ask.libreoffice.org/en/question/64915/can-base-import-a-database-i-created-using-ms-access/ an. Ist zwar schon 2 Jahre alt, aber eine Möglichkeit.
 
OP
Uwe.Lü

Uwe.Lü

Hacker
Vielen Dank für den Link, aber soweit war ich schon.
Nein, ich habe eine neue Base-Datenbank für 2018. Die Tabellen habe ich genau so in Base angelegt, wie sie in Access waren.

Meine Frage betraf das Base-Formular. Ich kann keine neuen Datensätze eingeben.
Muss in Base die Tabelle mit dem Formular verknüpft werden, oder gibt es einen Weg, das Formular mit der Abfrage zu verknüpfen, da in Abfragen Rechenoperationen ausgeführt werden können.
 
OP
Uwe.Lü

Uwe.Lü

Hacker
Hallo, und allen einen schönen ersten Frühsommersonntag.

Ich habe nun endlich MS Access in die "Tonne" getreten und arbeite ab jetzt komplett mit LO.

Ich habe aber die Umsatzsteuererklärung machen müssen.
Soweit, so gut. Bei Meiner Frau alles prima, nur meine SQL-gleiche Abfrage bei mir rechnet einfach nicht.
Code:
SELECT 
"01 DB BHS Uwe"."Buchungsnummer" AS "Buchungsnummer", 
"01 DB BHS Uwe"."Kostenart" AS "Kostenart", 
"01 DB BHS Uwe"."Kreditor/Debitor" AS "Kreditor/Debitor", 
"01 DB BHS Uwe"."Betrag brutto" AS "Betrag brutto", 
"01 DB BHS Uwe"."Buchungsdatum" AS "Buchungsdatum", 
"01 DB BHS Uwe"."Steuersatz" AS "Steuersatz", 
"01 DB BHS Uwe"."Buchungstext" AS "Buchungstext", 
"01 DB BHS Uwe"."Barentnahme" AS "Barentnahme", 
"01 DB BHS Uwe"."Betrag brutto" / ( 1 + "Steuersatz" / 100 ) AS "Betrag Netto", 
"01 DB BHS Uwe"."Betrag brutto" / ( 1 + "Steuersatz" / 100 ) * ( "Steuersatz" / 100 ) AS "MehrWertSteuer", 
"03 Kostenarten"."Kostenartenbezeichnung" AS "Kostenarten" 
FROM { oj "01 DB BHS Uwe" 
LEFT OUTER JOIN "03 Kreditoren/Debitoren" ON "01 DB BHS Uwe"."Kreditor/Debitor" = "03 Kreditoren/Debitoren"."FIRMENNAME" 
LEFT OUTER JOIN "03 Kostenarten" ON "01 DB BHS Uwe"."Kostenart" = "03 Kostenarten"."Kostenart" } 
ORDER BY "Buchungsnummer" ASC, "Kostenart" ASC

In der Spalte "Betrag Netto" wird der Bruttobetrag angezeigt, in der Spalte "MehrWertSteuer" "0".

Auf die Tabellen "Kostenarten" und "Kreditoren/Debitoren" greifen beide Abfragen zu, die meiner Frau und meine.
Ich brauche dringend Hilfe, da ich meine Umsatzsteuervoranmeldung machen muss.

Einen schönen Sonntag Euch
LG Uwe
 

abgdf

Guru
Uwe.Lü schrieb:
Ich brauche dringend Hilfe, da ich meine Umsatzsteuervoranmeldung machen muss.
Um Dir halbwegs zu helfen (ganz können wir das hier wohl nicht), müßte man dann wissen, in welcher Form Du Deine Buchungen erfaßt. Z.B. auch, ob Du bilanzieren oder nur eine EÜR machen mußt. Außerdem wird heute Online-Übermittlung (im Grundsatz) verlangt (was ich für verfassungswidrig halte, aber davon mal abgesehen).
Letztlich setzt man dafür heute Software ein. Ein minimales Programm dafür wäre Winston. Auch JES-EÜR sollte man sich mal anschauen. Das nächstgrößere wäre dann Lexware Buchhaltung (ich hatte mal die Version von 1998). Und dann gibt es branchenspezifische Programme (wie z.B. RA-Micro für Rechtsanwälte). Am oberen Ende dann wohl SAP.
Ich hatte mir schließlich selbst was geschrieben, etwa mit dem Umfang von JES. Dabei habe ich festgestellt, daß ich gar nicht Millionen von Buchungssätzen habe, und deshalb auch nicht SQL einsetzen muß, sondern daß eine einfach CSV-Datei für die Verarbeitung völlig ausreicht.
Kommt halt darauf an, wie die Umstände bei Dir sind.

Bei geringen Umsätzen ist es z.B. auch möglich, die Umsatzsteuererklärung nur einmal jährlich zu machen, und nicht die Voranmeldungen vierteljährlich. Das müßte man mit dem Finanzamt abklären.
 
Oben