Seite 1 von 1

Formular per Button öffnen

Verfasst: Mo, 12.02.2007 09:14
von Arogarth
Guten Morgen,
Ich habe mir eine Datenbank mit Base erstellt.
Ich möchte aus einem Formular ein anderes Formular mittels Button öffnen.
Ich habe leider nur Lösungen gefunden, Formulare auserhalb eines Dokumentes zu öffnen. Ich möchte aber ein Formular öffnen lassen, welches in der Datenbank drinnen ist, unter Formulare.

Danke schonmal
MFG Arogarth

Verfasst: Do, 15.02.2007 21:39
von Stephan
reicht es wenn ich ohne weitere Erläuterungen einen Code poste - Folgendes sollte laufen.

Code: Alles auswählen

Sub form_base_oeffnen()
formularname = "xTabelle1"
Dim arg(1) As New com.sun.star.beans.PropertyValue 
x = StarDesktop.CurrentComponent.getFormDocuments().getElementNames()
For i = LBOUND(x()) To UBOUND(x())
	if x(i) = formularname Then
		context = CreateUnoService("com.sun.star.sdb.DatabaseContext")
		db = context.getByName(StarDesktop.CurrentComponent.GetLocation)
		verb = db.getConnection("", "")
		arg(0).Name = "OpenMode"
		arg(0).Value = "open"
		arg(1).Name = "ActiveConnection"
		arg(1).Value = verb
		StarDesktop.CurrentComponent.getFormDocuments().loadComponentFromURL(x(i), "", 0, arg())
		Exit Sub
	End If
Next i
End Sub


Gruß
Stephan

Verfasst: Mi, 14.03.2007 17:10
von longjohn
Hallo Stephan,

der Thread ist schon ein Monat her, aber meine Frage passt hier sehr gut rein.

Ich habe ein Formular erstellt, mit mehreren Schaltflächen "Puschbutton" und ich möchte nun als Aktion "Formular öffnen".

Diese option funktioniert nicht und leider hab ich auch keinen blasen Schimmer was dieser Quellcode von dir etwas weiter oben zu bedeuten hat.

Muss ich ein Makro schreiben oder diesen Code dort reinkopieren und die Formulardatei umbennen.
Aber selbst wenn ich das mache, wie rufe ich den Code ab bzw. führe ich die Aktion aus.

Vielleicht kann mir Stephan oder auch jemand anders helfen.

Kurz gesagt, wie öffne ich in einem Forumal ein Formular aus der gleichen Datenbank.

Verfasst: Do, 15.03.2007 13:10
von longjohn
Stephan hat geschrieben:reicht es wenn ich ohne weitere Erläuterungen einen Code poste - Folgendes sollte laufen.

Code: Alles auswählen

Sub form_base_oeffnen()
formularname = "xTabelle1"
Dim arg(1) As New com.sun.star.beans.PropertyValue 
x = StarDesktop.CurrentComponent.getFormDocuments().getElementNames()
For i = LBOUND(x()) To UBOUND(x())
	if x(i) = formularname Then
		context = CreateUnoService("com.sun.star.sdb.DatabaseContext")
		db = context.getByName(StarDesktop.CurrentComponent.GetLocation)
		verb = db.getConnection("", "")
		arg(0).Name = "OpenMode"
		arg(0).Value = "open"
		arg(1).Name = "ActiveConnection"
		arg(1).Value = verb
		StarDesktop.CurrentComponent.getFormDocuments().loadComponentFromURL(x(i), "", 0, arg())
		Exit Sub
	End If
Next i
End Sub
Gruß
Stephan
Hi Stephan,

ich hab mich durch die Hilfe und diverse Seiten geackert und bin schon weiter.
Makro geschrieben wie von dir gecoded, eingefügt, als Aktion ausgeführt!

Kommt aber dann eine Fehlermeldung:
BASIC-Laufzeitfehler.
Eigenschaft oder Methode nicht gefunden


er zeigt im Marko einen roten Pfeil bei dieser Zeile an:
x = StarDesktop.CurrentComponent.getFormDocuments().getElementNames()

Hab den Code von dir genommen also makro eingefügt in Base und gespeichter.
Lediglich diese Zeile auf formularname = "fm_abrechnung" geändert.

Weisst du einen rat?

Verfasst: Do, 15.03.2007 13:12
von longjohn
arbeite mit openoffice 2.0