Seite 1 von 1

Berechnungen in ACT! 2011

Verfasst: Donnerstag 23. Juni 2011, 17:41
von Beinhart63
Moin zusammen,

bin neu hier und weiß nicht ob ich mit meiner Frage heir richtig bin?!

Folgendes Problem: Da ich ACT aus älteren Versionen schon kenne, habe ich mein Kontakt-Layout umstrukturiert, neue Felder hinzugefügt.
In einem Feld, unter "Kontakte", steht der Geburtstag, in dem Feld darunter soll automatisch das Sternzeichen (z.B. Wasermann) und ein Feld darunter das Alter angezeigt werden.
Geht das überhaupt? Sind solche Berechnungen möglich? Wenn ja, wie?

Bin für jede Hilfe dankbar!

Gruß Jan

Verfasst: Donnerstag 23. Juni 2011, 18:07
von Ingrid Weigoldt
Hallo Jan,

früher hat man das mit formelact (kostenloses AddIn von Melville-Schellmann) gemacht, jetzt würde das funktionieren mit AutoData, enthalten in Optimum (Melville-Schellmann).

Verfasst: Donnerstag 23. Juni 2011, 18:51
von Beinhart63
Hallo Ingrid,

veilen Dank für die schnelle Antwort!
Ja ich kann mich dunkel erinnern, dass es sowas gibt, hatte es aber nie einsetzen müssen.

Werde es mal ausprobieren, ist natürlich nicht kostenlos, war ja klar!

Gruß Jan

Verfasst: Donnerstag 23. Juni 2011, 22:00
von Beinhart63
...naja Optimum ist wohl 'ne kleine Wissenschaft für sich... :-?

In einem Kurzvideo wird zwar erklärt, dass mann beliebige Formeln eingeben kann, aber über das Format wird nix verraten. VB-Formeln ok, aber dass kenn ich nur aus Excel. Aber wie stell ich dass AutoData an, mit den Zellbezügen???

Gruß Jan

Verfasst: Freitag 24. Juni 2011, 00:53
von Ingrid Weigoldt
Hallo Jan,

AutoData bietet in bezug auf Feldbezüge gute Hilfen.
Und wenn Sie schon mal formelact für dieses Problem in ACT!6 eingesetzt hatten, sollte Ihnen der Ablauf zur Berechnung des Sternzeichens aus einem eingegebenen Geburtstag ja vertraut sein.
Mit Autodata werden einige Beispiele (leider nicht zur Berechnung des Sternzeichens) mitgeliefert, und aus diesen Beispielen kann man viel lernen.
Es ist nichts für Anfänger und Unerfahrene. Aber erstens kann man solche Leistungen auch einkaufen und zweitens kann man nichts damit in ACT! kaputt machen.

Verfasst: Freitag 24. Juni 2011, 08:50
von Beinhart63
Hallo Ingrid,
Und wenn Sie schon mal formelact für dieses Problem in ACT!6 eingesetzt hatten, sollte Ihnen der Ablauf zur Berechnung des Sternzeichens aus einem eingegebenen Geburtstag ja vertraut sein.
Der Satz aus meinem 2. Beitrag: "Ja ich kann mich dunkel erinnern, dass es sowas gibt, hatte es aber nie einsetzen müssen."
Deshalb ist es mir eben nicht so vertraut und es ist auch schon eine Weile her. Aber sei es drum, ich will mit dem neuen ACT arbeiten, weil es wirklich gut ist!
Nur brauch ich hier und da einen "Denkanstoß" und weiß, dass ich hier gut aufgehoben bin!

Gruß Jan

Verfasst: Freitag 24. Juni 2011, 19:10
von Beinhart63
Moin nochmal,

hätte dann doch gern einmal einen Vorschlag, wie man das aktuelle Alter berechnet. Geburtstgasfeld ist vorhanden und in dem Feld darunter soll das Alter ausgegeben werden.

Vielen Dank schonmal!

Gruß Jan

Verfasst: Montag 27. Juni 2011, 12:09
von Robert Schellmann
Hallo Jan,

hier ist ein Beispiel-Script für die Berechnung des Alters für eine AutoData3-Schaltfläche.

Code: Alles auswählen

    ' Das Script berechnet das Alter aus einem Geburtstagsdatum.
    ' Erstellt am 27.06.2011 von Robert Schellmann, rs@melville-schellmann.de


    Dim sFieldGeburtstag As String = "Geburtsdatum" ' Feldname, wo der Geburtstag gespeichert ist.
    Dim sFieldAlter As String = "Alter" ' Feldname wohin des berechnete Alter gespeichert werden soll
    Dim lYear As Integer
    Dim lMonth As Integer
    Dim lDay As Integer
    Dim lAge As Integer
    Dim sValue As String
    Dim dBirthday As Date

    sValue = AutoData.getFieldValue(sFieldGeburtstag)
    If sValue.Trim = String.Empty Then
      GoTo Abbruch
    End If
    If Date.TryParse(sValue, dBirthday) = False Then
      MsgBox(String.Format("Aus dem Wert '{0}' aus dem Feld '{1}' konnte kein Datum erkannt werden.", sValue, sFieldGeburtstag), vbInformation)
      GoTo Abbruch
    End If

    lYear = dBirthday.Year
    lMonth = dBirthday.Month
    lDay = dBirthday.Day

    ' Berechnung des Alters
    ' http://www.vb-paradise.de/allgemeines/sourcecode-austausch/43331-alter-durch-geburtsdatum-errechnen/

    lAge = Now.Year - lYear
    If Now.Month = lMonth Then
      If Now.Day < lDay Then
        lAge -= 1 ' Ein Jahr abziehen
      End If
    Else
      If Now.Month < lMonth Then
        lAge -= 1 ' Ein Jahr abziehen
      End If
    End If

    ' Das Alter in das entsprechende Feld schreiben
    AutoData.setFieldValue(sFieldAlter, lAge.ToString)

    'Und noch ein kleiner Refresh der aktuellen Anischt.
    ACTApp.Cursor = Cursors.WaitCursor
    ACTApp.ExecuteCommand("act-ui://com.act/application/menu/view/refresh")
    System.Windows.Forms.Application.DoEvents()
    ACTApp.Cursor = Cursors.Default

Abbruch:
    Return String.Empty
Hier ist das ganze als fertige Konfigurationsdatei für AutoData3: AutoData3_AlterAusGeburtstag.xml (rechte Maustaste "Ziel speichern unter...")
(siehe AutoData3: Einrichtung einer AutoData3-Schaltfläche in ACT!)

Gruß
Robert Schellmann

Verfasst: Dienstag 28. Juni 2011, 14:21
von Robert Schellmann
Hallo,

in dem Script müssen die Feldnamen für Geburtstag- und Alter-Feld an die jeweilige Datenbank angepasst werden.

Gruß
Robert Schellmann

Verfasst: Donnerstag 30. Juni 2011, 07:55
von Beinhart63
Hallo Herr Schellmann,

vielen herzlichen Dank! Funktioniert erwartungsgemäß hervoragend!

LG Jan