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
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.
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
Ähnliche Artikel
Weiterlesen...