aanpassen eigenschappen listbox via macro

Bespreek het databaseprogramma
danny63
Berichten: 7
Lid geworden op: wo apr 11, 2018 12:25 pm

aanpassen eigenschappen listbox via macro

Bericht door danny63 »

iemand een idee hoe ik met een macro een eigenschap van een listbox kan aanpassen.

bv:
op een formulier moet eerst een waarde geselecteerd worden voor een listbox actief word omdat de inhoud van deze listbox afhankelijk is van de gekozen waarde.
ben met de onderstaande code bezig maar kan niet de juiste opdracht vinden om de listbox te activeren

op de regel listbox.activate krijg ik de melding dat activate geen geldige eigenschap is heb ook nederlands geprobeerd maar helpt ook niet.
kan ik ergens de juiste benaming van de eigenschappen vinden.

dim listbox as object
dim Form as object
Sub Main
set form =thiscomponent()
set listbox = thiscomponent(jaar)
listbox.activate=true


end sub

thanks
danny
openoffice 4.1.5 windows7
RPG
Berichten: 4667
Lid geworden op: wo apr 15, 2009 1:01 am
Locatie: Apeldoorn, Nederland

Re: aanpassen eigenschappen listbox via macro

Bericht door RPG »

Wanneer je macro's wilt gaan gebruiken moet je ook met een MRI of Xray gaan werken. Het model van de listbox heeft de eigenschap enablevisible.

Code: Selecteer alles

oListboxmodel.enablevisible= not(oListboxmodel.enablevisible) ' Toggle visible
danny63 schreef:op een formulier moet eerst een waarde geselecteerd worden voor een listbox actief word omdat de inhoud van deze listbox afhankelijk is van de gekozen waarde.
Ik denk dat je er beter aan doet om goed de eigenschappen van een formulier te onderzoeken. Ik ben er niet zo mee op de hoogte maar het goed kennen van de mogelijkheden van een hoofdformulier en een subformulier bied veel ruimte. Je kunt in een formulier een onbeperkt aantal subformulieren gebruiken. Overigens is het aantal hoofdformulieren in een formulier document ook onbeperkt.

Voor de goede orde het woord formulier wordt binnen OpenOffice-base vaak gebruikt:
a) Voor de naam van het document zoals opgeslagen in de computer.
b) als begin van de formulieren zoals gezien in de form navigator.
c) main-form zoals gezien in de form navigator. Heeft geen master of slave fields.
d) sub-form hangt altijd aan een main-form en deelt master fields van het main-form.

Doc-form wordt gebruikt voor het formulier document zoals het opgeslagen wordt op de harde schijf.
Main-form en sub-form worden ook wel aan geduid met data-forms omdat hierin de gegevens getoond worden.

Romke
LibreOffice 7.4.3.2 op openSUSE Leap 15.4
RPG
Berichten: 4667
Lid geworden op: wo apr 15, 2009 1:01 am
Locatie: Apeldoorn, Nederland

Re: aanpassen eigenschappen listbox via macro

Bericht door RPG »

Het is goed de onderliggende uitleg te lezen in de wetenschap dat het geplaatst is in het forum Base van Apache.OfficeForum. Ik weet dat de vraag de begint over het met een macro aanpassen van een listbox in een formulier. Desondanks denk ik dat het goed is om te wijzen dat het schrijven van macro's in OpenOffice, welke smaak dan ook, niet mogelijk is zonder kennis van:
  • De normale werking van OpenOffice.
  • Kennis van de API van OpenOffice
  • Kennis van de gebruikte scripttaal.
  • Kennis van de Database Engine die gebruikt wordt.
Voor het opzetten van een kleine bedrijfsmatige database is naar mijn idee minimaal HSQLDB 1.8.10 maar een hogere versie is aan te raden. Kennis hebben van een belangrijk deel van die engine is belangrijk. Het is belangrijk om goed gebruik te kunnen maken van de mogelijkheden die een formulier biedt in een formulier document.

Een formulier-document bevat wat vaak de data-formulieren genoemd wordt. Data-formulieren kunnen het best begrepen worden vanuit de formulier-navigator. De formulier-navigator is niet het zelfde als de navigator. De data-formulieren kunnen onderscheiden worden in hoofd-formulieren en sub-formulieren. Het is goed om deze hoofd-formulieren en sub-formulieren als programmeer elementen binnen het gewenste einddoel te zien.

Vanuit het hoofd-formulier kan een jaar geselecteerd worden en de gegevens kunnen in een subformulier getoond worden. Nu komen er twee punten aan de orde om de mogelijk feitelijk vraag te beantwoorden.

Werken met tabellen
Met een database engine zoals de HSQLDB 1.8.10 of beter is het goed mogelijk om een tabel te maken die de gewenste keuze mogelijkheden heeft. Deze kleine tabel begint het formulier door te laten kiezen wat de deelverzameling is waar mee gewerkt gaat worden. In een sub-formulier wordt dan de deelverzameling getoond. Het hoofd-formulier en het sub-formulier zijn verbonden met hoofd-velden en slaaf-velden.

Listbox
Een listbox is bedoeld voor het tonen van voor de gebruiker leesbare informatie terwijl in de tabel iets anders wordt opgeslagen of is opgeslagen. Het is niet bedoeld voor filter acties.
De enable eigenschap van de listbox, die ik alweer vergeten was, dient naar mijn idee er voor dat gegevens wel getoond worden maar niet gemakkelijk veranderd kunnen worden. Ik denk persoonlijk dat het beter is om hier een apart formulier voor te maken met duidelijk waarschuwende elementen zodat gegevens niet per ongeluk veranderd kunnen worden.

Het bovenstaande maakt mogelijk duidelijk dat het goed opzetten van de database-tabellen en de formulieren erg belangrijk is. Soms is het noodzakelijk om echt aparte formulieren te maken voor invoeren van gegevens en bewerken van gegevens.

Romke
LibreOffice 7.4.3.2 op openSUSE Leap 15.4
Plaats reactie