Seite 1 von 1
Weshalb wird die Form nicht erkannt?
Verfasst: Mi, 26.11.2008 15:21
von wega
Hallo zusammen,
ich versuche unter OOo 3.0 eine Form mit folgendem Code anzusprechen:
Code: Alles auswählen
...
dim oDoc as object
dim odrawpage as object
Dim oform as object
dim oList as Object
dim oString as String
...
oDoc = thisComponent 'das Dokument
odrawpage = oDoc.Drawpage 'Zeichenfläche des Formulars einer Datenbank
oForm = odrawpage.Forms.getByName("Hauptfenster") 'Das Formular selbst
oForm.getByName("LabelField_Suchbegriff").Label = "Kom-Nr.?"
oForm.getByName("TextBox_Suchbegriff").Text = ""
In der Zeile oForm = ... kommt dann die Basic-Laufzeitehlermeldung, dass die form nicht erkannt wird.
Wieso?
mit Gruß
Werner
Re: Weshalb wird die Form nicht erkannt?
Verfasst: Do, 27.11.2008 09:58
von komma4
Ahh, hier das Doppel-
posting...
Wie geschrieben: wenn das Formular geöffnet ist...
Auch Dir empfehle ich
Xray zum Untersuchen Deiner Objekte
Re: Weshalb wird die Form nicht erkannt?
Verfasst: Do, 27.11.2008 11:31
von wega
Hallo Winfried,
erst mal Danke für Deine Antwort.
Kann es sein, dass sich die Syntax des OOo Basics in der Version 3.0 leicht verändert hat?
Denn mit nachfolgendem Code
Code: Alles auswählen
sub Komnr_Click
odoc = thisComponent 'dieses Dokument
odrawpage = oDoc.Drawpage 'Zeichenfläche einer Datenbank
'oform = odrawpage.Forms.getByName("Verwaltung") 'Name des aktuellen Formulars
oform = odrawpage.Forms(0) '<-- funktioniert so unter OOo 3.0 !
oform.getByName("LabelField_Suchbegriff").Label = "Kom-Nr.?"
oform.getByName("TextBox_Suchbegriff").Text = ""
'Sql = "Select "
'Listbox_schreiben
'Listbox_erster_Datensatz
end sub
wird das Formular erkannt und auch die Label und Textänderungen vollzogen.
Gruß
Werner
Re: Weshalb wird die Form nicht erkannt?
Verfasst: Do, 27.11.2008 11:52
von komma4
Nein, da hat sich nichts geändert.
Das sind nur zwei unterschiedliche Herangehensweisen:
mit
FORMS(0) sprichst Du die erste indizierte Form an, mit der anderen Anweisung gehst Du über den Namen....
Hier funktioniert (immer noch) beides.
Mögliche Fehlerquelle: Schreibweise des Namens (
case-sensitive!)
Für Dich gerade ausprobiert:
Code: Alles auswählen
oDok = ThisComponent
oForm = oDok.Drawpage.Forms.getByName( "MainForm" )
oFeld = oForm.getByName( "txtbereich" )
geht!
Re: Weshalb wird die Form nicht erkannt?
Verfasst: Do, 27.11.2008 15:07
von wega
Ich habe Deine schreibweise nachvollzogen und bekomme dann doch noch die alte Fehlermeldung.
Vielleicht bringt das angefügte Bild klarheit.
Hingegen .Forms(0) funktioniert.
mit Gruß
Werner
Re: Weshalb wird die Form nicht erkannt?
Verfasst: Do, 27.11.2008 15:37
von komma4
Dann heisst Dein Formular nicht "Verwaltung"...
nehme folgenden Code und lasse Dir ausgeben, was da ist...
Code: Alles auswählen
oDok = ThisComponent
oDrawPage = oDok.getDrawpage()
oForms = oDrawPage.getForms()
aFormNamen = oForms.getElementNames()
For i = LBound( aFormNamen ) To UBound( aFormNamen )
print aFormNamen( i )
Next
Re: Weshalb wird die Form nicht erkannt?
Verfasst: Do, 27.11.2008 15:52
von wega
Hallo Winfried,
Du hast ja so was von Recht.
Aber wieso, die Form ist doch mit dem Assistenten aufgebaut und nennt sich auch "Verwaltung", siehe Bild.
Wie und wo muß ich die form den Umbenennen, damit sie wirklich "Verwaltung" heißt und nich "MainForm"?
Gruß
Werner
Re: Weshalb wird die Form nicht erkannt?
Verfasst: Do, 27.11.2008 16:03
von wega
Danke für Deine Hilfe,
ich habs gefunden: Natürlich in Formulareigenschaften.
Für alle, die ein ähnliches Problem haben, habe ich noch ein Orientierungsbild angehängt.
Viele Grüße und Danke bis zum nächsten mal
Werner
Re: Weshalb wird die Form nicht erkannt?
Verfasst: Do, 27.11.2008 17:29
von komma4
wega hat geschrieben:und nennt sich auch "Verwaltung", siehe Bild.
Das ist der Name der Formular-
Datei - wie Du ja auch schon rausgefunden hast
