Aloha
gogo hat geschrieben:Warum kann man nicht auf alle Formulare mit
Code: Alles auswählen
Form=ThisComponent.DrawPage.Forms.GetByName("Name des Formulars")
zugreifen?
Es gibt zwei Arten von "Formularen":
a) Die Textdateien, die Du im Base-Fenster unter dem Punkt "Formulare" findest (
OO Wiki: Text Documents - schau Dir mal das Bild an)
b) diese Textdateien beherbergen auf ihrer Drawpage Forms, welche z.B. an ein RowSet gebunden sein können oder einfach nur ihrerseits Kontrollelemente beherbergen (
OOo Wiki: Forms)
In Deinem Codeschnippsel versuchst Du auf letzteres zuzugreifen, ich verstehe Dein Problem aber so, dass Du auf die sogenannten "Formulare" von Base zugreifen willst.
Das würdest Du z.B. per Makro aus einem geöffneten Formular heraus so machen:
Code: Alles auswählen
oDoc = thisComponent
oFormDocuments = oDoc.Parent.FormDocuments
aElementNames = oFormDocuments.ElementNames
sForms = ""
For i = LBound(aElementNames) To UBound(aElementNames)
sForms = sForms & Chr(13) & aElementNames(i)
Next i
MsgBox "In dieser Base-Datei gespeicherte Formulare:" & Chr(13) & sForms, 64, "Formulare"
Mir ist schon klar, dass sich die Formulare die im Base Fenster zu sehen sind nicht alle im selben Container befinden
Doch, das tun sie, sie sind alle in Deiner .odb Datei gespeichert - ansonsten wüsste die geöffnete Datenbank-Datei ja schliesslich nicht, welche "Formulare" überhaupt zu ihr gehören.