1 1 1 1 1 1 1 1 1 1 Rating 4.92 (12 Votes)

Problemstellung:

Für 32Bit und 64Bit Office Versionen

Wie kann man benutzerdefinierte Counter auf verschiedenen Datumsebenen erstellen,
mittels einer Funktion.

Voraussetzungen:
Das Bsp ist ab A97 lauffähih

Funktionsweise:
Funktionskopf: genaues Listing s. Bsp-DB
Public Function UniCounter_New(intNoLen As Integer, strTabName As String, _
                            strFeldName As String, intType As Integer, _
                            boolStart As Boolean, boolAlign As Boolean, _
                            Optional strArg As String = "-", _
                            Optional strArg2 As String = "", _
                            Optional sPrefix As String = "", _
                            Optional dtStart As Date) As String

Syntax der Funktion:
UniCounter_New("Anzahl der Zählerstellen";"Herkunftstabelle";"Herkunftsfeld";"Datumsformat";
"Beginn des Zählers";"Ausrichtung des Zählers";
"Optional Trennzeichen zwischen Zähler/Datum (Standardwert "-");
"Optional Datumstrennzeichen (Standardwert "");
Optional Präfix (Standardwert ""));Optional Startdatum

Argumente und Möglichkeiten:

1. Anzahl der Stellen die der Zähler besitzen soll.
2. Name der Herkunftstabelle des Zählers
3. Name des Feldes aus der Herkunftstabelle des Zählers
4. DatumsTyp, 1=Tage (yymmdd), 2=Tage (ddmmyyyy),3=Tage (ddmmyyyy formatiert),
4=Woche (wwyyyy formatiert), 5=Monat (mmyyyy formatiert),
6=Jahr (yyyy), 7=Woche (yyww formatiert), 8=Woche (yyyyww formatiert)
formatiert bedeutet das ein Trennzeichen gesetzt werden kann.
5. Beginn des Zählers (Wahr bei 1, Falsch bei 0)
6. Ausrichtung des Zählers (Wahr= Zähler Rechts, Falsch= Zähler Links)
7. Trennzeichen zwischen Datum und Zähler Standardwert "-"
8. Datumstrennzeichen Standardwert "", hat nur Auswirkungen auf die Datumstypen 3,4,5
9. Präfix links vom Counter
10. Startdatum beliebig

Der Aufruf erfolgt im Standardwert des Zählfeldes s.Bild:

Normaler Zähler:

Diese Bsp erstellt einen Tageszähler im Format "tt.mm.jjjj" mit 3 Stellen, beginnend bei 001 und Zähler ist rechts
Aufruf: UniCounter(3;"tbl_Test";"Zaehler_ID_Tag";3;Wahr;Wahr;"-";".")

weitere Beispiele:

Wochenzähler im Format "ww.jjjj" mit 4 Stellen, beginnend bei 0001 und Zähler ist links:
Aufruf: UniCounter(4;"tbl_Test";"Zaehler_ID_Woche";4;Wahr;Falsch;"/";"/")


Monatszähler im Format "mm.jjjj" mit 5 Stellen, beginnend bei 00000 und Zähler ist rechts
Aufruf: UniCounter(5;"tbl_Test";"Zaehler_ID_Monat";5;Falsch;Wahr;"_";".")


Jahreszähler im Format "jjjj" mit 6Stellen, beginnend bei 000001 und Zähler ist rechts
Aufruf: UniCounter(6;"tbl_Test";"Zaehler_ID_Jahr";6;Wahr;Wahr;"/")

Zähler mit Präfix:

Es sollten keine Leerzeichen im Präfix vorkommen


Diese Bsp erstellt einen Tageszähler im Format "tt.mm.jjjj" mit 3 Stellen, beginnend bei 001 und Zähler ist rechts und dem Präfix „TK_“
Aufruf: UniCounter_New(3;"tbl_Test";"Zaehler_ID_Tag";3;Wahr;Wahr;"-";".":“TK_“)


Wochenzähler im Format "ww.jjjj" mit 4 Stellen, beginnend bei 0001 und Zähler ist links:
Aufruf: UniCounter_New(4;"tbl_Test";"Zaehler_ID_Woche";4;Wahr;Falsch;"/";"/";“GTS“)


Monatszähler im Format "mm.jjjj" mit 5 Stellen, beginnend bei 00000 und Zähler ist rechts
Aufruf: UniCounter_New(5;"tbl_Test";"Zaehler_ID_Monat";5;Falsch;Wahr;"_";".";“HH_“)


Jahreszähler im Format "jjjj" mit 6Stellen, beginnend bei 000001 und Zähler ist rechts
Aufruf: UniCounter_New(6;"tbl_Test";"Zaehler_ID_Jahr";6;Wahr;Wahr;"/";““;“JFK“)

Zähler mit variablen Startdatum:

Es kann ja mal erforderlich sein rückwirkend ein DS der DB hinzu zufügen, da aber das Datum schon verstrichen ist würde der Zähler
nicht den gewünschten Wert enthalten.
Hier käme dann der optionale Parameter „Optional dtStart As Date“ zum Einsatz.
Wird der Parameter nicht übergeben wird das aktuelle Datum übergeben.
Es kann der Standardwert und die optionale Übergabe kombiniert werden.
In der Bsp-DB wird mit dem Klick auf den Button rechts ein Kalender aufgerufen wo ein beliebiges Datum gewählt werden kann.
Dieses Datum wird dann der Funktion übergeben und der dazu gehörige Zähler gesetzt.

z.B:

DatumHolen Me.txt_DatumMonat
    If Not IsNull(Me.txt_DatumMonat) Then
        Me.txt_Zaehler_ID_Monat_S = UniCounter_New(5, "tbl_Test", "Zaehler_ID_Monat_S", _
                                    5, False, True, "_", ".", , Me.txt_DatumMonat)
    Else
        Me.txt_Zaehler_ID_Monat_S = UniCounter_New(5, "tbl_Test", "Zaehler_ID_Monat_S", _
                                    5, False, True, "_", ".")
    End If

oder es wurde auf „Abbrechen“ geklickt dann wird das aktuelle Datum verwendet.
Das Datum kann natürlich auch der Funktion direkt übergeben werden.
Weiterhin ist es möglich die Parameter „Präfix“ und „Startdatum“ zu kombinieren.

 

Dateien:

Für 32Bit und 64Bit Office Versionen

Erstellung von benutzerdefinierten Zählern

ab A97

Die Zip-Datei enthält ein Version für A97 und eine ab A00

 

Datum 05.02.2018
Dateigröße 137.58 KB
Download 5.148

 

 

Ähnliche Artikel