GELÖST RELOAD: geht mal, geht mal nicht

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: GELÖST RELOAD: geht mal, geht mal nicht

Re: RELOAD: geht mal, geht mal nicht

von WSO » Mo, 14.07.2014 23:37

Re: RELOAD: geht mal, geht mal nicht

von WSO » Sa, 10.05.2014 12:34

klar, das open ist ueberfluessig und kommt raus.
Zu accos Hinweis:
Natuerlich pruefe ich das Ergebnis nach der msgbox, es tut sich aber nichts.

Um meine Verwirrung kolplett zu machen:
Das Phänomen war in 2 unterschiedlichen Formularen.
Bei einem war es nach Neustart von oO weg, in dem zweiten Formulat hält es sich hartnäckig ...

Gruss,
Wolfram

Re: RELOAD: geht mal, geht mal nicht

von RobertG » Sa, 10.05.2014 10:44

Und hier noch ein kleiner Zusatz:

mit

Code: Alles auswählen

oFormDocs = ThisDatabaseDocument.FormDocuments.getByName("fKundenuebersicht").open
öffnest Du doch gerade das Formular. Was soll ein anschließender reload, wo es doch gerade geladen wurde?

Gruß

Robert

Re: RELOAD: geht mal, geht mal nicht

von acco » Sa, 10.05.2014 10:41

Hallo,

nur ne Vermutung:
Wenn die MsgBox auf dem Schirm ist und Du zu diesem Zeitpunkt prüfst ob die Daten gespeichert sind, kann das nicht funktionieren. Die Vermutung beruht auf dieser Zeile:
WSO hat geschrieben:msgbox ("RELOAD wird ausgefuehrt") ------> aber die Daten im Formuler sind nicht aktualisiert !!!!!
Reload wird in Deinem Makro erst nach schließen der Box ausgeführt.

Gruß

acco

GELÖST RELOAD: geht mal, geht mal nicht

von WSO » Sa, 10.05.2014 09:41

Habe ein merkwürdiges Verhalten von Makros mit "RELOAD":

Formular "Kundenübersicht" hat Filerfunktionen, die per Makro an/abgeschaltet werden koennen:
SUB FilterReset(oEvent AS OBJECT)
REM Dieses Makro loescht den Filter im aktuellen Formular

DIM oDoc AS OBJECT
DIM oDrawpage AS OBJECT
DIM oBearbForm AS OBJECT

oDoc=thisComponent
oDrawpage=oDoc.drawpage
oBearbForm = oDoc.drawpage.forms.getbyindex(0)

' Filter inaktivieren
oBearbForm.Filter = Empty
oBearbForm.ApplyFilter = False
oBearbForm.reload()
End Sub

Das geht einwandfrei.

Wenn ich einen reload auf Dieses Formular, wegen update der Daten von einem anderen Formular machen will, bleibt das reload-Stetement wirkungslos:
sub fKundenuebersichtReload

DIM oDoc AS OBJECT
DIM oDrawpage AS OBJECT
Dim oFormDocs As Object
DIM oBearbForm as object

oDoc=thisComponent
oDrawpage=oDoc.Drawpage
oFormDocs = ThisDatabaseDocument.FormDocuments.getByName("fKundenuebersicht").open
oBearbForm = oFormDocs.Drawpage.Forms.getByName("fKundenuebersicht")

msgbox ("RELOAD wird ausgefuehrt") ------> aber die Daten im Formuler sind nicht aktualisiert !!!!!

oBearbForm.reload()
end sub
Die harte Methode wiederum funktioniert:
sub Kundenuebersicht_Close_open

ThisDatabaseDocument.FormDocuments.getByName("fKundenuebersicht").close
ThisDatabaseDocument.FormDocuments.getByName("fKundenuebersicht").open

end sub
Kann mir das nicht erklären :shock:

Nach oben