Seite 1 von 1

(Gelöst)Formulare öffnen per Button

Verfasst: Fr, 30.04.2010 09:45
von Decrone
Ich habe ein Hauptformular, von denen ich aus alle anderen Formulare per Button öffne. Was mich nur stört ist, ich habe für jedes Formular öffnen ein eigenes Makro.

Code: Alles auswählen

Sub OpenFormAuftraggeberTabelleFormular
	ThisDatabaseDocument.FormDocuments.getByName( "AuftraggeberTabelleFormular" ).open
End Sub
Jetzt meine Frage:
Kann man irgendwie dem Button eine Information hinterlassen welches Formular geöffnet werden soll, so das man nur ein Makro benutzt und sobald man den Button drückt wird dem Makro mitgeteilt welches Formular geöffnet werden soll, geht das in dieser Art oder ist das so gar nicht möglich?

Gruß Dec

Re: Formulare öffnen per Button

Verfasst: Fr, 30.04.2010 18:29
von guenther
du könntest die information im Tag-feld des buttons unterbringen

Code: Alles auswählen

sub evCtl_OpenFrom(event as object)
   	ThisDatabaseDocument.FormDocuments.getByName( event.Source.Model.Tag ).open 'Formularname
end sub 
siehe Bsp02.odb, frm_OpenCloseForm http://members.aon.at/schardinger/openoffice/index.html

servus, günther

Re: Formulare öffnen per Button

Verfasst: Fr, 30.04.2010 20:38
von Decrone
Vielen, vielen Dank Günther :D
das funktioniert super, zwar mußte ich erstmal schauen wo ich den Tag finde :lol: aber es ging dann doch relativ schnell.

Gruß Dec

PS.
geht das auch eventuell mit 2 Parametern?

Re: (Gelöst)Formulare öffnen per Button

Verfasst: Fr, 30.04.2010 21:22
von ddraht
Hallo Dec,

Eigenschaften: Schaltfläche
Zeile Zusatzinformationen hier den Namen des Formulars eintragen.

Konnte ich auch gut gebrauchen.

Gruß
ddraht

Re: Formulare öffnen per Button

Verfasst: Fr, 30.04.2010 21:28
von Decrone
Ja das ist ne feine Sache :D

wenn man soviele Forms hat und jedes hat sein Makro z.B. öffnen und schließen, da kommt dann doch allerhand an Makro's zusammen. Jetzt würde mich mal Interessieren ob das ganze auch mit 2 Parametern geht oder gibt es ein Befehl zum schließen für ein bereits (Aktive's) geöffnetes Formular?

Gruß Dec

Re: Formulare öffnen per Button

Verfasst: Fr, 30.04.2010 21:40
von ddraht
Hi Dec,

logischerweise mit close statt open ;)

ddraht

Re: Formulare öffnen per Button

Verfasst: Fr, 30.04.2010 21:48
von Decrone
ne :lol: das ist mir schon klar :D

nur es wäre ja schön, wenn man 2 Parameter mit übergeben könnte! Erste Para öffnet Formular, 2 Para schließt Formular!

das öffnen und schließen ist nicht das Problem!

Verstehste 8)

Gruß Dec

Re: Formulare öffnen per Button

Verfasst: Sa, 01.05.2010 08:44
von guenther
zwei parameter: du kannst ja jede information des buttons auslesen: z.B. Label, Name usw.

sonst besser, beliebige parameteranzahl:

im Tag-String kannst du ja beliebige informationen unterbringen und auslesen:

"info1,info2,info3 ..."

geht einfach mit join(...) und split(...)

servus, günther

Re: Formulare öffnen per Button

Verfasst: Sa, 01.05.2010 10:56
von Decrone
Vielen Dank Günther,

mit Split() hatte ich mir auch schon überlegt gehabt, bin dann aber irgendwie von diesem Gedanken weg gekommen aber nachdem du mich da nochmal drauf hingewiesen hast, ist folgendes bei raus gekommen. Ich weiß zwar nicht genau ob man mit dem Syntax so umgeht aber es funktioniert 1A

Code: Alles auswählen

sub evCtl_OpenFrom(event as object)
	DIM Tag AS String
	Tag = event.Source.Model.Tag
	oForm() = Split(Tag, ",")
	ThisDatabaseDocument.FormDocuments.getByName( Trim(oForm(0)) ).open
	ThisDatabaseDocument.FormDocuments.getByName( Trim(oForm(1)) ).close
end sub 
Ich habe Trim() dazu genommen, um eventuell vorhandene Leerzeichen wegzubekommen!

Ich kann mich nochmals bei dir recht herzlich bedanken und einen schönen 1 Mai wünsche ich Dir /Euch :D

Gruß Dec

Re: (Gelöst)Formulare öffnen per Button

Verfasst: Di, 06.07.2010 16:08
von Swichi
Vielen Dank auch von mir... Genau das, was ich wollte.

Re: (Gelöst)Formulare öffnen per Button

Verfasst: Mo, 05.12.2011 20:44
von DPunch
Aloha
Flizz hat geschrieben:Basic-Laufzeitfehler, Objektvariable ist nicht belegt... weis jemand was ich falsch mache?
Hast Du ein Formular mit Namen "AuftraggeberTabelleFormular"?