Stel uw vraag
0

I want to open a form in base with a macro.

gevraagd 2018-03-03 16:47:27 +0100

Wu.li. gravatar image

updated 2018-03-03 16:56:06 +0100

I want to use this macro to open aForm in base.

Sub openform()

ThisDatabaseDocument.FormDocuments.getByName("test").open

End Sub

Form "test" exists and is closed.

When I run the marco I get the foultcode "Objectvariabele niet ingesteld"

I use Libreoffice 6.0.1.1 (x64)

What do I wrong?

bewerken retag markeer ongewenst sluiten samenvoegen verwijderen

1 Antwoord

0

beantwoord 2018-03-03 22:52:10 +0100

floris v gravatar image

updated 2018-03-04 17:51:10 +0100

Je kunt een objectvariabele niet direct gebruiken zoals je een numerieke of stringvariabele kunt gebruiken. Die moet eerst worden ingesteld of geïnitialiseerd, wat wil zeggen dat er ruimte voor moet worden gemaakt in het geheugen van de computer. Bekijk maar eens wat voorbeelden van macro's die vergelijkbare dingen moeten doen. Stel jezelf ook de vraag of het de moeite waard is om macro's voor LibreOffice te gaan ontwikkelen, het is moeilijk en de tijd die je met de macro's wint weegt waarschijnlijk niet op tegen de ontwikkeltijd.

Meer hulp is te vinden op het Engelstalige forum van Apache OpenOffice, daar zijn gewoon veel meer actieve gebruikers met verstand van zaken dan op een Nederlandstalig forum. Je kunt op www.openoffice.org ook boeken als PDF vinden.

bewerken markeer ongewenst verwijderen link meer

Commentaren

Welke manieren zijn er dan nog meer om met een knop formulieren te openen en sluiten? Ik ben gewend om een database met acces te maken. Maar waar ik nu vrijwillerswerk doe gebruiken ze libreoffice. Is er niet ergens een voorbeelddatabase met dit soort toepassingen? Of een boek?

Wu.li. gravatar imageWu.li. ( 2018-03-04 11:02:01 +0100 )bewerken

In hoofdstuk 9 (Macro's) van het BASE Handbook (https://wiki.documentfoundation.org/D...) wordt eea besproken. er zitten ook voorbeeld databases bij. ook het document adrewbase.pdf (even googelen) bevat een schat aan informatie. Hoop dat je hiermee verder kunt.

RobVld gravatar imageRobVld ( 2018-03-05 08:59:06 +0100 )bewerken

Net even in mijn database toegepast:

SUB MainformOpen
    ThisDatabaseDocument.FormDocuments.getByName( "WorkList1" ).open
END SUB

SUB OpenReport
    ThisDatabaseDocument.ReportDocuments.getByName("PackingList").open
END SUB
RobVld gravatar imageRobVld ( 2018-03-05 10:20:40 +0100 )bewerken

Om een formulier direct op te starten kan je onderstaande code gebruiken.

SUB Form_Directstart
   DIM oDatasource AS OBJECT
   oDatasource = ThisDatabaseDocument.CurrentController
   If NOT (oDatasource.isConnected()) THEN
      oDatasource.connect()
   END IF
   ThisDatabaseDocument.FormDocuments.getByName("Formname").open
END SUB

alle info heb ik uit hftk 9 Macro document gehaald.

RobVld gravatar imageRobVld ( 2018-03-05 11:04:36 +0100 )bewerken

Bedankt voor de moeite. Het werkte bij mij niet omdat ik de macro's op het algemene macro blad had gezet. Nu ik ze draai op het macroblad onder de databasenaam waarin ik werkt werkt het wel.

Wu.li. gravatar imageWu.li. ( 2018-03-05 13:41:54 +0100 )bewerken
Login/Registreer om te beantwoorden

Hulpmiddelen Vragen

1 volger

Statistieken

Gevraagd: 2018-03-03 16:47:27 +0100

Bekeken: 112 keer

Laatst bijgewertkt: Mar 04 '18