Seite 1 von 2
Dateneingabe per Formular
Verfasst: Do 28. Mär 2019, 22:45
von Barbarossa
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 (5.22 KiB) 4283 mal betrachtet
Re: Dateneingabe per Formular
Verfasst: Fr 29. Mär 2019, 20:18
von RobertG
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
Re: Dateneingabe per Formular
Verfasst: Sa 30. Mär 2019, 15:24
von Barbarossa
Danke Robert für den Tipp!
Nun geht es, und ich kann die vielen Möglichkeiten der Formularfelder ausprobieren.
Gruß - Barbarossa
Re: Dateneingabe per Formular
Verfasst: Do 4. Apr 2019, 07:49
von Barbarossa
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?
Re: Dateneingabe per Formular
Verfasst: Do 4. Apr 2019, 16:46
von RobertG
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
Re: Dateneingabe per Formular
Verfasst: Sa 6. Apr 2019, 07:47
von Barbarossa
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?
Re: Dateneingabe per Formular
Verfasst: Sa 6. Apr 2019, 08:48
von RobertG
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
Re: Dateneingabe per Formular
Verfasst: Sa 6. Apr 2019, 10:13
von Barbarossa
Warum kann man kein Formular erstellen, das so aussieht?

- Screenshot_20190406_100929.png (14.39 KiB) 4159 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.
Re: Dateneingabe per Formular
Verfasst: Sa 6. Apr 2019, 10:32
von Barbarossa
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.
Re: Dateneingabe per Formular
Verfasst: Sa 6. Apr 2019, 10:51
von RobertG
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