Listbox und Macro

Ich habe ein Datenbankformular mit einer Listbox. Der Listeninhalt
werden durch eine SQL-Abfrage festgelegt. Allerdings möchte ich diese
SQL-Abfrage mittels Makro verändern können. Aber wie ist das zu
bewerkstelligen?

Und noch eine wichtige Frage: Es ist extrem mühsam ohne brauchbare
Dokumentation Libreoffice Basic Makros zu schreiben. Wo gibt es eine
Dokumentation in der man die Properties und Methoden findet, die man
braucht?

Besten Dank im voraus

Reinhard

Hallo Reinhard,

Und noch eine wichtige Frage: Es ist extrem mühsam ohne brauchbare
Dokumentation Libreoffice Basic Makros zu schreiben. Wo gibt es eine
Dokumentation in der man die Properties und Methoden findet, die man
braucht?

Innerhalb der LO-Community gibt es kleines "Dokumentationsteam", das sich um die Erstellung von LO-Handbüchen kümmert. Das Kapitel "Makros" im Handbuch "Erste Schritte" ist zurzeit in Bearbeitung.
Die von Dir angesprochenen Punkte sind dort nicht abgearbeitet, da dies über die "Erste Schritte" hinausgeht.
Für ein Handbuch "Verwendung von Makros" gibt es zurzeit keine konkrete Umsetzungspläne, da wir mit der Erstellung anderer Handbücher gebunden sind.
Allerdings kannst Du im Wiki der TDF/LO Deine Ideen bzw. konkrete Vorschläge einbringen. Ich habe mal in [1] ein Gerüst für eine Ideensammlung angelegt. Dies könnte dann einmal die Grundlage für ein spezielles Makro-Handbuch sein.
Alternativ kannst Du Deine Vorschläge hier oder noch besser auf der de-discuss-ML posten.

[1] http://wiki.documentfoundation.org/Documentation/de#Ideensammlung_.28Themen.2C_Kapitel.C3.BCberschriften_etc..29

Gruß

Jochen

Hallo Reinhard,

Ich habe ein Datenbankformular mit einer Listbox. Der Listeninhalt
werden durch eine SQL-Abfrage festgelegt. Allerdings möchte ich diese
SQL-Abfrage mittels Makro verändern können. Aber wie ist das zu
bewerkstelligen?

Probiere einmal dies:
http://codesnippets.services.openoffice.org/Database/Database.ChangeListboxSource.snip

Und noch eine wichtige Frage: Es ist extrem mühsam ohne brauchbare
Dokumentation Libreoffice Basic Makros zu schreiben. Wo gibt es eine
Dokumentation in der man die Properties und Methoden findet, die man
braucht?

Die kannst Du zwar theoretisch anzeigen lassen, praktisch reicht aber
dazu häufig der Bildschirm nicht aus:

  msgbox oFeld.dbg_methods
  msgbox oFeld.dbg_properties

Es gibt dazu auch ein Tool, das gerade zur Entwicklung hier ganz gut
geeignet ist und vor allem die Darstellung langer Listen scrollbar
macht. Den Namen habe ich so nicht parat.

Irgendwie sind die Informationen auf den Websites so gut versteckt, dass
ich trotz vieler Versuche mit der API nicht zurande komme. Lasse ich von
einer Listbox in einem Formular die Methoden anzeigen, so wird mir die
Listbox als
com.sun.star.comp.forms.OListBoxModel
angeboten. Mit diesem Pfad kann ich bei der API nicht fündig werden. Die
zeigt unterhalb von "star" kein "comp" an.

Gruß

Robert

Hallo,

versuche doch einmal, die immer noch sehr hilfreiche Darstellung von StarOfficeim Internet zu finden:
StarOffice 8 Basic Handbuch oder so ähnlich.
Gruss
Winfried

Winfried Strecker schrieb:

Hallo,

versuche doch einmal, die immer noch sehr hilfreiche Darstellung von
StarOfficeim Internet zu finden:
StarOffice 8 Basic Handbuch oder so ähnlich.

http://www.oracle.com/technetwork/documentation/office-prod-193030.html
auf Englisch

http://download.oracle.com/docs/cd/E19535-01/819-1326/819-1326.pdf
bzw. online
http://download.oracle.com/docs/cd/E19535-01/819-1326/index.html
auf Deutsch

MfG
Regina

rh wrote:

Wo gibt es eine
Dokumentation in der man die Properties und Methoden findet, die man
braucht?

http://api.openoffice.org/SDK/index.html
und die Hilfsmittel
XRAY http://bernard.marcelly.perso.sfr.fr/index2.html
und/oder
MRI http://extensions.services.openoffice.org/project/MRI
nutzen.

Viel Erfolg!
Winfried

Hallo Winfried,

versuche doch einmal, die immer noch sehr hilfreiche Darstellung von
StarOfficeim Internet zu finden:
StarOffice 8 Basic Handbuch oder so ähnlich.

Die habe ich schon vor längerer Zeit als *.pdf hier liegen. Das hat mir
bei der Suche nach "comp.forms" nicht weiterhelfen können. Ich denke,
dass es auch für ungeübte Nutzer möglich sein muss, verfügbare Befehle
aus der API im Netz nachschlagen zu können.

Die Eigenschaft "ListSource" ist in dem Programmierhandbuch natürlich
auch nicht verfügbar. Im Bereich Datenbanken/Formulare bringt mir das
Handbuch daher recht wenig. Da greife ich lieber ins Regal und hole
"Makros in OpenOffice.org" von Thomas Krumbein raus - oder nutze Xray
bzw. Mri.

Gruß

Robert

Nun ganz so einfach ist es auch nicht. Ich habe auch bei "Krumbein"
nachgesehen. Dort steht, daß die Steuerelemente in Datenbankformularen
eine Eigenschaft "Command" hätten, die zur Aufnahme von SQL-Anweisungen
gedacht sei. Tatsache: So funktioniert es nicht.

Dann habe ich mir die ODB-Datei genauer angesehen. in "Content.XML"
meines Formulars habe ich folgendes gefunden:
/
form:list-source-type="sql" form:list-source="select name ||
',' || vorname from....

/Tatsache ist: "list-source-type" und "list-source" sind nicht wie man
erwarten könnte die gesuchten Properties.

Fündig geworden bin ich hingegen hier:

http://codesnippets.services.openoffice.org/Database/Database.ChangeListboxSource.snip

Heureka! Das funktioniert wirklich.

liebe Grüße
Reinhard