makroproblem

Probleme und Tips in der Anwendung von ACT!

Moderatoren: Ingrid Weigoldt, Schlesselmann, Robert Schellmann

Antworten
klenzimike
Beiträge: 8
Registriert: Sonntag 23. März 2003, 01:00

makroproblem

Beitrag von klenzimike »

ich habe ein makro aufgezeichnet, das ein feld-alter- updaten soll und das ergebnis in ein anderes feld kopiert. leider läuft das makro nur soweit, wie ich es aufgezeichnet habe. es sollte aber die gesamte datenbank durchlaufen. wie löst man das problem?
Ingrid Weigoldt
Beiträge: 3027
Registriert: Donnerstag 24. April 2003, 02:00
Wohnort: Viernheim

Beitrag von Ingrid Weigoldt »

Hallo klenzimike,

eher mal "formelACT" anschauen: kostenloses AddOn von Melville-Schellmann, finden Sie dort im Downloadbereich.
Da können Sie sowas mit machen.
Schöne Grüße aus Viernheim
Ingrid Weigoldt
klenzimike
Beiträge: 8
Registriert: Sonntag 23. März 2003, 01:00

makroprolem

Beitrag von klenzimike »

danke für die schnelle antwort, fr. weigoldt, ich habe mir formelact angesehen, weiss aber nicht wie die formel lauten sollte. ich habe das kopierproblem mit "copyfields" gelöst, der inhalt von feld a wird beim verlassen in feld b copiert. mein problem liegt aber darin, das ein weiteres feld "geb" beim verlassen mit hilfe von "calcage" das korrekte alter in das feld a schreibt. wie bringe ich kompletten durchlauf der gesamten datenbank zustande?
gruss klenzimike
Ingrid Weigoldt
Beiträge: 3027
Registriert: Donnerstag 24. April 2003, 02:00
Wohnort: Viernheim

Beitrag von Ingrid Weigoldt »

Hallo Klenzimike,

was bitte ist "copyfields" und "calcage"?
Schöne Grüße aus Viernheim
Ingrid Weigoldt
klenzimike
Beiträge: 8
Registriert: Sonntag 23. März 2003, 01:00

Beitrag von klenzimike »

copyfields und calcage sind kleine programme für act, die felder kopieren können und ein altersfeld kalkulieren können, d.h. aus dem gebdatum das alter in zahl errechnen. genau hier liegt mein problem. man wird halt immer älter, sodass die felder "alter" einmal pro jahr neu berechnet werden müssen. und da sollte mein makro eben alle felder der datenbank durchlaufen. es läuft aber nur soweit, wie ich im makroaufzeichnungs-modus gegangen bin. any idea?
gruss klenzimike
Ingrid Weigoldt
Beiträge: 3027
Registriert: Donnerstag 24. April 2003, 02:00
Wohnort: Viernheim

Beitrag von Ingrid Weigoldt »

Hallo klenzimike,

hat ein bißchen gedauert, aber hier ist die Lösung:

In der Annahme, das Geburtsdatum hat die Feld-ID 98 (Standard, Kontrolle per FeldInfo), das Feld für das "Alter_aktuell" die Feld-ID 1034, und ein leider nötiges Zwischenfeld die Feld-ID 1036, dann können Sie mit folgender FormelACT-Befehlsdatei z.B. bei Austritt aus dem Feld "Geburtsdatum" das aktuelle Alter in Jahren zum aktuellen Systemdatum berechnen lassen.

$%1036=IIF("%98" = "" ; Now ; "%98")
$%1034=IIF(DateSerial ( Year(Now) , Month("%1036") , Day("%1036") )
- NOW > 0 ; Year(Now)-Year("%1036") -1 ; Year(Now)-Year("%1036") )

Da die Formel sehr lang ist, unbedingt im Editor den Zeilenumbruch ausschalten!!!

Ergänzen Sie diese Formel um ein $-Zeichen am Zeilenbeginn, wird die Formel für alle Datensätze bzw. die aktuelle Suche durchgeführt.

Ein Geburtsdatum in der Zukunft führt allerdings zu einem merkwürdigen Ergebnis.

Viel Spaß mit FormelACT!
Schöne Grüße aus Viernheim
Ingrid Weigoldt
Antworten