Seite 1 von 1
Datenbank erstellen
Verfasst: Mi 2. Mär 2016, 20:02
von blutigerbeginner
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.
Re: Datenbank erstellen
Verfasst: Mi 2. Mär 2016, 20:58
von gogo
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
Re: Datenbank erstellen
Verfasst: Mi 2. Mär 2016, 21:41
von RobertG
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