Dateneingabe per Formular

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Barbarossa
Beiträge: 25
Registriert: Do 26. Jan 2017, 12:14

Dateneingabe per Formular

Beitrag von Barbarossa » Do 28. Mär 2019, 22:45

Ich bin Anfänger. Zu Übungszwecken habe ich eine Datenbank (Format Firebird) erstellt. Dort habe ich 2 Tabellen angelegt und sie miteinander verknüpft, so dass eine 1:n Beziehung entsteht: Jeder Name hat nur einen Geburtstag, jeder Geburtstag kann mehrere Namen haben. Es gelingt mir nicht ein Formular zu machen mit dem ich Daten eingeben kann.
Screenshot_20190328_223602.png
Screenshot_20190328_223602.png (5.22 KiB) 458 mal betrachtet

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

Re: Dateneingabe per Formular

Beitrag von RobertG » Fr 29. Mär 2019, 20:18

Hallo Barabarossa,

"Geburt" ist der Inhalt für Dein Hauptformular. "Name" wird zum Unterformular. jetzt kannst Du einem Geburtsdatum unterschiedliche Namen zuordnen. Leider ist hier der Assistent noch nicht so weit, dass er bei der Firebird-Datenbank auch die Beziehung erkennt. Ich würde deswegen zuerst einmal mit der HSQLDB arbeiten und mit etwas mehr Erfahrung umschwenken.

Gruß

Robert

Barbarossa
Beiträge: 25
Registriert: Do 26. Jan 2017, 12:14

Re: Dateneingabe per Formular

Beitrag von Barbarossa » Sa 30. Mär 2019, 15:24

Danke Robert für den Tipp!
Nun geht es, und ich kann die vielen Möglichkeiten der Formularfelder ausprobieren.
Gruß - Barbarossa

Barbarossa
Beiträge: 25
Registriert: Do 26. Jan 2017, 12:14

Re: Dateneingabe per Formular

Beitrag von Barbarossa » Do 4. Apr 2019, 07:49

Ich kann per Formular Daten in die Tabellen eingeben. Allerdings habe ich 2 Formularfelder im Formular. Es wäre mir lieber wenn es mit einer Tabelle ginge. Diese sollte 2 Spalten haben: 1 für die "Geburt" und 1 für den "Namen". In jeder Zeile sollte der "Name" und die zugehörige "Geburt" stehen. Durch Eingabe einer neuen Zeile sollen die Daten in die Tabellen eingefügt werden. Ich meine, das schon einmal selbst gemacht zu haben oder zumindest gesehen zu haben.
Ich hänge die Übungsdatenbank an. Hat jemand eine Lösung?
Dateianhänge
Test.zip
(9.95 KiB) 19-mal heruntergeladen

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

Re: Dateneingabe per Formular

Beitrag von RobertG » Do 4. Apr 2019, 16:46

Hallo Barbarossa,

Du kannst 2 einzelne Formularfelder nehmen.

Wenn Du alles in einer Zeile hast, dann klappt das bei dem genannten Beispiel nicht. Du hast eine 1:n-Beziehung von Geburt zu Name. Es gibt also weniger Geburtstage als Namen. (Ich nehme natürlich an, dass das nur ein Übungsbeispiel ist - alles andere wäre ziemlich merkwürdig) Wenn Du alles zusammen in eine Formularzeile schreiben willst, dann ist die Grundlage Deines Formulars die Tabelle "Name". Die "Nummer", die aus der Tabelle "Geburt" dort abgespeichert wird, wird über ein Listenfeld ausgelesen. Das Listenfeld zeigt den "Geburtstag" an, der dann für "Name" ausgewählt wird. Das Listenfeld speichert die "ID" aus der Tabelle "Geburt" in der Tabelle "Name"."Nummer". Nachteil: Der Geburtstag muss feststehen, bevor Du da etwas eingeben kannst.

Gruß

Robert

Barbarossa
Beiträge: 25
Registriert: Do 26. Jan 2017, 12:14

Re: Dateneingabe per Formular

Beitrag von Barbarossa » Sa 6. Apr 2019, 07:47

Ich habe es nicht geschafft. Die Anleitung verstehe ich nicht. Selbst hatte ich mich auch unverständlich ausgedrückt. Mit "einer Tabelle" meinte ich 1 Tabelle im Formular.
Ich schaffe es nicht einmal ein Formular zu erzeugen, dass nur Daten richtig anzeigt, also ohne deren Eingabe. Wie erstellt man die Verknüpfung zwischen den beiden Feldern, von denen eines aus dem Formular und das andere aus dem Unterformular stammt?
Dateianhänge
Test_2.zip
(9.99 KiB) 20-mal heruntergeladen

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

Re: Dateneingabe per Formular

Beitrag von RobertG » Sa 6. Apr 2019, 08:48

Hallo Barbarossa,

ich habe das einmal an Deinem Formular probiert. Leider ist es nicht möglich, die GUI davon zu überzeugen, so einfach in ein Unterformular zu springen. Also habe ich das noch einmal zuerst mit einem Tabellenkontrollfeld im Unterformular erstellt, dann für das Hauptformular die automatische Tabulatorreihenfolge gewählt und damit das Unterformular als Sprungziel aus dem Hauptformular erstellt. Ergebnis: Du hängst anschließend in einer Schleife fest, weil ja Unterformulare für die Eingabe mehrerer Daten zu einem Datensatz des Hauptformulars gedacht sind. Der Tabulatorsprung aus dem Unterformular heraus geht zwar mit Hilfe von Strg+Tab, aber Du bleibst so erst einmal in dem aktuellen Datensatz hängen.

Gruß

Robert
Dateianhänge
Test_2.zip
(16.72 KiB) 20-mal heruntergeladen

Barbarossa
Beiträge: 25
Registriert: Do 26. Jan 2017, 12:14

Re: Dateneingabe per Formular

Beitrag von Barbarossa » Sa 6. Apr 2019, 10:13

Warum kann man kein Formular erstellen, das so aussieht?
Screenshot_20190406_100929.png
Screenshot_20190406_100929.png (14.39 KiB) 334 mal betrachtet
Ich habe das Bild erzeugt indem ich eine Abfrage erstellt habe, diese in die Tabellenkalkulation kopiert habe und dann ein Bildschirmfoto gemacht habe.

Barbarossa
Beiträge: 25
Registriert: Do 26. Jan 2017, 12:14

Re: Dateneingabe per Formular

Beitrag von Barbarossa » Sa 6. Apr 2019, 10:32

Natürlich kann man so ein Formular erstellen. Das Formular muss dann auf einer Abfrage basieren. Ich möchte aber eines, bei dem man Daten eingeben kann.

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

Re: Dateneingabe per Formular

Beitrag von RobertG » Sa 6. Apr 2019, 10:51

Hallo Barbarossa,

wenn Du unbedingt so ein Formular haben willst - warum müssen dann 2 Tabellen her? Bei den Inhalten, die in Deinen Tabellen sind, ist das doch sowieso unnötig. Die paar Male, die ein Geburtsdatum wirklich doppelt vorkommt macht die Konstruktion nur zu einem Gedankenexperiment, mehr nicht.

Du kannst auch eine Abfrage konstruieren, bei der Du eine Neueingabe der Namen vornehmen und Geburtsdaten ändern kannst. Eine Neueingabe von Geburtsdaten ist da allerdings dann nicht möglich. Und bedenke: Sobald Du ein Geburtsdatum änderst (bei Dir z.B. von Rolf 1.3.60 zu 2.3.60) wird auch bei Ulrich aus dem 1.3.60 ein 2.3.60.

Vermutlich ist es besser, wenn Du einmal beschreibst, was Du tatsächlich erreichen willst. Mir fehlt bei dem, was Du bisher geschildert hast, die Phantasie, das konkrete Problem dahinter zu entdecken und dann auch noch helfen zu können.

Gruß

Robert

Antworten