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. 🤗

Übergabewert Kombinationsfeld

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
Wolf-Tilmann
Beiträge: 39
Registriert: So 5. Aug 2018, 18:04

Übergabewert Kombinationsfeld

Beitrag von Wolf-Tilmann » Do 15. Nov 2018, 13:28

Hallo Zusammen,

eigentlich ist es peinlich, dass ich Euch hier um Hilfe bitte. Aber ...
Ich habe schon mehrfach Datenbanken erstellt. Das ist nur jetzt 2 bis 3 Jahre her. Auch waren das stets Datenbanken ohne GUI. SQL verstehe ich - grundsätzlich. Was ich nicht verstehe, ist die Verbindung von Datenbank im Hintergrund und GUI vorne. Und dann noch mit Scripten??? Ob Base oder Access, ich habe das selbe Problem.

Auch habe ich schon Geld in die Hand genommen und das Base Handbuch der Document Foundation gekauft. Und im Internet gelesen. Leider hänge ich immer und stets an denselben Punkten. Irgendwo habe ich ein Verständnisproblem. Deshalb bitte ich Euch um Hilfe.

Sicherlich werde ich Euch wegen Fragen in der Richtung öfter um Hilfe bitten müssen. Allerdings habe ich festgestellt, dass ich auf diesem Weg am meisten lerne.

Jetzt zu dem aktuellen Problem:

Ich möchte eine Tabelle über ein Formular füllen.
Zur Vereinheitlichung habe ich ein Feld an eine andere Tabelle verknüpft. Die Werte möchte ich über ein Kombinationsfeld einbeziehen. Dazu beabsichtige ich auf eine vorhandene Abfrage zurückzugreifen.

Code: Alles auswählen

SELECT "guv_lang", "ID" FROM "t_GUVSCHEMA" ORDER BY "guv_lang" ASC
Im Kombinationsfeld soll die Ausgabe aus "guv_lang" angezeigt, in der Tabelle soll aber der Inhalt aus "ID" abgespeichert werden.
Für ein Kombinationsfeld habe ich mich entschieden, da voraussichtlich noch einige Werte ergänzt werden müssen.

GUVSCHEMA
  • ID INTEGER AutoWert
  • guv_kurz TEXT
  • guv_lang TEXT
WERTE
  • ID INTERGER AutoWert
  • stichtag DATE
  • id_guvschema INTEGER
  • etc
Unter Beziehungen ist GUVSCHEMA.ID (1) : WERTE.id_guvschema (n) verknüpft.

Könnt Ihr mir bitte verständnissicher für ... erklären wie ich das bewerkstelligen kann?

Danke Euch
Wolf-Tilmann

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

Re: Übergabewert Kombinationsfeld

Beitrag von RobertG » Do 15. Nov 2018, 16:40

Hallo Wolf-Tilmann,

der gepostete Code passt nur zu einem Listenfeld, nicht zu einem Kombinationsfeld. Kombinationsfelder speichern immer das ab, was auf ihnen angezeigt wird.

Da Du sinnvollerweise mit einer Fremdschlüsselbeziehung arbeiten möchtest zeigt das Listenfeld natürlich nur die Werte an, die bereits in der Tabelle "t-GUVSCHEMA" enthalten sind. Neue Werte müssen zuerst in diese Tabelle eingetragen werden, bevor sie über das Listenfeld verfügbar sind.

Hierzu werden im Handbuch mehrere Möglichkeiten aufgezeigt:
1. Du hast ein Formular und als Nebenformular in einem kleinen Tabellenkontrollfeld die Tabelle "t_GUVSCHEMA" liegen. Neue Werte gibst Du dort ein, gehst anschließend in Dein Hauptformular (gleiche Oberfläche!) und dort auf das Listenfeld und lässt über die Navigationsleiste den Inhalt des Feldes aktualisieren. Jetzt steht der Wert auch dort zur Verfügung.
2. Du hast den gleichen Aufbau, lässt aber mit einem kleinen Makro beim Abspeichern den Inhalt des Listenfeldes automatisch aktualisieren, mit etwas ausführlicherem Makro auch auf den neu eingegebenen Wert einstellen.
3. Du nutzt das in der Beispieldatenbank "Beispiel_Combobox_Listfeld" enthaltene Makro, mit dem Du dann wieder mit einem Kombinationsfeld arbeitest und die Klärung der Datenanbindung zu der Tabelle "t_GUVSCHEMA" über ein ausführliches Makro erfolgt.

Das Handbuch in der gedruckten Form ist nicht die neueste Version. Ich weiß nicht mehr, ob da schon die Beispieldatenbank erwähnt wurde. Gehe einfach auf die Seite von de.libreoffice.org und lade Dir dort die Beispieldatenbank herunter. Die einfache Variante findest Du in "Medien_ohne_Makros", die komplexere aus Punkt 3 eben in "Beispiel_Combobox_Listfeld". Das entsprechenden Makro ist auch in "Medien_mit_Makros" eingebaut, hat aber bei den dortigen Kombinationsfeldabfragen einen Bug, den ich erst zur nächsten Veröffentlichung beseitigt habe. Ggf kannst Du die bereinigte Version auf http://robert.familiegrosskopf.de/index.php herunterladen.

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

Wolf-Tilmann
Beiträge: 39
Registriert: So 5. Aug 2018, 18:04

Re: Übergabewert Kombinationsfeld

Beitrag von Wolf-Tilmann » Do 15. Nov 2018, 17:30

Vielen Dank,
das neue Handbuch habe ich mir heruntergeladen.
Ich nehme es mir zur Brust.

Nur eine Bitte noch: ich finde die Beispieldatenbank "Medien_ohne_Makros" nicht. Google findet viele Suchen nach ihr, aber keinen Treffer. Könntest Du bitte einmal nachsehen?

Vielen Dank noch einmal

Wolf-Tilmann

Wolf-Tilmann
Beiträge: 39
Registriert: So 5. Aug 2018, 18:04

Re: Übergabewert Kombinationsfeld

Beitrag von Wolf-Tilmann » Do 15. Nov 2018, 18:00

Ich bin es noch einmal. :D

Könntst Du mir bitte erklären, wie das anlege?
Da kommt nach meinem momentanen Sinn am besten an meinen Bedarf heran:
1. Du hast ein Formular und als Nebenformular in einem kleinen Tabellenkontrollfeld die Tabelle "t_GUVSCHEMA" liegen. Neue Werte gibst Du dort ein, gehst anschließend in Dein Hauptformular (gleiche Oberfläche!) und dort auf das Listenfeld und lässt über die Navigationsleiste den Inhalt des Feldes aktualisieren. Jetzt steht der Wert auch dort zur Verfügung.
Danke Dir schon einmal

Wolf-Tilmann

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

Re: Übergabewert Kombinationsfeld

Beitrag von RobertG » Do 15. Nov 2018, 20:54

Hallo Wolf-Tilmann,

die Beispieldatenbanken zum Handbuch sind auf der Seite, auf der Du das Handbuch auch herunter geladen hast. Hier der direkte Link:
https://wiki.documentfoundation.org/ima ... ch_V61.zip
Außerdem auch immer auf http://robert.familiegrosskopf.de. Da habe ich auf der rechten Seite Versionen, die gerade überarbeitet werden sowie eine zweite Tabelle mit allen möglichen Versionen, die veröffentlicht wurden.

Im aktuellen Handbuch befindet sich ca. auf S. 220 ein Screenshot des Formulars, das das erfüllt, was Du möchtest: Rechte Seite mit mehreren Kleinen Tabellen, linke Seite das Hauptformular.

Schau einmal nach dem Formularnavigator. Mit dem musst Du Dich bei solchen Konstruktionen zuerst vertraut machen. Wenn Du dieses Formular in "Medien_ohne_Makros" zum Bearbeiten öffnest, dann wirst Du im Formularnavigator 8 Formulare untereinander sehen (ca. S. 222). Da ist all das beschrieben, was Du brauchst: Kapitel "Eine Ansicht > Viele Formulare"

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

Wolf-Tilmann
Beiträge: 39
Registriert: So 5. Aug 2018, 18:04

Re: Übergabewert Kombinationsfeld

Beitrag von Wolf-Tilmann » Fr 16. Nov 2018, 12:39

Danke RobertG,

soweit bin ich inzwischen gekommen.

Nur warum kann ich keinen weiteren Datensatz eingeben?

Als nächste Eingabe müsste ich in T_BILANZEN in der oberen Tabelle die ID 7 auswählen und als Stichtag den 31.12.2012 bei Firma huber erfassen.
Nur wenn ich in der oberen Tabelle auf die Zeile mit dem Datensatz 7 (Sachanlagen) gehe kann ich unten nichts mehr eingeben???

Ich hänge Dir einmal meine DB an.

Könntest Du dir bitte das noch einmal ansehen?

Danke Dir!

Schönen Gruß
Wolf-Tilmann
bil.zip
(23.03 KiB) 175-mal heruntergeladen

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

Re: Übergabewert Kombinationsfeld

Beitrag von RobertG » Fr 16. Nov 2018, 16:44

Hallo Wolf-Tilmann,

öffne einmal das Formular zum Bearbeiten, nicht zur Dateneingabe. Öffne auch den Formularnavigator und klicke dort das Unterformular an. Lass Dir die Formulareigenschaften > Daten anzeigen. Du erlaubst dort nur die Eingabe neuer Daten, nicht das Ändern oder Löschen von Daten. Deswegen musst Du erst mit der Navigationsleiste am unteren Bildschirmrand auf die Eingabe eines neuen Datensatzes Klicken um eine Eingabe zu ermöglichen. Alternativ kannst Du natürlich auch die Änderung von Daten erlauben ...

Hinweis zu den Listenfeldern: Ich würde bei den Eigenschaften der Listenfelder die Felder auf "Aufklappbar" einstellen. Dann brauchst Du nicht so viel Platz.

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

Wolf-Tilmann
Beiträge: 39
Registriert: So 5. Aug 2018, 18:04

Re: Übergabewert Kombinationsfeld

Beitrag von Wolf-Tilmann » So 18. Nov 2018, 19:16

Hallo Robert,

irgendwie komme ich nicht klar.
Insgesamt muss ich ca. 360 (3 Firmen a 20 Einträge für 6 Jahre) - mehr oder weniger - Datensätze erfassen.

Wenn ich im Subformular die Änderung von Datensätzen zulasse überschreibe ich Datensätze beim Navigieren.
Lasse ich die Änderungen nicht zu kann ich irgendwann keine Datensätze mehr erfassen. So wie oben. Nach dem 8. Datensatz war Schluss. Sobald ich "Sachanlagen" auswähle sind die Felder des Subformuars ausgegraut.

Wie schon geschrieben: mit GUI habe ich Verständnisprobleme. Ich habe damals schon ähnliche Datenbanken zusammengestellt. (MySQL und SQLite) mit PHP war das einfach.
Aber dieses Mal muss es eine DB mit GUI sein. Da ich für eine Prüfung kurzfristig über einen Beamer etwas an die Wand werfen muss; Zum Teil kurz nach den Fragen der Prüfer.

Einen schönen Abend
Wolf-Tilmann

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

Re: Übergabewert Kombinationsfeld

Beitrag von RobertG » So 18. Nov 2018, 20:26

Hallo Wolf-Tilmann,

wieso schreibst Du Datensätze beim Navigieren? Das kann nicht sein, außer Du hast tatsächlich etwas geändert.
Wenn Du nur Neueingaben machen willst, dann kannst Du auch nur beschreibbare Felder sehen, wenn Du für das Unterformular über die Navigationsleiste eine Neueingabe anwählst.

Ich habe Dir einmal 2 Navigationsleisten eingebaut - eine für das Haupt- und eine für das Unterformular.

Dein Formular ist dafür ungünstig aufgebaut. Die Anlage ist bei mir in der Regel umgekehrt: Im Hauptformular sind einzelne Felder, im Unterformular Tabellenkontrollfelder. Dann kann ich immer die Daten sehen, die zu einem Datensatz des Hauptformulars passen.

Gruß

Robert
Dateianhänge
bil_1.zip
(24.07 KiB) 192-mal heruntergeladen
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

Wolf-Tilmann
Beiträge: 39
Registriert: So 5. Aug 2018, 18:04

Re: Übergabewert Kombinationsfeld

Beitrag von Wolf-Tilmann » Do 22. Nov 2018, 08:51

Hallo Robert,

vielen, vielen Dank.

Ich weiß, dass ich ohne Deine Unterstützung niemals so weit gekommen wäre.
Auf Basis Deiner Hilfe kann ich die weiteren Eingaben durchführen und die weiteren Tabellen bauen.

Für die Prüfung muss ich die Firmen vereinheitlichen um diese vergleichen zu können.

Nochmals: DANKE schön!

Wolf-Tilmann

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