von RobertG » Do, 14.01.2016 17:38
Hallo Dome2107,
voneinander abhängige Listenfelder kannst Du nur mit Zuhilfenahme von Makros erstellen. Einfacher hingegen ist eine Lösung über Formulare und Tabellenkontrollfelder: Dann steht in einem Formular ein Tabellenkontrollfeld für z.B. Herren, Damen, Kinder - im Unterformular ein Tabellenkontrollfeld mit den Größen, die über die Tabelle den jeweiligen Personen zugeordnet sind.
Wenn es mit Makros gehen darf, dann solltest Du wissen, dass die jeweiligen Eingaben irgendwo gespeichert werden müssen, damit der Code für die Listenfelder durch die entsprechenden Eingaben eingeschränkt werden kann. Folgendes Beispiel läuft bei mir mit einer Tabelle, die als Filtertabelle aus einem Datensatz (mit unterschiedlichsten Feldern) besteht:
Code: Alles auswählen
SUB UpdateField(oEvent AS OBJECT)
oField = oEvent.Source.Model
stTag = oField.Tag
oForm = oField.parent
oField.commit()
oForm.updateRow()
oForm2 = oForm.parent.getByName("Buchungen")
aList() = Split(stTag, ";")
FOR i = LBound(aList()) TO UBound(aList())
oForm.getByName(aList(i)).refresh()
NEXT
oForm.reload()
oForm2.reload()
END SUB
In den Zusatzinformationen des Listenfeldes wird eingetragen, welche anderen Listenfelder nach der Eingabe neu eingelesen werden. Das Feld übergibt den Wert an das Formular, das Formular wird abgespeichert. Alle durch ein Semikolon in den Zusatzinfos eingetragenen Felder werden aktualisiert, das Formular neu geladen. oForm2 ist ein Formular, das nach diesen Werten gefiltert wird - den Code dafür kannst Du also getrost raus lassen.
Gruß
Robert
Hallo Dome2107,
voneinander abhängige Listenfelder kannst Du nur mit Zuhilfenahme von Makros erstellen. Einfacher hingegen ist eine Lösung über Formulare und Tabellenkontrollfelder: Dann steht in einem Formular ein Tabellenkontrollfeld für z.B. Herren, Damen, Kinder - im Unterformular ein Tabellenkontrollfeld mit den Größen, die über die Tabelle den jeweiligen Personen zugeordnet sind.
Wenn es mit Makros gehen darf, dann solltest Du wissen, dass die jeweiligen Eingaben irgendwo gespeichert werden müssen, damit der Code für die Listenfelder durch die entsprechenden Eingaben eingeschränkt werden kann. Folgendes Beispiel läuft bei mir mit einer Tabelle, die als Filtertabelle aus einem Datensatz (mit unterschiedlichsten Feldern) besteht:
[code]
SUB UpdateField(oEvent AS OBJECT)
oField = oEvent.Source.Model
stTag = oField.Tag
oForm = oField.parent
oField.commit()
oForm.updateRow()
oForm2 = oForm.parent.getByName("Buchungen")
aList() = Split(stTag, ";")
FOR i = LBound(aList()) TO UBound(aList())
oForm.getByName(aList(i)).refresh()
NEXT
oForm.reload()
oForm2.reload()
END SUB
[/code]
In den Zusatzinformationen des Listenfeldes wird eingetragen, welche anderen Listenfelder nach der Eingabe neu eingelesen werden. Das Feld übergibt den Wert an das Formular, das Formular wird abgespeichert. Alle durch ein Semikolon in den Zusatzinfos eingetragenen Felder werden aktualisiert, das Formular neu geladen. oForm2 ist ein Formular, das nach diesen Werten gefiltert wird - den Code dafür kannst Du also getrost raus lassen.
Gruß
Robert