Åben form med knap

Brugerhjælp og support til databaser i LibreOffice Base

Redaktør: Lodahl

Besvar
alangea
Indlæg: 4
Tilmeldt: 31. jan 2011 00:33

Åben form med knap

Indlæg af alangea » 31. jan 2011 00: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
Indlæg: 1091
Tilmeldt: 25. mar 2007 22:42

Indlæg af Jens S » 31. jan 2011 10:03


alangea
Indlæg: 4
Tilmeldt: 31. jan 2011 00:33

Indlæg af alangea » 4. feb 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
Indlæg: 1091
Tilmeldt: 25. mar 2007 22:42

Indlæg af Jens S » 16. feb 2011 09:59

Jeg har fundet denne makro til dig:

Kode: Vælg alt

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
Indlæg: 4
Tilmeldt: 31. jan 2011 00:33

Indlæg af alangea » 20. feb 2011 02:26

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

Sveinir
Indlæg: 7
Tilmeldt: 29. nov 2008 00:18
Geografisk sted: 2000 Frederiksberg

Indlæg af Sveinir » 10. sep 2011 20:26

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

Kode: Vælg alt

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

Kode: Vælg alt

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

Besvar

Hvem er online

Brugere der viser dette forum: Ingen og 1 gæst