Hallo.
Ich habe bereits Kenntnisse mit VBA unter MS Office und bin gerade dabei, mich auch etwas mit StarBasic unter StarOffice zurechtzufinden (das meines Wissens auf OpenOffice basiert ?!).
Problem 1): Zunächst wollte ich nach einer ausführlichen StarBasic Referenz fragen, das StarOffice-BasicProgrammierhandbuch ist nur ein Ausschnitt und dient auch nur als Einstieg. Ich meine auch nicht die API-Referenz zur Entwicklung von UNO-Komponenten. Diese Referenz hab ich schon, ist aber für meine Fragen meiner Meinung nicht sinnvoll.
Problem 2): Bei meinem derzeitigen Anwendungsbeispiel habe ich in einem TextWriter-Dokument Formulare mit Tabellen eingefügt, welche mit MySQL-Datenbanktabellen verknüpft sind. So weit so gut. Die Daten werden gezeigt und sind auch editierbar. Ich wollte in manchen Tabellen ein Datenfeld mit einem Datenfeld einer anderen Tabelle verknüpfen (der Primärschlüssel der Tabelle A ist der Fremdschlüssel für die Tabellen B und C). Hintergrund ist der, dass ich je nach selektiertem Datensatz in Tabelle A nur die entsprechenden Datensätze der Tabellen B und C sehen will. Also muss gefiltert werden. Laut StarOffice-Hilfe geschieht dies komfortabel im Entwurfsmodus unter den Optionen 'Filter', 'Verknüpfung von' und 'Verknüpfung nach'. Das hat bei mir nicht geklappt. Um zu sehen, ob eine Filterung an sich klappt, hab ich zu Versuchszwecken einfach eine hardcodierte Filterung eingegeben, also z.B. ID = 2. Damit sollten nur die Datensätze angezeigt werden, dessen ID gleich 2 ist. Auch das klappte nicht. Es wurden weiterhin alle Datensätze angezeigt.
Problem 3): Ich möchte auf ein Doppelklick-Ereignis in den Tabellen reagieren können, also bei einem Doppelklick auf einem Datensatz.
3a) Zunächst hab ich im Entwurfsmodus nur das Einklick-Ereignis entdeckt, so dass ich mir denke, einen Doppelklick mit diesem Ereignis selbst abfangen zu müssen. Das versuchte ich mit zwei Long-Variablen in der Ereignis-Prozedur, welche den Wert von Timer() auswerten. Dabei soll ein Wert für den zuletzt ermittelten Timer-Wert stehen und der zweite für den aktuellen. Ein Doppelklick kann dann z.B. festgelegt werden, wenn die Differenz kleiner 1 ist. Dazu hab ich den einen Wert als 'Static' angegeben. Ich war jedoch sehr erstaunt, als ich feststellte, dass dieser Wert bei jedem Ereigniseintritt mit Null initialisiert wird. Woran könnte das liegen?
3b) Vielleicht hat jemand auch einen Tipp, über welche Eigenschaft man den selektierten Datensatz aus dem 'TableControl' ermitteln kann oder wo ich mich darüber schlau machen kann. Das Thema Tabellen bzw. ihre Eigenschaften sind im StarOffice-BasicProgrammierhandbuch nicht enthalten.
Schon einmal einen schönen Dank im voraus.
Tabelle filtern + Doppelklick-Ereignis + statische Variable
Moderator: Moderatoren