Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Benutzerdefinierte Zähler mit Zusatz
zurück: Adressen DB mit Filterung/Sortierung und Office Automatik weiter: beliebigeArbeitsgruppeninformationsdatei beim Starten laden. Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Tutorial Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
uliwak
Fortgeschritten(?) ohne VBA


Verfasst am:
14. Nov 2006, 14:10
Rufname:

Benutzerdefinierte Zähler mit Zusatz - Benutzerdefinierte Zähler mit Zusatz

Nach oben
       Version: Office 2k (2000)

Hallo zusammen
Habe einen Quellcode aus diesem Forum überarbeitet (UniCounter) und mit Zusätzlichen Optionen versehen:
Der Zähler, der als Text ausgegeben wird, kann nun mit führenden Buchstaben versehen werden.
Sinn des Ganzen:
Wer Datenbanken mit Bestellungen, Aufträgen, Lieferscheinen usw. programmiert, sieht sich oft gezwungen, seperate aber eindeutige Nummernzirkel zu generieren, über die hinterher gefiltert werden kann, aber in sich geschlossen sind.
Also z.B. B06-001 für Bestellungen und A06-001 für Aufträge.
Der Quellcode für das Modul:
Code:
Option Compare Database
Option Explicit

Public Function UniCounter(intNoLen As Integer, strTabName As String, _
                           strFeldName As String, intArt As Integer, _
                           intType As Integer, boolStart As Boolean, _
                           boolAlign As Boolean, _
                           Optional strArg As String = "-", _
                           Optional strArg2 As String = "") As String
'*******************************************
'Name:      WeekCounter (Function)
'Purpose:   Erstellt einen benutzerdefinierten Tageszähler +
'           mit Führungszeichen
'Author:    Tommyk
'Date:      November 27, 2003, 04:03:35
'Änderung   UliK, 14.11.2006
'Inputs:    intNoLen=Anzahl der Zählerstellen,
'           strTabName= Name der Tabelle des Zählers,
'           strFeldName=Name des Zählfeldes,
'           boolStart= Beginn des Zählers (True bei 1, False bei 0),
'           boolAlign=Ausrichtung des Zählers (True Zähler Rechts,
'                                              False Zähler Links),
'           strArg=Trennzeichen Standard "-"
'           strArg2=Datumstrennzeichen Standard ""
'           intType= DatumsTyp, 1=Tage (yymmdd), 2=Tage (ddmmyyyy),
'                               3=Tage (ddmmyyyy formatiert),
'                               4=Woche (wwyyyy formatiert)
'                               5=Monat (mmyyyy formatiert),
'                               6=Jahr (yyyy)
'Output:    benutzerdefinierten Zähler
'Example:   Standardwert des Zählfeldes im Form: z.B.
'           UniCounter(3;"tbl_Test";"Zaehler_ID";1;3;True;True;"-";".")
'*******************************************
On Error GoTo ErrHandler
    Dim strBedingung As String
    Dim strNo As String, strDate As String
    Dim strMax, intLenStr As Integer
    Dim strAlignment As String
    Dim strArt As String
   
    ' Ermitteln des ersten Zeichens wie zb "B" für Bestellung -uliwak
    Select Case intArt
      Case Is = 1 ' Bestellung
        strArt = "B"
      Case Is = 2 ' Auftrag
        strArt = "A"
      Case Is = 3 ' Wareneingang
        strArt = "E"
      Case Is = 4 ' Lieferschein
        strArt = "L"
      Case Is = 5 ' Einkauf Rechnung
        strArt = "EKR"
      Case Is = 6 ' Verkauf Rechnung
        strArt = "R"
      Case Else
      GoTo ExitHere
    End Select
    ' Ermitteln des Datumformates
    Select Case intType
      Case Is = 1     'Tageszähler1
        strDate = Format(Date, "yymmdd")
      Case Is = 2     'Tageszähler2
        strDate = Format(Date, "ddmmyyyy")
      Case Is = 3     'Tageszähler3
        strDate = Format(Date, "dd") & strArg2 & Format(Date, "mm") & _
                  strArg2 & Year(Date)
      Case Is = 4     ' Wochenzähler
        strDate = Format(Date, "ww") & strArg2 & Year(Date)
      Case Is = 5     ' Monatszähler
        strDate = Format(Date, "mm") & strArg2 & Year(Date)
      Case Is = 6     ' Jahreszähler
        strDate = Year(Date)
      Case Is = 7     ' Jahreszähler mit Argument
        strDate = strArt & Format(Date, "yy")
      Case Else
        GoTo ExitHere
    End Select
    ' Festlegen ob Zähler Rechts oder Links
    If boolAlign = True Then
        strAlignment = "LEFT"
      Else
        strAlignment = "RIGHT"
    End If
    ' Länge des Datumstrings
    intLenStr = Len(strDate)
    ' Bedingung für den letzten Wert festlegen
    strBedingung = strAlignment & "([" & strFeldName & "]," & _
                   intLenStr & ")='" & strDate & "'"
    ' Letzen Wert suchen
    strMax = DMax(strFeldName, strTabName, strBedingung)
    If IsNull(strMax) Then
        ' Start mit 0 oder 1
        If boolStart = False Then
            strNo = String$(intNoLen, "0")
          Else
            strNo = String$(intNoLen - 1, "0") & "1"
        End If
      Else
        ' Zähler Links oder Rechts
        If boolAlign = True Then
            strNo = Right(strMax, intNoLen)
          Else
            strNo = Left(strMax, intNoLen)
        End If
        ' Zähler setzen
        strNo = Format$(Val(strNo) + 1, String$(intNoLen, "0"))
    End If
    ' Zählerstring zusammensetzen
    If boolAlign = True Then
        UniCounter = strDate & strArg & strNo
      Else
        UniCounter = strNo & strArg & strDate
    End If
       
ExitHere:
    Exit Function
ErrHandler:
    Dim strErrString As String
    strErrString = "Error Information..." & vbCrLf
    strErrString = strErrString & "Error#: " & Err.Number & vbCrLf
    strErrString = strErrString & "Description: " & Err.Description
    MsgBox strErrString, vbCritical + vbOKOnly, "Function: WeekCounter"
    Resume ExitHere
End Function
Funktionsweise erklärt sich durch die Angaben im Text (Der Programmierer TommyK hat das sehr gut dokumentiert)
    Den Code als Modul speichern
    Aufgerufen wird das Ganze im Feld über Standardwert, Ausdrucksgenerator, Funktion aus Modul aufrufen, Parameter setzen.
Hoffe, das hilft - mir hats geholfen bei meinem "Problem" Razz Rolling Eyes

_________________
Der Versuch, alles zu verstehen, scheitert an der Tatsache, dass der Betrachter nie alles sieht...
Willi Wipp
Moderator


Verfasst am:
17. Nov 2006, 01:18
Rufname:
Wohnort: Raum Wiesbaden


Re: Benutzerdefinierte Zähler mit Zusatz - Re: Benutzerdefinierte Zähler mit Zusatz

Nach oben
       Version: Office 2k (2000)

Hi uliwak,

schoene Variante.
Eine aktualisierte Variante von TommyK ist Erstellung von benutzerdefinierten Zählern

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Programmierung / VBA: Über ein Login benutzerdefinierte Formulare öffene 11 ichhabeinproblem 296 05. Dez 2012, 00:58
MissPh! Über ein Login benutzerdefinierte Formulare öffene
Keine neuen Beiträge Access Programmierung / VBA: benutzerdefinierte Ereignisse 4 Netmuggel 297 30. Aug 2012, 19:49
Louisleon benutzerdefinierte Ereignisse
Keine neuen Beiträge Access Programmierung / VBA: Zähler in einer Tabelle 7 VBAgutAccessschlecht 390 06. März 2012, 18:28
KlausMz Zähler in einer Tabelle
Keine neuen Beiträge Access Tabellen & Abfragen: Automatischer Zähler, mit Jahresbeginn automatisch mit 1 + J 1 rak52 494 14. Okt 2011, 17:47
Sonneschein Automatischer Zähler, mit Jahresbeginn automatisch mit 1 + J
Keine neuen Beiträge Access Tabellen & Abfragen: Zähler zurück setzen (AutoNumber) 2 BlackBoulevard 285 25. Mai 2011, 16:13
BlackBoulevard Zähler zurück setzen (AutoNumber)
Keine neuen Beiträge Access Berichte: Benutzerdefinierte funktion verwenden 4 Gast 395 10. Dez 2010, 14:33
Gast Benutzerdefinierte funktion verwenden
Keine neuen Beiträge Access Tabellen & Abfragen: Automatischer Zähler mit manueller Eingabe 8 besser werden Woller 483 14. Okt 2010, 08:57
KlausMz Automatischer Zähler mit manueller Eingabe
Keine neuen Beiträge Access Tabellen & Abfragen: Struktur für Zähler 2 Franky1112 695 14. Jun 2010, 14:28
Franky1112 Struktur für Zähler
Keine neuen Beiträge Access Programmierung / VBA: Zähler in UFO bei neuem Datensatz um 1 erhöhen 35 Tom_stgt 3143 05. Okt 2009, 12:40
Tom2000 Zähler in UFO bei neuem Datensatz um 1 erhöhen
Keine neuen Beiträge Access Tabellen & Abfragen: Brauche auto. Zähler in Tabelle mittels SQL o. DAO 19 Danny G. 5458 26. Jul 2009, 05:40
Willi Wipp Brauche auto. Zähler in Tabelle mittels SQL o. DAO
Keine neuen Beiträge Access Programmierung / VBA: Benutzerdefinierte Abfrage ausführen 0 Philipp_005 1299 03. Sep 2007, 09:43
Philipp_005 Benutzerdefinierte Abfrage ausführen
Keine neuen Beiträge Access Formulare: Benutzerdefinierte Formatierung eines Textfeldes? 2 Feuerpferd 691 20. Jul 2007, 12:33
Feuerpferd Benutzerdefinierte Formatierung eines Textfeldes?
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Expression Web