Subform löst Ereignis auf Mainform aus

1. Juli 2009 08:35

Hallo liebe Leute,
ich habe hier ein kleines Problem mit Main und Subforms. Ich habe eine Mainform Zertifikat und einen Subform Zertifikatszeilen. In der Main Form befindet sich auf einem Feld in der Tabelle im OnValidate einen Funktion, die Daten in der Kopftabelle berechnet. Dazu brauche ich aber unbedingt die Inhalte der Zeilen. Also, will ich dem User es erleichtern und in der Subform sollen beim eintragen der Daten in der Main Form auf dem Feld x der Validate angesprochen werden. Wie würde dafür die Syntax lauten? Ich finde es nicht. von Main in Subform habe ich gefunden, aber von Sub in Main noch nichts.

Vielen Dank für die Hilfe.

Sven

Re: Subform löst Ereignis auf Mainform aus

1. Juli 2009 09:32

Das könnte man so hinkriegen:
in deiner Subform setzt du eine nach deinem Validate eine Variable, falls die Mainform einen Wert dort neu berechnen soll. Für diese Variable erstellst du eine Funktion, um sie von außerhalb (=der Mainform) auszulesen und nach dem Auslesen wieder zurück zu setzen. Diese Funktion ruft man Timer-gesteuert aus der Mainform auf. Ist die Variable darin gesetzt, werden in der Mainform die entsprechenden Werte neu berechnet.

Wenn du nur einen bestimmten Wert aus der Subform übergeben willst (also die Subform alles fertig berechnet hat und nur das Endergebnis übergeben werden soll), kann man das recht schön per XML lösen. Das müsste ich dann raus suchen, falls du´s brauchst.

Aber sicher weiß noch jemand einen besseren Weg.

Re: Subform löst Ereignis auf Mainform aus

1. Juli 2009 09:35

Hallo McClane,

hast du im Forum schon gesucht?
Es gibt reichlich Beiträge zu diesem Thema, eine Suche nach Mainform Subform brachte über 100 Ergebnisse.
Evtl. ist das passende für dich dabei.

Re: Subform löst Ereignis auf Mainform aus

1. Juli 2009 09:53

mikka hat geschrieben:Hallo McClane,

hast du im Forum schon gesucht?


Wieso denn ich? :-)

Re: Subform löst Ereignis auf Mainform aus

1. Juli 2009 10:01

such mal in Mibuso, da gibt es was mit XML.

im Prinzip werden Main und Sub über ein XML Dokument verknüpft (event trigger) und bei anwerfen des Triggers im Sub wird der xml trigger auch in der Main form angesprochen.

funktioniert prima und schnell.

Re: Subform löst Ereignis auf Mainform aus

1. Juli 2009 10:10

tba hat geschrieben:such mal in Mibuso, da gibt es was mit XML.

im Prinzip werden Main und Sub über ein XML Dokument verknüpft (event trigger) und bei anwerfen des Triggers im Sub wird der xml trigger auch in der Main form angesprochen.

funktioniert prima und schnell.

Genau, da hatte ich das her, stimmt.
Hat aber folgenden Nachteil (wenn ich mich richtig erinnere), dass die Benachrichtigung manchmal zu schnell ist. Zählt man in der Mainform beispielsweise die Anzahl der Zeilen (x Zeilen vom Typ a, y Zeilen vom Typ B usw.), oder addiert man Werte aus der Subform und versucht, die XML-Benachrichtigung aus dem OnInsertRecord der Subform abzuschiessen, ist die Benachrichtigung vor dem endgültigen Insert in der Tabelle in der Subform, und die neue Zeile wird nicht mitberechnet.

Re: Subform löst Ereignis auf Mainform aus

1. Juli 2009 10:18

@mcclane
das ist sicher eine Frage, wann der xml send befehl an die Mainform gesendet wird, mitunter reicht es in onaftergetcurrrecord.

Re: Subform löst Ereignis auf Mainform aus

1. Juli 2009 10:20

tba hat geschrieben:@mcclane
das ist sicher eine Frage, wann der xml send befehl an die Mainform gesendet wird, mitunter reicht es in onaftergetcurrrecord.

Ich mag mich durchaus täuschen :wink: ist halt schon eine Weile her.

Re: Subform löst Ereignis auf Mainform aus

1. Juli 2009 13:08

McClane hat geschrieben:
mikka hat geschrieben:Hallo McClane,

hast du im Forum schon gesucht?


Wieso denn ich? :-)


Ohh sorry, ich habe mich im Editor versehen (da ist ja die Reihenfolge der Beiträge umgekehrt!) :oops:
Ich meinte natürlich "Dreistein" :lol: