Feld füllen abhängig von Feld des selben Datensatzes

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

Susanne84
Beiträge: 2
Registriert: Mo, 10.10.2011 13:39

Feld füllen abhängig von Feld des selben Datensatzes

Beitrag von Susanne84 »

Hallo,

ich habe mich gerade hier angemeldet in der Hoffnung mir kann hier jemand helfen.
Ich habe bereits gesucht und ähnliche Einträge gefunden, jedoch keine Lösung für mich.

Ich habe eine DB erstellt zur Rechnungserstellung. Mit folgenden Tabellen:
- Patienten : PatientenID, Name, usw. ...
- Leistungen: LeistungsID, Bezeichnung, Preis
- Rechnungsposten: PostenID, RechnungsID, LeistungsID, Anzahl, Preis, Datum
- Rechnungen: RechnungsID, Datum, PatientenID

Die Tabellen sind jeweils über PatientenID (Patienten und Rechnungen), LeistungsID (Leistungen und Rechnungsposten) und RechnungsID (Rechnungen und Rechnungsposten) miteinander verknüpft.

Ich habe ein Formular zur Rechnungserfassung erstellt auf Grundlage der Tabelle Rechnungen. Das Main-Formular beinhaltet also die Rechnungsnummer, Datum und über ein Listenfeld auswählbar den Patienten. Dann habe ich ein Subformular erstellt, in dem die Daten des Patienten erscheinen nachdem ein Patient für die Rechnung ausgewählt werden. Das funktionert alles.
Dann habe ich ein weiteres Sub-Formular erstellt, das auf die Tabelle Rechnungsposten zugreift. Da habe ich ein Tabellen-Grid erstellt mit den jeweiligen Spalten zur übersichtlichen Eingabe.

Also : PostenID | Datum | LeistungsID | Anzahl | Preis

Die Spalte LeistungsID fülle ich mit einem Listenfeld, in dem mir alle möglichen Leistungen mittels Abfrage angezeigt werden.
Jetzt zu meinem Problem / Frage: Ich will jetzt, dass wenn ich eine Leistung in dieser Spalte ausgewählt habe automatisch der entsprechende Preis zu dieser Leistung in der Spalte Preis erscheint. Dann aber noch veränderbar ist!

Ich habe es erst mit Abfragen versucht, aber wenn ich mehr als eine Tabelle in der Abfrage habe, dann kann ich den Wert ja nicht mehr über das Formular ändern.
Von Makros habe ich keine Ahnung.
OOBase Version 3.2.1 auf Ubuntu

Vielleicht kann mir jemand helfen.
Vielen Dank schonmal
gogo
*****
Beiträge: 207
Registriert: Mi, 10.11.2010 13:11

Re: Feld füllen abhängig von Feld des selben Datensatzes

Beitrag von gogo »

Ich habe ein Formular zur Rechnungserfassung erstellt auf Grundlage der Tabelle Rechnungen. Das Main-Formular beinhaltet also die Rechnungsnummer, Datum und über ein Listenfeld auswählbar den Patienten. Dann habe ich ein Subformular erstellt, in dem die Daten des Patienten erscheinen nachdem ein Patient für die Rechnung ausgewählt werden. Das funktionert alles.
gratuliere ;)
Ich habe es erst mit Abfragen versucht, aber wenn ich mehr als eine Tabelle in der Abfrage habe, dann kann ich den Wert ja nicht mehr über das Formular ändern.
Kannst Du schon, je nachdem wie die Abfrage gestrickt ist, aber das Problem liegt wo anders. Du hast einen Leistungskatalog (unveränderlich) der soll die Grundlage für den neuen Datensatz in der 'Rechnungsposten'-Tabelle dienen.

Mit reinen Bordmitteln lässt sich das nicht verwirklichen, da Du Daten aus einer Tabelle in einen neuen Datensatz einer anderen Tabelle schreibst. Du musst ein Makro schreiben, das nach der Aktualisierung des LeistungsID-Listenfeldes die Leistungs-ID ausliest und dazu den Preis ermittelt. Dieser wird dann in das Preis-Feld eingetragen. - ein Beispiel dafür kann ich dir erst 2012 schicken, bis dahin ist bei uns kein Umbau der alten Bestelldatenbank geplant 8)


g
g
LucidLynx/WinXP LibreOffice v3.3.2 ab 03/12 v3.3.2 & v3.4.5
Susanne84
Beiträge: 2
Registriert: Mo, 10.10.2011 13:39

Re: Feld füllen abhängig von Feld des selben Datensatzes

Beitrag von Susanne84 »

Danke für die schnelle Antwort.

... so was hab ich mir schon gedacht. Hatte die Hoffnung, dass es ganz einfach irgendwie geht :D

Also, dann lese ich mich erstmal in die Makro-Programmierung ein.... :shock:
Antworten