Seite 1 von 1

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

Verfasst: Mo, 10.10.2011 13:59
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

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

Verfasst: Mo, 10.10.2011 14:36
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

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

Verfasst: Mo, 10.10.2011 14:43
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: