BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!

❤️ DANKE >><< DANKE ❤️

> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Ja/Nein (Boolean) in Formularen?

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
hylli
Beiträge: 290
Registriert: Sa 19. Mär 2011, 19:00

Ja/Nein (Boolean) in Formularen?

Beitrag von hylli » Di 14. Nov 2017, 11:03

Hi,

in einer Tabelle habe ich 2 Felder mit Feldtyp "Ja/Nein [Boolean]" definiert.

Diese würde ich gerne im Formular so umsetzen, dass der Nutzer der Datenbank "Ja" bzw. "Nein" per Listenfeld auswählen kann oder als Optionsfelder "Ja" bzw. "Nein".

Wie setze ich das am einfachsten um? Komme da gerade auf keinen grünen Zweig?!?

Hylli
Geschäftlich: LibreOffice 7.2.x(als Citrix-Anwendung)
Privat: LibreOffice 7.3.x unter Linux Mint Cinnamon 64bit (jeweils aktuelle Version)

nikki
Beiträge: 1026
Registriert: Sa 18. Mär 2017, 22:25
Kontaktdaten:

Re: Ja/Nein (Boolean) in Formularen?

Beitrag von nikki » Di 14. Nov 2017, 11:50

Hallo Hylli,
ich würde entweder ein Markierfeld verwenden und per Hilfetext auf die möglichen Funktionen hinweisen:
2017-11-14 11_46_04-FormularTest.odt - Markierfeld.gif
2017-11-14 11_46_04-FormularTest.odt - Markierfeld.gif (2.69 KiB) 5256 mal betrachtet

oder zwei Optionsfelder verwenden und diese per Gruppierungsrahmen gruppieren so, dass nur eine Option ausgewählt werden kann:
2017-11-14 11_49_24-FormularTest.odt - Optionsfelder.gif
2017-11-14 11_49_24-FormularTest.odt - Optionsfelder.gif (3.88 KiB) 5256 mal betrachtet
Gruß

---------------------------------------------------
Win.10 Prof. 64-bit, LO 6.3.4 (x64), LO 6.2.6 Portable, AOO 4.1.7

hylli
Beiträge: 290
Registriert: Sa 19. Mär 2011, 19:00

Re: Ja/Nein (Boolean) in Formularen?

Beitrag von hylli » Di 14. Nov 2017, 12:29

Ich habe es jetzt mal als Markierfeld gemacht, weil Kollegin das gerne so einfach wie möglich haben möchte.

Wenn ich jedoch das Formular speichere, so wird der Haken wieder automatisch entfernt?

Im Reiter "Daten" habe ich das jeweilige Tabellenfeld gewählt und dort zusätzlich definiert:
Referenzwert (ein): 1
Referenzwert (aus): 0

Wo liegt mein Fehler?

Hylli
Geschäftlich: LibreOffice 7.2.x(als Citrix-Anwendung)
Privat: LibreOffice 7.3.x unter Linux Mint Cinnamon 64bit (jeweils aktuelle Version)

nikki
Beiträge: 1026
Registriert: Sa 18. Mär 2017, 22:25
Kontaktdaten:

Re: Ja/Nein (Boolean) in Formularen?

Beitrag von nikki » Di 14. Nov 2017, 15:27

Hallo Hylli,
Rückgabewerte von Feldtypen Boolean sind datenbankabhängig. Probier mal statt 1 = True und statt 0 = False.
Gruß

---------------------------------------------------
Win.10 Prof. 64-bit, LO 6.3.4 (x64), LO 6.2.6 Portable, AOO 4.1.7

hylli
Beiträge: 290
Registriert: Sa 19. Mär 2011, 19:00

Re: Ja/Nein (Boolean) in Formularen?

Beitrag von hylli » Di 14. Nov 2017, 15:45

Hi,

ich habe die Werte einfach mal weggelassen, und dann bleiben die Zustände gespeichert.

Wenn ich eine Abfrage mit u.a. diesen Feldern mache und diese nach Calc "ziehe", dann erscheint bei gesetztem Haken "WAHR" bzw. bei nicht gesetztem Haken entsprechend "FALSCH".

Für meine Abfragen/Auswertungen wäre es mir dann aber lieber, wenn da "Ja" oder "Nein" stehen würde.

Wie bewerkstellige ich das?

Hylli
Geschäftlich: LibreOffice 7.2.x(als Citrix-Anwendung)
Privat: LibreOffice 7.3.x unter Linux Mint Cinnamon 64bit (jeweils aktuelle Version)

RobertG
Beiträge: 2732
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Ja/Nein (Boolean) in Formularen?

Beitrag von RobertG » Di 14. Nov 2017, 16:22

Hallo Hylli,

in den Abfragen musst Du dann den Wert TRUE eben 'Ja', den Wert FALSE 'Nein' zuordnen:

Code: Alles auswählen

SELECT ..., CASE WHEN "Boolean" = TRUE THEN 'Ja' ELSE 'Nein' END AS "Ja/Nein" FROM "Tabelle"
Kannst natürlich auch noch NULL abfangen, wenn Du ein leeres Feld ebenfalls zulässt.

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

hylli
Beiträge: 290
Registriert: Sa 19. Mär 2011, 19:00

Re: Ja/Nein (Boolean) in Formularen?

Beitrag von hylli » Di 14. Nov 2017, 19:23

Puh, fragt sich wo/wie das Konstrukt in dieser Abfrage platziert werden müsste?!?
SELECT "Veranstalter"."Veranstalter", "Art der Schulung"."Art der Schulung", "Schulungen"."Veranstaltungsort", "Schulungen"."Bezeichnung", "Schulungen"."Datum von", "Schulungen"."Datum bis", "Mitarbeiter"."Nachname", "Mitarbeiter"."Vorname", "Schulungen"."Dauer in Tagen", "Schulungen"."Dauer in Stunden", "Schulungen"."Preis", "Schulungen"."Geplant", "Schulungen"."Mahlzeitengestellung", "Schulungen"."Kfz gebucht", "Schulungen"."Teilnahmebescheinigung", "Schulungen"."Bemerkungsfeld" FROM "rel_Schulung_Mitarbeiter", "Schulungen", "Mitarbeiter", "Art der Schulung", "Veranstalter" WHERE "rel_Schulung_Mitarbeiter"."FK_ID_Schulung" = "Schulungen"."ID_Schulung" AND "rel_Schulung_Mitarbeiter"."FK_ID_Mitarbeiter" = "Mitarbeiter"."Personal-Nr." AND "Schulungen"."FK_ID_Art" = "Art der Schulung"."ID_Art" AND "Schulungen"."FK_ID_Veranstalter" = "Veranstalter"."ID_Veranstalter"
Die beiden Boolean-Felder befinden sich in der Tabelle "Schulungen".

Hylli
Geschäftlich: LibreOffice 7.2.x(als Citrix-Anwendung)
Privat: LibreOffice 7.3.x unter Linux Mint Cinnamon 64bit (jeweils aktuelle Version)

RobertG
Beiträge: 2732
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Ja/Nein (Boolean) in Formularen?

Beitrag von RobertG » Mi 15. Nov 2017, 18:42

Hallo Hylli,

Code: Alles auswählen

SELECT "Veranstalter"."Veranstalter", "Art der Schulung"."Art der Schulung", 
"Schulungen"."Veranstaltungsort", "Schulungen"."Bezeichnung", 
"Schulungen"."Datum von", "Schulungen"."Datum bis", 
"Mitarbeiter"."Nachname", "Mitarbeiter"."Vorname", 
"Schulungen"."Dauer in Tagen", "Schulungen"."Dauer in Stunden", 
"Schulungen"."Preis", "Schulungen"."Geplant", 
"Schulungen"."Mahlzeitengestellung", "Schulungen"."Kfz gebucht", 
"Schulungen"."Teilnahmebescheinigung", "Schulungen"."Bemerkungsfeld", 
CASE WHEN "Schulungen"."Teilnahmebescheinigung" = TRUE THEN 'Ja' ELSE 'Nein' END AS "Bescheinigung" 
FROM "rel_Schulung_Mitarbeiter", "Schulungen", "Mitarbeiter", "Art der Schulung", "Veranstalter" 
WHERE "rel_Schulung_Mitarbeiter"."FK_ID_Schulung" = "Schulungen"."ID_Schulung" 
AND "rel_Schulung_Mitarbeiter"."FK_ID_Mitarbeiter" = "Mitarbeiter"."Personal-Nr." 
AND "Schulungen"."FK_ID_Art" = "Art der Schulung"."ID_Art" 
AND "Schulungen"."FK_ID_Veranstalter" = "Veranstalter"."ID_Veranstalter"
leider schreibst Du nicht, welches Feld denn das Boolean-Feld ist. Ich habe jetzt einfach einmal angenommen, dass es sich um "Schulungen"."Teilnahmebescheinigung" handelt. Das kannst Du ja dann austauschen.

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

hylli
Beiträge: 290
Registriert: Sa 19. Mär 2011, 19:00

Re: Ja/Nein (Boolean) in Formularen?

Beitrag von hylli » Mi 15. Nov 2017, 19:18

Hi,

es sind sogar zwei Felder davon betroffen, genauer:
"Schulungen"."Mahlzeitengestellung", "Schulungen"."Kfz gebucht"

Mit Deiner Hilfe habe ich es jetzt mal so hinbekommen:

Code: Alles auswählen

SELECT "Veranstalter"."Veranstalter", "Art der Schulung"."Art der Schulung", "Schulungen"."Veranstaltungsort", 
"Schulungen"."Bezeichnung", "Schulungen"."Datum von", "Schulungen"."Datum bis", "Mitarbeiter"."Nachname", 
"Mitarbeiter"."Vorname", "Schulungen"."Dauer in Tagen", "Schulungen"."Dauer in Stunden", "Schulungen"."Preis", 
"Schulungen"."Geplant", "Schulungen"."Mahlzeitengestellung", "Schulungen"."Kfz gebucht", 
"Schulungen"."Teilnahmebescheinigung", "Schulungen"."Bemerkungsfeld", CASE WHEN 
"Schulungen"."Mahlzeitengestellung" = TRUE THEN 'Ja' ELSE 'Nein' END AS "Mahlzeit", CASE WHEN 
"Schulungen"."Kfz gebucht" = TRUE THEN 'Ja' ELSE 'Nein' END AS "Kfz" FROM "rel_Schulung_Mitarbeiter", 
"Schulungen", "Mitarbeiter", "Art der Schulung", "Veranstalter" WHERE "rel_Schulung_Mitarbeiter"."FK_ID_Schulung" = 
"Schulungen"."ID_Schulung" AND "rel_Schulung_Mitarbeiter"."FK_ID_Mitarbeiter" = "Mitarbeiter"."Personal-Nr." AND 
"Schulungen"."FK_ID_Art" = "Art der Schulung"."ID_Art" AND "Schulungen"."FK_ID_Veranstalter" = 
"Veranstalter"."ID_Veranstalter"
Vermutlich gibt es aber eine einfacherer Schreibweise?!?

Einer meiner Fehler lag u.a. im fehlenden Komma vor der CASE-Anweisung, zuvor hatte ich die CASE-Anweisung auch falsch positioniert, ...

Mit der Teilnahmebescheinigung habe ich allerdings auch noch eine offene Frage, dazu aber separater Thread.

Bis dahin mal wieder: Danke für Deine Hilfe und Geduld.

Hylli
Geschäftlich: LibreOffice 7.2.x(als Citrix-Anwendung)
Privat: LibreOffice 7.3.x unter Linux Mint Cinnamon 64bit (jeweils aktuelle Version)

RobertG
Beiträge: 2732
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Ja/Nein (Boolean) in Formularen?

Beitrag von RobertG » Mi 15. Nov 2017, 21:40

Hallo Hylli,

Du kannst die Schreibweise auch vereinfachen. Dann musst Du aber zwingend bei der internen HSQLDB bleiben und kannst das z.B. nicht in Firebird - der anderen internen Datenbank, nutzen. Statt

Code: Alles auswählen

..., CASE WHEN "Schulungen"."Mahlzeitengestellung" = TRUE THEN 'Ja' ELSE 'Nein' END AS "Mahlzeit"...
geht auch

Code: Alles auswählen

..., CASEWHEN ("Schulungen"."Mahlzeitengestellung" = TRUE, 'Ja' ,'Nein' ) AS "Mahlzeit"...
Bei dieser Variante ist aber nach der 2. Möglichkeit Schluss. Die erste Variante ermöglicht es, noch weitere Bedingungen abzufragen, z.B. bei FALSE das 'Nein' und sonst NULL, also ein leeres Feld.

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

An alle, die das LibreOffice-Forum nutzen:


Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

❤️ Vielen lieben Dank für Ihre Unterstützung ❤️

Antworten