Singlestep funktioniert - Durchlauf funktioniert nicht

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

Argh
*
Beiträge: 10
Registriert: Mo, 07.04.2014 10:06

Singlestep funktioniert - Durchlauf funktioniert nicht

Beitrag von Argh »

Hallo zusammen,

ich habe foglenden Code:

Code: Alles auswählen

Sub open_Kontakdaten(iId as Integer)
	Dim oDoc as Variant
	Dim oForm as Variant
	Dim id as Object

	ThisDatabaseDocument.FormDocuments.getByName("Kontakt").open

	oDoc = StarDesktop.CurrentComponent
	oForm = oDoc.DrawPage.Forms(0)
	oForm.filter = "ID = " + iId

	oForm.ApplyFilter = true
	oForm.reload

	id = oForm.getByname("ID")

	id.BoundField.getInt
	id.BoundField.updateInt(iId)
End Sub
Wenn ich die Sub im Debug sinlge steppe, dann funktioniert der Code wie gewünscht. Lasse ich den Code jedoch komplett durchlaufen, dann erhalte ich die Fehlermeldung "Objektvariable nicht belegt" in der Zeile

Code: Alles auswählen

id.BoundField.getInt
Warum ist das so?

Vielen Dnk für jede Hilfe!

Gruß
Christian
F3K Total
********
Beiträge: 3720
Registriert: Mo, 28.02.2011 17:49

Re: Singlestep funktioniert - Durchlauf funktioniert nicht

Beitrag von F3K Total »

hi,
meine Glaskugel ist im Osterurlaub, wie wäre es mit einer Beispieldatei?
Gruß R
Argh
*
Beiträge: 10
Registriert: Mo, 07.04.2014 10:06

Re: Singlestep funktioniert - Durchlauf funktioniert nicht

Beitrag von Argh »

Aber gerne doch!

Danke und Gruß,
Christian
Dateianhänge
Mitarbeiter_Verwaltung.odb
(34.29 KiB) 42-mal heruntergeladen
F3K Total
********
Beiträge: 3720
Registriert: Mo, 28.02.2011 17:49

Re: Singlestep funktioniert - Durchlauf funktioniert nicht

Beitrag von F3K Total »

du bist zu schnell, das Formular ist noch nicht geladen:

Code: Alles auswählen

Sub open_Kontakdaten(iId as Integer)
	Dim oDoc as Variant
	Dim oForm as Variant
	Dim id as Object

	oDoc = ThisDatabaseDocument.FormDocuments.getByName("Kontakt").open
	oForm = oDoc.DrawPage.Forms(0)

 	do 
	    wait 10
	loop until oform.isloaded

	oForm.filter = "ID = " + iId

	oForm.ApplyFilter = true
	oForm.reload

	id = oForm.getByname("ID")

	id.BoundField.updateInt( 2 )
End Sub
HTH R
Argh
*
Beiträge: 10
Registriert: Mo, 07.04.2014 10:06

Re: Singlestep funktioniert - Durchlauf funktioniert nicht

Beitrag von Argh »

Super lieben Dank für dein Hilfe!

Thema damit erledigt und beantwortet :)

Ein Frage dazu hätte ich noch: Wie hast du erkannt, dass die Form nicht geladen war zu dem Zeitpunkt?

Danke und Gruß
Christian
F3K Total
********
Beiträge: 3720
Registriert: Mo, 28.02.2011 17:49

Re: Singlestep funktioniert - Durchlauf funktioniert nicht

Beitrag von F3K Total »

... Erfahrung, hatte das Problem auch schon. Wenn Du eine Msgbox oder ein Xray dazwischen baust, geht's auch, das war der Hinweis für mich.
Gruß R
Antworten