Sodele...
hab es gelöst bekommen, aber etwas anders als gedacht:
Beim Laden der Form les ich das höchste Datum einmal aus und setze es als das Standarddatum für neue Datensätze.
Wenn ich dann mal das Datum ändere hab ich bei dem Event "Nach dem Aktualisieren" dieser Spalte den unten stehenden Code stehen, um das neue Standarddatum zu setzen.
Das Schöne ist: Das Event wird ausgelöst, nachdem der neue Wert drin steht, aber sogar noch bevor der Datensatz gewechselt/geschrieben wird.
Falls ich tatsächlich mal bei einem Datensatz nachträglich das Datum ändern sollte, was eigentlich nicht der Fall sein dürfte, dann muss ich eben bei dem nächsten neuen Datensatz es wieder einmal korrigieren. Aber wie gesagt, das dürfte eigentlich nicht vorkommen und somit fällt es nicht weiter ins Gewicht.
Da ich die Tabelle nur einmal beim Laden abfragen muss bleibt alles schön geschmeidig und flüssig. Dass bei einer Änderung nochmal der kurze Code ausgeführt wird, bemerkt man auch nicht.
Code: Alles auswählen
Sub setDefValDatum
dim oColPartner as Object
oColPartner = thisComponent.Drawpage.Forms.GetByName("MainForm_Grid").GetByName("Datum")
oColPartner.DefaultDate = oColPartner.CurrentValue
End Sub
Zu Plan-B:
Ich hab dort tatsächlich auch Beschreibungen zu Events gefunden, aber irgendwie nicht wirklich brauchbar.
Zum Beispiel steht dort
Prior to reset
The Prior to reset event occurs before a form is reset. The linked macro can, for example, prevent this action by returning "FALSE".
A form is reset if one of the following conditions is met:
- The user presses an (HTML) button that is defined as a reset button.
- A new and empty record is created in a form that is linked to a data source. For example, in the last record, the Next Record button may be pressed.
Man beachte den zweiten Punkt der Auflistung. Ich dachte "TOLL!! genau das was ich suche..."
Das Ergebnis war: Nach einer Änderung des Datums wurde bei dem 1. neu erzeugten Datensatz das neue Datum nicht übernommen. Ich musste erst zurückgehen und erneut nach unten und bei der 2. Erzeugung des Datensatzes kam dann das neue Datum als Vorgabe.
Naja und ansonsten ist es wirklich sehr mühsam etwas zu finden. Man muss die Suchbegriffe sehr genau wissen, d.h. die englischen Bezeichnungen der Sachen die man finden will. Mit dem Stichwort "Events" kam ich nicht sehr weit, erst als ich "Base Form Events" eintrug kam dann bei dem 7. Entry das Gewünschte.
Zu dem Tabellenkontrollfeld hab ich nix finden können. Ich habs es mit "Datagrid" "Mainform_Grid" und auch mit "Grid Form Base" versucht, mit "Grid" alleine eh keine Chance. Dann noch mit "table" "table control" "table control base" aber auch nix... wie gesagt alles sehr mühsam dort. Leider kann man sich auch nicht "durchklicken" ohne die Suche zu bemühen. Alles was zu "Base" über die Menüs zu erreichen war hatte nix mit Programmierung oder gar Events zu tun.
Summa-Summarum
Ich finde OO echt toll für alle normalen Tätigkeiten und total klasse das es sowas als Open-Source und auch noch kostenlos gibt, aber für Leute die mal ein wenig unter die Haube schauen wollen und mit der Programmierung anfangen ist es echt grausig. Die Usability der IDE ist auf dem Stand wo ich 1986 unter DOS mit Ansi-C angefangen habe zu programmieren. Ich bin bei Leibe kein MS Verfechter, um Gottes willen. Wenn's irgendwie geht, nutze ich alternativ-Software (bis auf das OS).
Beruflich hatte ich aber viel mit MS-Produkten zu tun und die Entwicklung mittels VBA ist echt top. Da brauch ich nicht ständig die API-Referenz neben mir liegen haben, ich kann per Auto-Complete sofort sehen welche Möglichkeiten ich habe und auch per Quick-Info was die Methode/Eigenschaft erwartet und zurückgibt wenn ich nur mit der Maus drüber schwebe... Da könnte sich das OO-Team noch ne Scheibe von abschneiden.
Für mich heisst es: ich werde weiter mit OO zu hause arbeiten und wenn möglich Programmierung vermeiden.
Danke Allen, die mich hier Unterstützt haben und mich so letztendlich auf die Lösung gebracht haben.
Schön so eine Community zu finden.
LG Andy
Sodele... :D
hab es gelöst bekommen, aber etwas anders als gedacht:
Beim Laden der Form les ich das höchste Datum einmal aus und setze es als das Standarddatum für neue Datensätze.
Wenn ich dann mal das Datum ändere hab ich bei dem Event "Nach dem Aktualisieren" dieser Spalte den unten stehenden Code stehen, um das neue Standarddatum zu setzen.
Das Schöne ist: Das Event wird ausgelöst, nachdem der neue Wert drin steht, aber sogar noch bevor der Datensatz gewechselt/geschrieben wird.
Falls ich tatsächlich mal bei einem Datensatz nachträglich das Datum ändern sollte, was eigentlich nicht der Fall sein dürfte, dann muss ich eben bei dem nächsten neuen Datensatz es wieder einmal korrigieren. Aber wie gesagt, das dürfte eigentlich nicht vorkommen und somit fällt es nicht weiter ins Gewicht.
Da ich die Tabelle nur einmal beim Laden abfragen muss bleibt alles schön geschmeidig und flüssig. Dass bei einer Änderung nochmal der kurze Code ausgeführt wird, bemerkt man auch nicht.
[code]
Sub setDefValDatum
dim oColPartner as Object
oColPartner = thisComponent.Drawpage.Forms.GetByName("MainForm_Grid").GetByName("Datum")
oColPartner.DefaultDate = oColPartner.CurrentValue
End Sub
[/code]
[b]Zu Plan-B: [/b]
Ich hab dort tatsächlich auch Beschreibungen zu Events gefunden, aber irgendwie nicht wirklich brauchbar.
Zum Beispiel steht dort [quote][b]Prior to reset[/b]
The Prior to reset event occurs before a form is reset. The linked macro can, for example, prevent this action by returning "FALSE".
A form is reset if one of the following conditions is met:
[list]
[*]The user presses an (HTML) button that is defined as a reset button.
[*]A new and empty record is created in a form that is linked to a data source. For example, in the last record, the Next Record button may be pressed.[/list]
[/quote]
Man beachte den zweiten Punkt der Auflistung. Ich dachte "TOLL!! genau das was ich suche..."
Das Ergebnis war: Nach einer Änderung des Datums wurde bei dem 1. neu erzeugten Datensatz das neue Datum nicht übernommen. Ich musste erst zurückgehen und erneut nach unten und bei der 2. Erzeugung des Datensatzes kam dann das neue Datum als Vorgabe.
Naja und ansonsten ist es wirklich sehr mühsam etwas zu finden. Man muss die Suchbegriffe sehr genau wissen, d.h. die englischen Bezeichnungen der Sachen die man finden will. Mit dem Stichwort "Events" kam ich nicht sehr weit, erst als ich "Base Form Events" eintrug kam dann bei dem 7. Entry das Gewünschte.
Zu dem Tabellenkontrollfeld hab ich nix finden können. Ich habs es mit "Datagrid" "Mainform_Grid" und auch mit "Grid Form Base" versucht, mit "Grid" alleine eh keine Chance. Dann noch mit "table" "table control" "table control base" aber auch nix... wie gesagt alles sehr mühsam dort. Leider kann man sich auch nicht "durchklicken" ohne die Suche zu bemühen. Alles was zu "Base" über die Menüs zu erreichen war hatte nix mit Programmierung oder gar Events zu tun.
[b]Summa-Summarum[/b]
Ich finde OO echt toll für alle normalen Tätigkeiten und total klasse das es sowas als Open-Source und auch noch kostenlos gibt, aber für Leute die mal ein wenig unter die Haube schauen wollen und mit der Programmierung anfangen ist es echt grausig. Die Usability der IDE ist auf dem Stand wo ich 1986 unter DOS mit Ansi-C angefangen habe zu programmieren. Ich bin bei Leibe kein MS Verfechter, um Gottes willen. Wenn's irgendwie geht, nutze ich alternativ-Software (bis auf das OS).
Beruflich hatte ich aber viel mit MS-Produkten zu tun und die Entwicklung mittels VBA ist echt top. Da brauch ich nicht ständig die API-Referenz neben mir liegen haben, ich kann per Auto-Complete sofort sehen welche Möglichkeiten ich habe und auch per Quick-Info was die Methode/Eigenschaft erwartet und zurückgibt wenn ich nur mit der Maus drüber schwebe... Da könnte sich das OO-Team noch ne Scheibe von abschneiden.
Für mich heisst es: ich werde weiter mit OO zu hause arbeiten und wenn möglich Programmierung vermeiden. :lol:
Danke Allen, die mich hier Unterstützt haben und mich so letztendlich auf die Lösung gebracht haben.
Schön so eine Community zu finden.
LG Andy