Datenbankformular in Tabelle Werte schreiben.

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

fichte.buche
***
Beiträge: 55
Registriert: Di, 29.03.2005 12:38

Datenbankformular in Tabelle Werte schreiben.

Beitrag von fichte.buche »

Hallo,

Ich hab mir ein Formular mit einer Tabelle erstellt mit der ich die Daten meiner MySQL-Datenbank bearbeiten kann.

In einer Spalte (als numerisches Feld) möchte ich automatisch ein Makro starten, wenn ich das Feld verlasse oder wenn halt die Daten geändert wurden.
Das Makro soll dann überprüfen ob der eingegeben Wert überhaupt passen kann und falls nicht diesen Wert korrigiert.

Beim einzigen Ereignisse bei dem das Makro überhaupt gestartet wird ist "Nach dem Aktualisieren". ("Bei Fokusverlust" oder "Text modifiziert" passiert nichts)

Nachdem das Maktro abgearbeitet ist will ich mit

Code: Alles auswählen

Field.GetByIndex(7).Value = Rabattausgrp
denn Wert von "Rabattausgrp" in die Spalte 7 schreiben.
Wenn ich mit

Code: Alles auswählen

msgbox Field.GetByIndex(7).Value
den Wert anzeigen lasse, dann seht dieser auch dort, aber optisch sichtbar in der Tabelle ist dieser nicht.

Hab dann versucht am Ende des Makros über das sufgezeichnete Makro die Daten in die Datenbank zu schreiben. Dabei hängt sich aber mein OOo1.9.122 auf.

Code: Alles auswählen

dim dispatcher as object
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dispatcher.executeDispatch(document, ".uno:RecSave", "", 0, Array())

Da ich keine Lösung finden konnte hab ich ein seperates Numerisches Feld in das Formular eingefügt.

In dieses Feld kann ich dann den Wert schreiben, das dieser auch wirklich dort ist.

Code: Alles auswählen

Field.Value = Rabattausgrp
Hierbei hab ich aber das Problem, daß ich das Makro beim Ereignis "Bei Fokusverlust" starten lassen muß, denn sonst wird das Makro bei jeder Änderung irgendwelcher Daten in der Tabelle gestartet. Das interessant ist, wenn ich in der Tabelle mit der Tastatur zwischen den Spalten hin- und herspringe funktioniert das ganze, aber wenn ich mit der Maus die Spalte wechsle, dann wird immer das Makro gestartet.

Kann mit vielleicht jemand sagen, wie ich eines der Probleme lösen kann, damit wenigstens eine Methode funktioniert?

DANKE
Fichte.Buche