Seite 1 von 1
Listenfeld in Tabelle
Verfasst: Di 27. Okt 2015, 08:52
von tomingo
Hallo Gemeinschaft,
die Lösung ist bestimmt ganz einfach, aber irgendwie hab' ich grad den totalen Blackout.
Ich habe eine Datenbank mit u. a. den Tabellen "Rechnungen" und "Leistungen". In Rechnungen habe ich die Felder Leistung 1, Leistung 2 etc.
Ich möchte nun in der Tabelle "Rechnungen" vordefinierte Leistungen aus der anderen Tabelle auswählen können.
Das eigentliche Problem ist: Per Formular klappt das zwar problemlos, aber in einen Serienbrief kann ich nur Tabellen- oder Abfragefelder einfügen. Und das Listenfeld des Formulars wird in der Tabelle nicht aktualisiert.
Verratet mir bitte die Lösung, bevor ich hier weiter mit dem Kopf gegen den Schreibtisch haue
Vielen Dank im Voraus
Re: Listenfeld in Tabelle
Verfasst: Di 27. Okt 2015, 15:45
von RobertG
Hallo tomingo,
vermutlich habe ich da etwas Verständnisschwierigkeiten. Wenn Du einen Serienbrief erstellen willst, dann kannst Du darin natürlich nicht zwei Tabellen auf einmal darstellen. Du musst die Tabellen in einer Abfrage oder einem View zusammenfassen, um auf entsprechende Inhalte zugreifen zu können. Dann kannst Du auch gegebenenfalls die Abfrage bzw. den View noch weiter filtern.
Gruß
Robert
Re: Listenfeld in Tabelle
Verfasst: Di 27. Okt 2015, 20:07
von tomingo
Hallo Robert,
ich verwende auch eine Abfrage als Grundlage für den Serienbrief, die die drei Tabellen "Kunden", "Rechnungen" und "Leistungen" ausgibt.
Und jetzt hab ich es sogar geschafft, dass die Tabelle "Rechnungen" die Werte aus "Leistungen" übernimmt, über ein Formular per Kombinationsfeld.
Jetzt ist aber ein neues Problem aufgetaucht:
"Leistungen" besteht aus 3 Feldern, 'ID', 'Bezeichnung' und 'Preis'. Mir wird aber immer nur 'ID' ausgegeben, egal was ich als gebundenes Feld definiere. Und was weiter merkwürdig ist, beim gebundenen Feld kann ich wählen zwischen -1 bis 3, obwohl die Tabelle ja nur 3 Felder hat. Und wieso -1?
Re: Listenfeld in Tabelle
Verfasst: Di 27. Okt 2015, 21:54
von RobertG
Hallo tomingo,
das mit dem gebundenen Feld taucht nur bei Listenfeldern auf. Was Du da mit dem Kombionationsfeld schilderst scheint mir nicht dazu zu gehören.
Ich kopiere hier jetzt stumpf einmal den Inhalt aus dem Handbuch dazu ein:
Gebundenes Feld: Im Listenfeld wird ein Inhalt angezeigt, der nicht mit dem Inhalt identisch sein muss, der auch im Formular abgespeichert werden soll. Üblicherweise wird z. B. Ein Name angezeigt und der Primärschlüssel zu diesem Namen als abzuspeicherndes Feld bestimmt.
SELECT "Name", "ID" FROM "Tabelle" ORDER BY "Name"
Das Feld "ID" wird als Fremdschlüssel in der Tabelle gespeichert, die dem Formular zugrunde liegt. Die Zählung der Felder in Datenbanken beginnt mit 0, das an das Formular gebundene Feld hat also die Position 1.
Wird stattdessen «0» gewählt, dann wird in dem Formular der Inhalt des Feldes "Name" abgespeichert. Das Feld "ID" könnte in der Abfrage entfallen.
Es ist sogar möglich, die Position «-1» zu wählen. Dann wird nicht der Inhalt der Abfrage sondern die Position des Eintrages in der Liste gespeichert. Der erste Datensatz hat dabei die Position 1.
Die oben aufgeführte Abfrage ergäbe z. B. die folgenden Daten:
Name ID
Anneliese 2
Dorothea 3
Sieglinde 1
Im Listenfeld könnte nur der Name ausgewählt werden. Das Listenfeld wird auf den Namen «Dorothea» eingestellt. Folgende Abspeicherungen würden über das Listenfeld möglich:
Gebundenes Feld = 1 → «3» wird abgespeichert, da das Feld "ID" gespeichert wird.
Gebundenes Feld = 0 → «Dorothea» wird abgespeichert, da das Feld "Name" gespeichert wird.
Gebundenes Feld = -1 → «2» wird abgespeichert, da «Dorothea» als zweiter Datensatz in der Liste aufgeführt wird.
Gruß
Robert
Re: Listenfeld in Tabelle
Verfasst: Mi 28. Okt 2015, 09:01
von tomingo
Wow,
vielen Dank. Sehr ausführlich, da muss ich mich einarbeiten
