Hallo ich wollte mit Base eine Datenbak erstellen. Ich hab so was ähnliches schon mal mit Access gemacht.
Leider komme ich mit Base überhaupt nicht klar. Ist es denkbar, dass ich hier in diesem Forum mich so Stück für Stück durchhangeln kann, sodass ich sozusagen jene Schritt abfragen kann oder wäre das zuviel verlangt. (Vielleicht sind es aber auch nur Anlaufschwierigkeiten)
Tabellen sind erstellt, Beziehungen auch. Im Formular möchte ich eine Rechnung eingeben und aus den in der Datenbank bereits vorhanden Ärzten, Behandelten, Rechnungssteller auswählen für die neue Rechnung. Wenns hier noch keinen gibt will ich einen Neuen eintragen können.
Das wäre nun mein erster Schritt.Vielen Dank fürs Verständnis.
❤️ Helfen Sie noch heute, unser LibreOffice Forum zu erhalten! ❤️
Unterstützen Sie das LibreOffice-Forum und helfen Sie uns, unser Ziel für 2025 zu erreichen!
🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱
>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
Datenbank erstellen
-
- Beiträge: 1
- Registriert: Mi 2. Mär 2016, 19:36
Datenbank erstellen
- Dateianhänge
-
- sc2.PNG (20.66 KiB) 1715 mal betrachtet
-
- sc1.PNG (23.72 KiB) 1715 mal betrachtet
Re: Datenbank erstellen
Du bist von Access her ein "Kombinationsfeld" gewohnt, aber so wie in Access funktioniert das in Base (mit Bordmitteln) nicht.
Ein Kombinationsfeld in Base bezieht sich nicht auf Datensätze in anderen Tabellen, das kann nur ein Listenfeld - und in das kannst du keine neuen Daten eingeben. Korrekterweise legt man einen neuen Arzt nicht als Satz in der Rechnungstabelle an, sondern in der Ärztetabelle. Bei korrekter Referenzierung mit Foreign Keys kannst Du keine Children (ÄrzteIDs in der Rechnungstabelle) anlegen bevor es Parents (ÄrzteIDs in der Ärztetabelle) gibt.
Theoretisch kannst Du einen Button machen, der im Fall eines neuen Artzes den Satz in der Ärztetabelle anlegt, sich von dort die ID merkt, dann das Kontrollelement im Rechnungsformular updatet und dort die neue ID hinterlegt ... wenn's den Aufwand lohnt.
Ach ja: mit 4 Schlüsseln die alle "ID" heißen und in der untergeordneten Tabelle "Nr_..." heißen wird's vermutlich irgendwann mal unübersichtlich
Ein Kombinationsfeld in Base bezieht sich nicht auf Datensätze in anderen Tabellen, das kann nur ein Listenfeld - und in das kannst du keine neuen Daten eingeben. Korrekterweise legt man einen neuen Arzt nicht als Satz in der Rechnungstabelle an, sondern in der Ärztetabelle. Bei korrekter Referenzierung mit Foreign Keys kannst Du keine Children (ÄrzteIDs in der Rechnungstabelle) anlegen bevor es Parents (ÄrzteIDs in der Ärztetabelle) gibt.
Theoretisch kannst Du einen Button machen, der im Fall eines neuen Artzes den Satz in der Ärztetabelle anlegt, sich von dort die ID merkt, dann das Kontrollelement im Rechnungsformular updatet und dort die neue ID hinterlegt ... wenn's den Aufwand lohnt.
Ach ja: mit 4 Schlüsseln die alle "ID" heißen und in der untergeordneten Tabelle "Nr_..." heißen wird's vermutlich irgendwann mal unübersichtlich
g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu
Re: Datenbank erstellen
Hallo *,
Nur zum Problem des Listenfeldes:
Weil ein Listenfeld nur Daten darstellt, nicht aber für die Eingabe gedacht ist, habe ich da bereits seit einigen Jahren ein Makro zu im Handbuch und in Beispieldatenbanken veröffentlicht: Das Listenfeld ersetze ich durch ein Kombinationsfeld und ein verstecktes Feld für den Fremdschlüssel. Beim Öffnen des Formulars wird das Kombinationsfeld auf den Wert eingestellt, der durch den Fremdschlüssel vorgegeben ist. Beim Ändern des Inhaltes des Kombinationsfeldes wird vor dem Abspeichern des Datensatzes zuerst die Änderung gespeichert und der Schlüsselwert neu eingestellt.
Das funktioniert ganz ordentlich und hilft vor allem bei der Neuerstellung einer Datenbank. Sonst muss, wie gogo beschreibt, wirklich erst einmal die Tabelle Ärzte, die Tabelle Patienten usw. bestückt werden, bevor daraus irgendeine Person für die Haupttabelle ausgewählt werden kann.
Gruß
Robert
Nur zum Problem des Listenfeldes:
Weil ein Listenfeld nur Daten darstellt, nicht aber für die Eingabe gedacht ist, habe ich da bereits seit einigen Jahren ein Makro zu im Handbuch und in Beispieldatenbanken veröffentlicht: Das Listenfeld ersetze ich durch ein Kombinationsfeld und ein verstecktes Feld für den Fremdschlüssel. Beim Öffnen des Formulars wird das Kombinationsfeld auf den Wert eingestellt, der durch den Fremdschlüssel vorgegeben ist. Beim Ändern des Inhaltes des Kombinationsfeldes wird vor dem Abspeichern des Datensatzes zuerst die Änderung gespeichert und der Schlüsselwert neu eingestellt.
Das funktioniert ganz ordentlich und hilft vor allem bei der Neuerstellung einer Datenbank. Sonst muss, wie gogo beschreibt, wirklich erst einmal die Tabelle Ärzte, die Tabelle Patienten usw. bestückt werden, bevor daraus irgendeine Person für die Haupttabelle ausgewählt werden kann.
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
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 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.