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
Felder von Formularen Bearbeiten
Moderator: Moderatoren
-
- **
- Beiträge: 48
- Registriert: Fr, 04.02.2011 09:31
Re: Felder von Formularen Bearbeiten mit Makro
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:
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
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
Gruß
Robert
-
- **
- Beiträge: 48
- Registriert: Fr, 04.02.2011 09:31
Re: Felder von Formularen Bearbeiten
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.
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.