Felder von Formularen Bearbeiten

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

juergen_w1987
**
Beiträge: 48
Registriert: Fr, 04.02.2011 09:31

Felder von Formularen Bearbeiten

Beitrag von juergen_w1987 »

Hy Leute brauche wieder mal eure Hilfe,


Möchte ein Makro schreiben das mir die Felder in einem Formular umändert.
Und zwar will ich eine Sprachauswahl machen.

In meinem Konfigformular wähle ich die Sprache aus. (Funktioniert)
Und jetzt sollen auch gleich die felder der ganzen anderen Formulare geändert werden.
nur wie greife ich mittels makro auf ein anderes Formular zu und ändere dessen Beschriftungsfelder?

Meine Zweite Idee beim Ausführen öffnen eines einzelnen Formulars wird jedesmal das Makro ausgeführt und da checke ich ob die Sprache übereinstimmt, ist aber auch nicht das Gelbe vom Ei.

Danke Schon mal im Vorhinein mfg

Jürgen


Moderation,4: identisches Doppel-Post gelöscht
RobertG
********
Beiträge: 2070
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Felder von Formularen Bearbeiten mit Makro

Beitrag von RobertG »

Hallo Jürgen,

wenn Du in eine Datenbank schon eine Sprachauswahl einbauen willst muss das Ganze ja schon recht umfangreich sein. Wie wäre es, wenn Du dann eine einzeilige Tabelle anlegst, in der die Einstellungen hinterlegt werden? Ich denke einfach, dass dort z.B. ein Feld "Sprache" stehen könnte, aus dem dann ein Makro die eingestellte Sprache ausliest und den entsprechenden Label-Feldern zuweist. Ausgeführt wird dieses Makro natürlich erst dann, wenn das Formular geöffnet wird.
Wenn Du auf ein anderes Formular zugreifen willst, das eventuell schon geöffnet ist, so müsste dies mit
oFormDoc = ThisDatabaseDocument.FormDocuments.getByName( "Formularname")
funktionieren. gerade getestet habe ich folgendes:

Code: Alles auswählen

SUB Beschriftungsfeld_aendern
	oFormDoc = ThisDatabaseDocument.FormDocuments.getByName( "Formular2")
	oDoc=oFormDoc.getComponent
	oDrawpage=oDoc.Drawpage
	oForm=oDrawpage.Forms.getByName("Formular")
	oFeld=oForm.getByName("Beschriftungsfeld 1")
	oFeld.Label="Neuer Inhalt"
END SUB
Ich habe aus einem anderen Formular das geöffnete "Formular2" aufgerufen. Dort lag in dem Formular mit dem Namen "Formular" ein "Beschriftungsfeld 1". In dem habe ich die Anzeige damit geändert. Funtkioniert natürlich nicht bei einem geschlossenen Formular.

Gruß

Robert
juergen_w1987
**
Beiträge: 48
Registriert: Fr, 04.02.2011 09:31

Re: Felder von Formularen Bearbeiten

Beitrag von juergen_w1987 »

Ich versuchs mal mit meiner zweiten Idee. Da ich nicht alle formulare öffnen will beim umstellen der schrift (sieht ja nicht gerade toll aus).

Danke für den Code den kann ich gut gebrauchen.

Falls noch jemand ideen hat der kann sich gerne melden. Ich melde mich dann mit meinen Ergebnissen.
Antworten