Åben form med knap

Brugerhjælp og support til databaser i LibreOffice Base

Moderator: Lodahl

Post Reply
alangea
Posts: 4
Joined: Mon Jan 31, 2011 0:33

Åben form med knap

Post by alangea » Mon Jan 31, 2011 0:37

Hejsa.
Helt ny til "Base".
Jeg har lavet en simpel database med 2 forms.

form1 hedder "Project"
form2 hedder "Material"

Jeg ønsker nu en knap i formen "Project" der åbner formen "Material", når der klikkes på denne med musen.
Hvordan gøres dette?

Jeg har prøvet dette:

dim oForm as Object
oForm = OpenForm("Material")

Men får en fejl i linje 2...

Jens S
Posts: 1091
Joined: Sun Mar 25, 2007 21:42

Post by Jens S » Mon Jan 31, 2011 10:03


alangea
Posts: 4
Joined: Mon Jan 31, 2011 0:33

Post by alangea » Fri Feb 04, 2011 23:18

Når jeg prøver dette får jeg fejl i linje 2:
"BASIC Runtime error. argument is not optional"

Her er koden:

REM ***** BASIC *****

Sub onClickOpenForm ( oEvent as variant )
OpenForm(oEvent, "Material")
End sub


Sub OpenForm( oEvent as variant, aFormName as string) as variant
Dim args(1) As New com.sun.star.beans.PropertyValue
Dim container as variant
Dim oCon
oCon = oEvent.Source.Model.Parent.ActiveConnection
container = oCon.Parent.DatabaseDocument.FormDocuments
args(0).Name = "Project ID"
args(0).Value = oCon
args(1).Name = "OpenMode"
args(1).Value = "open"
container.loadComponentFromURL(aFormName,"_blank",0,args())
End Sub[/img]

Jens S
Posts: 1091
Joined: Sun Mar 25, 2007 21:42

Post by Jens S » Wed Feb 16, 2011 9:59

Jeg har fundet denne makro til dig:

Code: Select all

Sub openFormular
	ThisDatabaseDocument.FormDocuments.GetByIndex(0).open()
End Sub
Index starter med 0 for den første formular og makro skal udføres fra en åben formular (evt. en knap).

Du kan evt. også se efter en tilføjelse der hedder 'Switchboard', som jeg ikke har prøvet, men må være noget lignende MS Access switchboard.

mvh
Jens

alangea
Posts: 4
Joined: Mon Jan 31, 2011 0:33

Post by alangea » Sun Feb 20, 2011 2:26

Takker.
Det var lige hvad jeg havde brug for :)
Hvorfor gøre det mere besværligt en det egentlig er...

Sveinir
Posts: 7
Joined: Sat Nov 29, 2008 0:18
Location: 2000 Frederiksberg

Post by Sveinir » Sat Sep 10, 2011 19:26

Hvis man vil være sikker på, hvilken formular, man åbner, kan man gøre sådan:

Code: Select all

ThisDatabaseDocument.FormDocuments.getByName(formularnavn).open() 
Erstat formularnavn med det faktiske navn, enten i en variabel eller som en konstant, f.eks. "Material". altså

Code: Select all

ThisDatabaseDocument.FormDocuments.getByName("Material").open() 
Sveinir

Post Reply

Who is online

Users browsing this forum: No registered users and 2 guests