Du musst den Namen des KEs mit-übergeben - am besten also eine Erweiterung des Strings im .TAG-Feld:
Code: Alles auswählen
Childs|ID_Parent = |Childs_MainForm|ID_Parent_numeric@Parents_Grid|fmtID_Parent@Childs_Grid
Code: Alles auswählen
'setzt den Defaultwert auf "FilterWert" ... das ist die ID_Parent
' zunaechst wird das ForeignKey-Kontrollelement gesucht:
oForeignKey_Elementnamen() = split(aArgs(4), "@")
if ubound(oForeignKey_Elementnamen) = 0 then
oForeignKey_KE = oFormNeu.getbyname(oForeignKey_Elementnamen(0))
else
oForeignKey_KE = oFormNeu.getbyname(oForeignKey_Elementnamen(1)).getbyname(oForeignKey_Elementnamen(0))
end if
'Dann: IF-Anweisungskette die mit .PropertySetInfo.hasPropertyByName("DefaultValue") absucht ob ein Default-Wert
'gesetzt werden kann
if oForeignKey_KE.PropertySetInfo.hasPropertyByName("DefaultValue") then
oForeignKey_KE.DefaultValue = FilterWert
else
if oForeignKey_KE.PropertySetInfo.hasPropertyByName("EffectiveDefault") then
oForeignKey_KE.EffectiveDefault = FilterWert
else
if oForeignKey_KE.PropertySetInfo.hasPropertyByName("DefaultText") then
oForeignKey_KE.DefaultText = FilterWert
else
msgbox "Der Defaultwert fuer den Foreign Key (" & FilterWert & ") konnte NICHT gesetzt werden!"
end if
end if
end if
'nach dem Setzen des Default-Values wird der Filter gesetzt und aktiviert, damit nur die gewuenschten
'Datensaetze angezeigt werden.
oFormNeu.filter = aArgs(1)
oFormNeu.reload