🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

2 Fragen, gebildete Felder weiter verwenden, Fehlermeldung fehlt

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
ILEMax
Beiträge: 44
Registriert: Di 28. Jun 2011, 09:41

2 Fragen, gebildete Felder weiter verwenden, Fehlermeldung fehlt

Beitrag von ILEMax » Mo 13. Jul 2020, 11:02

Hallo zusammen.
Ich verwende seid Jahren eine Base DB auf die ich eine View gelegt habe, um einen Brief mit diesen Feldern zu drucken.

In der View verwende ich selbst errechete Felder
Bsp.:
( 2.8 * "Eewachsene" * "Tg1503_3110" ) + ( 1.8 * "Eewachsene" * "TgRest" ) AS "KuTa",

1. Frage: gibt es eine schreibweise, die mir erlaubt in der view nach o.g. definition mit dem feld KuTa weiter zu arbeiten?
also "KuTa" + "Handtuecher" + "Bettwaesche" as "NK"

2. Frage
nach einer kleinen Änderung stimmt nun die View nicht mehr.
Was der Fehler ist, wird mir aber nicht schlüssig angezeigt, da das Fehlerfenster über den Bildschirm hinaus geht und keine Schiebebalken hat.

Findet jemand den Fehler?

SELECT
"AdressID" AS "AdressID",
"Anrede" AS "Anrede",
"Titel" AS "Titel",
"Vorname" AS "Vorname",
"Nachname" AS "Nachname",
"Strasse" AS "Strasse",
"Postleitzahl" AS "Postleitzahl",
"Ort" AS "Ort",
"Telefonnummer" AS "Telefonnummer",
"eMail" AS "eMail",
"Kinder" AS "Kinder",
"vonDT" AS "vonDT",
"bisDT" AS "bisDT",
"PreisPTag" AS "PreisPTag",
"gemietet" AS "gemietet",
"Anmerkung" AS "Anmerkung",
"Eewachsene" AS "Eewachsene",
"Tg1503_3110" AS "Tg1503_3110",
"TgRest" AS "TgRest",
( 2.8 * "Eewachsene" * "Tg1503_3110" ) + ( 1.8 * "Eewachsene" * "TgRest" ) AS "KuTa",
( DATEDIFF( 'day', "bisDT", "vonDT" ) ) * - 1 AS "tage",
"Handtuecher" AS "Handtuecher",
"Bettwaesche" AS "Bettwaesche",
"Internet" AS "Internet",
("Internet" + ( ( DATEDIFF( 'day', "bisDT", "vonDT"
) * - 1
) * "PreisPTag"
+ 200
+ ( "Handtuecher" * 8 )
+ ( "Bettwaesche" * 8 )
+ ( 2.8 * "Eewachsene" * "Tg1503_3110" )
+ ( 1.8 * "Eewachsene" * "TgRest" )
+ ( ( ( (DATEDIFF( 'day', "bisDT", "vonDT"
) * - 1
) * "PreisPTag"
) / 100
) * 2,75
)
)
) AS "ges",
(
"Internet" + ( ( DATEDIFF( 'day', "bisDT", "vonDT" ) * - 1 ) * "PreisPTag" + 200
+ ( "Handtuecher" * 8 )
+ ( "Bettwaesche" * 8 )
+ ( 2.8 * "Eewachsene" * "Tg1503_3110" ) + ( 1.8 * "Eewachsene" * "TgRest" )
+ ( ( ( (DATEDIFF( 'day', "bisDT", "vonDT"
) * - 1
) * "PreisPTag"
) / 100
) * 2,75
)
) / 3 AS "drittel",
(
"Internet" + ( ( DATEDIFF( 'day', "bisDT", "vonDT" ) * - 1 ) * "PreisPTag" + 200
+ ( "Handtuecher" * 8 )
+ ( "Bettwaesche" * 8 )
+ ( 2.8 * "Eewachsene" * "Tg1503_3110" ) + ( 1.8 * "Eewachsene" * "TgRest" )
+ ( ( ( (DATEDIFF( 'day', "bisDT", "vonDT" )
) * - 1
) * "PreisPTag"
) / 100
) * 2,75
) -
((
"Internet" + ( ( DATEDIFF( 'day', "bisDT", "vonDT" ) * - 1 ) * "PreisPTag" + 200
+ ( "Handtuecher" * 8 )
+ ( "Bettwaesche" * 8 )
+ ( 2.8 * "Eewachsene" * "Tg1503_3110" ) + ( 1.8 * "Eewachsene" * "TgRest" )
+ ( ( ( (DATEDIFF( 'day', "bisDT", "vonDT" )
) * - 1
) * "PreisPTag"
) / 100
) * 2,75
) / 3) AS "rest",
DATEDIFF( 'day', "bisDT", "vonDT" ) * - 1 * "PreisPTag" AS "miete",
DATEDIFF( 'day', "bisDT", "vonDT" ) * - 1 * "PreisPTag" + 50 AS "miupu",
"Handtuecher" * 8 AS "gfh",
"Bettwaesche" * 8 AS "gfb",
( DATEDIFF( 'day', "bisDT", "vonDT" ) * - 1 * "PreisPTag" / 100 ) * 2.75 AS "Bettenst"
FROM "Adressen" AS "Adressen"

das Fehlerfenster
view.PNG
view.PNG (57.2 KiB) 2736 mal betrachtet

RobertG
* LO-Experte *
Beiträge: 2884
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: 2 Fragen, gebildete Felder weiter verwenden, Fehlermeldung fehlt

Beitrag von RobertG » Mo 13. Jul 2020, 12:31

Hallo ILEMAX,

zur ersten Frage: Ein innerhalb einer Zeile mit einem Alias versehenes Feld ist nicht in der gleichen Zeile für die Datenbank bekannt. Da musst Du dann leider die ganze Rechnung noch einmal einbauen - oder einen View zusammenstellen, in dem z.B. nur die Rechnung zusammen mit dem Primärschlüssel steht.

Ich suche einmal mögliche Kandidaten für einen Fehler raus:

Code: Alles auswählen

( DATEDIFF( 'day', "bisDT", "vonDT" ) ) * - 1 AS "tage", 
Da hätte ich alternativ

Code: Alles auswählen

( DATEDIFF( 'day', "bisDT", "vonDT" ) ) * (- 1) AS "tage", 
gemacht, da das sonst 2 Rechenzeichen direkt hintereinander sind.
... und damit machst Du munter weiter in der ganzen Rechnung ...
Außerdem sind da Klammerfehler mit drin, die Du am besten raus bekommst, indem Du das in einen Editor einliest, der Klammerung auch erkennen kann. Der Editor von Base ist da leider für längeren Code denkbar ungeeignet.

Code: Alles auswählen

AS "ges",
(
"Internet"
Dieser Teilcode hat eine vermutlich Falsche Kammer. Das, was Du anschließend rechnest schließt mit "AS drittel" ab.

Weiter unten scheint so etwas noch einmal vorzukommen.

Gruß

Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare

ILEMax
Beiträge: 44
Registriert: Di 28. Jun 2011, 09:41

Re: 2 Fragen, gebildete Felder weiter verwenden, Fehlermeldung fehlt

Beitrag von ILEMax » Mo 13. Jul 2020, 13:19

Danke für den Tipp,
habe den Code mal im Notepad++ eingefügt.

Klammern stimmen nun, finde aber den Fehler nicht. Imerhin bekomme nun aber eine 'bessere' Fehlermeldung.
Hast du noch eine Idee?

Danke
view.PNG
view.PNG (108.71 KiB) 2727 mal betrachtet


Hier der aktuelle code:

SELECT
"AdressID" AS "AdressID",
"Anrede" AS "Anrede",
"Titel" AS "Titel",
"Vorname" AS "Vorname",
"Nachname" AS "Nachname",
"Strasse" AS "Strasse",
"Postleitzahl" AS "Postleitzahl",
"Ort" AS "Ort",
"Telefonnummer" AS "Telefonnummer",
"eMail" AS "eMail",
"Kinder" AS "Kinder",
"vonDT" AS "vonDT",
"bisDT" AS "bisDT",
"PreisPTag" AS "PreisPTag",
"gemietet" AS "gemietet",
"Anmerkung" AS "Anmerkung",
"Eewachsene" AS "Eewachsene",
"Tg1503_3110" AS "Tg1503_3110",
"TgRest" AS "TgRest",
( 2.8 * "Eewachsene" * "Tg1503_3110" ) +
( 1.8 * "Eewachsene" * "TgRest" ) AS "KuTa",
( DATEDIFF( 'day', "bisDT", "vonDT" ) ) * (- 1) AS "tage",
"Handtuecher" AS "Handtuecher",
"Bettwaesche" AS "Bettwaesche",
"Internet" AS "Internet",
"Internet" +
( DATEDIFF( 'day', "bisDT", "vonDT" ) ) * (- 1) * "PreisPTag"
+ 200
+ ( "Handtuecher" * 8 )
+ ( "Bettwaesche" * 8 )
+ ( 2.8 * "Eewachsene" * "Tg1503_3110" )
+ ( 1.8 * "Eewachsene" * "TgRest" )
+ ((( (DATEDIFF( 'day', "bisDT", "vonDT" ) ) * (- 1) * "PreisPTag" )/ 100 ) * 2,75)
AS "ges",
("Internet" +
( DATEDIFF( 'day', "bisDT", "vonDT" ) ) * (- 1) * "PreisPTag"
+ 200
+ ( "Handtuecher" * 8 )
+ ( "Bettwaesche" * 8 )
+ ( 2.8 * "Eewachsene" * "Tg1503_3110" )
+ ( 1.8 * "Eewachsene" * "TgRest" )
+ ((( (DATEDIFF( 'day', "bisDT", "vonDT" ) ) * (- 1) * "PreisPTag" ) / 100 ) * 2,75 )
) / 3 AS "drittel",
("Internet" +
( DATEDIFF( 'day', "bisDT", "vonDT" ) ) * (- 1) * "PreisPTag"
+ 200
+ ( "Handtuecher" * 8 )
+ ( "Bettwaesche" * 8 )
+ ( 2.8 * "Eewachsene" * "Tg1503_3110" )
+ ( 1.8 * "Eewachsene" * "TgRest" )
+ ((( (DATEDIFF( 'day', "bisDT", "vonDT" ) ) * (- 1) * "PreisPTag" ) / 100 ) * 2,75 )
) -
(("Internet" +
( DATEDIFF( 'day', "bisDT", "vonDT" ) ) * (- 1) * "PreisPTag"
+ 200
+ ( "Handtuecher" * 8 )
+ ( "Bettwaesche" * 8 )
+ ( 2.8 * "Eewachsene" * "Tg1503_3110" )
+ ( 1.8 * "Eewachsene" * "TgRest" )
+ ((( (DATEDIFF( 'day', "bisDT", "vonDT" ) ) * (- 1) * "PreisPTag" ) / 100 ) * 2,75 )
) / 3 ) AS "rest",
DATEDIFF( 'day', "bisDT", "vonDT" ) * (- 1) * "PreisPTag" AS "miete",
DATEDIFF( 'day', "bisDT", "vonDT" ) * (- 1) * "PreisPTag" + 50 AS "miupu",
"Handtuecher" * 8 AS "gfh",
"Bettwaesche" * 8 AS "gfb",
( DATEDIFF( 'day', "bisDT", "vonDT" ) * (- 1) * "PreisPTag" / 100 ) * 2.75 AS "Bettenst"
FROM "Adressen" AS "Adressen"

ILEMax
Beiträge: 44
Registriert: Di 28. Jun 2011, 09:41

Re: 2 Fragen, gebildete Felder weiter verwenden, Fehlermeldung fehlt

Beitrag von ILEMax » Mo 13. Jul 2020, 13:44

Mit der passenden Formatierung (wenigstens einigermassen):

Code: Alles auswählen

SELECT 
"AdressID"      								AS "AdressID", 
"Anrede"        								AS "Anrede", 
"Titel"         								AS "Titel", 
"Vorname"       								AS "Vorname", 
"Nachname"      								AS "Nachname", 
"Strasse"       								AS "Strasse", 
"Postleitzahl"  								AS "Postleitzahl", 
"Ort"           								AS "Ort", 
"Telefonnummer" 								AS "Telefonnummer", 
"eMail"         								AS "eMail", 
"Kinder"        								AS "Kinder", 
"vonDT"         								AS "vonDT", 
"bisDT"         								AS "bisDT", 
"PreisPTag"     								AS "PreisPTag", 
"gemietet"      								AS "gemietet", 
"Anmerkung"     								AS "Anmerkung", 
"Eewachsene"    								AS "Eewachsene", 
"Tg1503_3110"   								AS "Tg1503_3110", 
"TgRest"        								AS "TgRest", 
( 2.8 * "Eewachsene" * "Tg1503_3110" ) + 
( 1.8 * "Eewachsene" * "TgRest" ) 				AS "KuTa", 
( DATEDIFF( 'day', "bisDT", "vonDT" ) ) * (- 1) AS "tage", 
"Handtuecher"   								AS "Handtuecher", 
"Bettwaesche"   								AS "Bettwaesche", 
"Internet"      								AS "Internet", 
"Internet" + 
	( DATEDIFF( 'day', "bisDT", "vonDT" ) ) * (- 1) * "PreisPTag" 
    + 200 
    + ( "Handtuecher" * 8 ) 
    + ( "Bettwaesche" * 8 ) 
    + ( 2.8 * "Eewachsene" * "Tg1503_3110" ) 
    + ( 1.8 * "Eewachsene" * "TgRest" ) 
    + ((( (DATEDIFF( 'day', "bisDT", "vonDT" ) ) * (- 1) * "PreisPTag" )/ 100 )  * 2,75)
												AS "ges", 
 ("Internet" + 
	( DATEDIFF( 'day', "bisDT", "vonDT" ) ) * (- 1) * "PreisPTag" 
	+ 200 
	+ ( "Handtuecher" * 8 ) 
	+ ( "Bettwaesche" * 8 ) 
	+ ( 2.8 * "Eewachsene" * "Tg1503_3110" ) 
	+ ( 1.8 * "Eewachsene" * "TgRest" ) 
	+ ((( (DATEDIFF( 'day', "bisDT", "vonDT" ) ) * (- 1) * "PreisPTag" ) / 100 )  * 2,75 )
 ) / 3 											AS "drittel", 
("Internet" + 
	( DATEDIFF( 'day', "bisDT", "vonDT" ) ) * (- 1) * "PreisPTag" 
	+ 200 
	+ ( "Handtuecher" * 8 ) 
	+ ( "Bettwaesche" * 8 ) 
	+ ( 2.8 * "Eewachsene" * "Tg1503_3110" ) 
	+ ( 1.8 * "Eewachsene" * "TgRest" ) 
	+ ((( (DATEDIFF( 'day', "bisDT", "vonDT" ) ) * (- 1) * "PreisPTag" ) / 100 )  * 2,75 )
) - 
(("Internet" + 
	( DATEDIFF( 'day', "bisDT", "vonDT" ) ) * (- 1) * "PreisPTag" 
	+ 200 
	+ ( "Handtuecher" * 8 ) 
	+ ( "Bettwaesche" * 8 ) 
	+ ( 2.8 * "Eewachsene" * "Tg1503_3110" ) 
	+ ( 1.8 * "Eewachsene" * "TgRest" ) 
	+ ((( (DATEDIFF( 'day', "bisDT", "vonDT" ) ) * (- 1) * "PreisPTag" ) / 100 )  * 2,75 ) 
) 	/ 3 ) 										AS "rest", 
DATEDIFF( 'day', "bisDT", "vonDT" ) * (- 1) * "PreisPTag" AS "miete", 
DATEDIFF( 'day', "bisDT", "vonDT" ) * (- 1) * "PreisPTag" + 50 AS "miupu", 
"Handtuecher" * 8 AS "gfh", 
"Bettwaesche" * 8 AS "gfb", 
( DATEDIFF( 'day', "bisDT", "vonDT" ) * (- 1) * "PreisPTag" / 100 ) * 2.75 AS "Bettenst" 
FROM "Adressen" AS "Adressen"

ILEMax
Beiträge: 44
Registriert: Di 28. Jun 2011, 09:41

Re: 2 Fragen, gebildete Felder weiter verwenden, Fehlermeldung fehlt

Beitrag von ILEMax » Mo 13. Jul 2020, 14:03

Habe es gefunden ...
Hatte bei der 2,75 ein Komma statt eines Punktes geschrieben, somit waren da einige Komma zu viel.

Danke für die Mühe
der ILEMax


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten