Office: (Office 2016) Automatische Nummerierung mit Jahr

Helfe beim Thema Automatische Nummerierung mit Jahr in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, ich muss eine Beanstandungsnummer automatisch vergeben. Diese soll nach dem folgenden Format sein. Jahr + 001 z.B. 19001. Am Anfang... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Maltes, 2. Juli 2019.

  1. Automatische Nummerierung mit Jahr


    Hallo zusammen,

    ich muss eine Beanstandungsnummer automatisch vergeben. Diese soll nach dem folgenden Format sein. Jahr + 001 z.B. 19001. Am Anfang jedes Jahres soll wieder mit 001 angefangen werden.
    Ich habe es in VBA versucht leider Ohne Erfolg. Das Feld welches gefüllt werden soll heißt abwBeanstandungsID die Tabelle tblAbweichungen
    Im Formular frmAbweichungenEintragen habe ich in einem Textfeld die Aktion nach Update so eingetragen. Leider funktioniert es nicht könnt ihr mir helfen?

    PHP:
             Private Sub abwMelder_AfterUpdate()
    If 
    Not Me.NewRecord Then
    DoCmd
    .GoToRecord , , acNewRec
    If CLng(Left(DMax("abwBeanstandungsID""tblAbweichungen"), 2)) < Mid(CLng(Year(Date)), 3Then
    Me
    !RechnungsNr Mid(Year(Date), 3) & "001"
    Else
    If 
    Left(Mid(Year(Date), 3), 1) > 0 Then
    Me
    !abwBeanstandungsID Mid(Year(Date), 3) & _
    Mid
    (Format(DMax("abwBeanstandungsID""tblAbweichungen") + 1"00"), 3)
    Else
    Me!abwCharge Mid(Year(Date), 3) & _
    Mid
    (Format(DMax("abwBeanstandungsID""tblAbweichungen") + 1"00"), 2)
    End If
    Exit 
    Sub
    End 
    If
    Else
    If 
    Me.Recordset.RecordCount 1 Then
    Me
    !abwBeanstandungsID Mid(Year(Date), 3) & "001"
    DoCmd.RunCommand acCmdSaveRecord
    End 
    If
    End If
    End Sub
    :)
     
    Maltes, 2. Juli 2019
    #1
  2. Code:
     
    hcscherzer, 3. Juli 2019
    #2
  3. Hallo Hans-Christian,

    habe das Prinzip auch schon oft gebraucht, aber noch nie so einfach umgesetzt.
    Eine fast einzeilige Lösung *Smilie sehr schön!
     
    Kyron9000, 4. Juli 2019
    #3
  4. Automatische Nummerierung mit Jahr

    Hallo,
    ich würde noch einen Schritt weiter gehen und die komplette abwBeanstandungsID nicht in der Tabelle speichern, sondern nur die LfdNr selbst.
    Die abwBeanstandungsID setzt man sich dann in einer Abfrage zusammen. Die Regel, dass man berechnete Felder nicht in einem Tabellenfeld speichert gilt auch für ein solches Feld.
    Die LfdNr wird dann bei einem neuen Datensatz berechnet:
    Code:
    In einer Abfrage dann:
    Code:
    Mit Datumsfeld ist das Datum in der Tabelle "tblAbweichungen" gemeint.
    Das Feld abwBeanstandungsID kann dann in der Tabelle ersatzlos gelöscht werden, es gibt nur das Feld "LfdNr" in der Tabelle.
     
    gpswanderer, 4. Juli 2019
    #4
  5. ..@Klaus, das würde mir aber eine Schritt zu weit gehen...
    Wenn das z.B. ein RG Nr ist,... der kleinste Fehler würde die gesamte Buchhaltung über den Haufen werfen.
    Mache ich nicht, ich speicher diese Nr auch...
    für Sicherheit! Das ist es mir Wert.
     
    Kyron9000, 4. Juli 2019
    #5
  6. \@Alfred
    ich persönlich würde da mein Vorschlag für zuverlässiger halten.
    Der Code gehört eigentlich in das Ereignis "Nach Aktualisierung" des Datumsfeldes. Und die Prüfung auf einen neuen Datensatz sollte entfallen. Habe ich oben noch geändert. Dadurch stimmt die LfdNr immer, auch wenn man sich im Datumsfeld mal vertippt hat. Die in der Abfrage erzeugte "abwBeanstandungsID" stimmt immer, automatisch.
    Bei einer Rechnungsnummer könnte das anders aussehen.
     
    gpswanderer, 4. Juli 2019
    #6
  7. Hallo Hans-Christian,

    vielen Dank erstmal für eure Hilfe. ich habe nun deine Function ind das Modul modAllgemein gespeichert.
    Code:
    Danach habe ich eine Klasse mit dem Namen clslfdnr erstellt und folgendes dort gespeichert.
    Code:
    Leider kommt dann folgender Fehler. Fehler beim Kompilieren Erwarte Anweisungsende. Woran liegt das? Muss ich danach noch etwas machen?
     
    Maltes, 4. Juli 2019
    #7
  8. Automatische Nummerierung mit Jahr

    Falls du es noch nicht bemerkt hast - wir sind hier bei VBA.
    Da musst du auch die Sprachkonventionen von VBA einhalten und nicht irgend etwas schreiben.

    Klassen - Das VBA-Tutorial

    Übrigens würde ich das so lösen.
    Einfacher und effizienter:
    Code:
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    markusxy, 4. Juli 2019
    #8
  9. Da gibt es verschiedene Meinungen. Meine ist hier in der Form auch noch nicht formuliert worden.
    Effizient würde ich hier nicht an der Ermittlung der Nummer festmachen, bei einem Einzelwert bezogen auf die 257 Datensätze ist das praktisch Wurscht.
    Wichtiger wäre dann die nachfolgende Verwendung dieser Nummer, wenn es dann ein paar Datensätze mehr werden können und man Operationen über alle benötigt.

    Aber auch: Eine Nummer rein aus Ziffern würde ich als Zahl einführen statt als Text. Noch immer basiert alles auf einem Binärsystem, und also kann der Rechner mit Zahlen besser umgehen als mit Texten. Daran anlehnen könnte man dann auch mathematische Berechnungen statt Textverarbeitung, um ein Hin- und Herkonvertieren auszuschließen.

    In komplexeren und datenreicheren Anwendungsfällen wird man dann auch recht schnell dazu kommen, statt Datenkonglomerate atomare Einzelinformationen zu verwenden. Zusammensetzen (& oder +) ist einfach und wird praktisch immer beherrscht, das Auseinandernehmen bei etwas variableren Strukturen ist dann für viele schon ein Problem, und wenn man dann noch eine Indexnutzung für nötige intensivere Verwendung ins Spiel bringen wollte, ...
     
    ebs17, 4. Juli 2019
    #9
  10. Natürlich habe ich es bemerkt.
    Du musst bedenken das ich noch nie mit vba function usw. noch nicht gearbeitet habe. Daher fehlt mir noch einiges an Handwerkszeug. Dieses versuche ich mir gerade anzueignen.
    Also könntest du mir bitte helfen wie ich die function genau verwenden muss?
    Ich weiß das es bestimmt nervig ist aber du würdest mir damit sehr helfen.
     
    Maltes, 4. Juli 2019
    #10
  11. Hallo,
    Hast Du Dich mal mit meinem Vorschlag in #4 beschäftigt?
    In das gleiche Horn bläst auch Eberhard (ebs17).
     
    gpswanderer, 4. Juli 2019
    #11
  12. Sieh dir einfach den Link aus meinem letzten Kommentar an.
    Da wird das ausführlich erklärt.

    Da du ja bereits etwas Erfahrung im Coden hast, wirst du dich da schnell zurecht finden.
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    markusxy, 4. Juli 2019
    #12
  13. Automatische Nummerierung mit Jahr

    \@ Klaus:

    Ja habe ich. Dann bekomme ich leider Syntax Fehler
    Im Anhang sind zwei Bilder die zeigen wie ich es eingebaut habe.
     
    Maltes, 4. Juli 2019
    #13
  14. Hallo,
    Es könnte sein, dass es helfen würde, wenn Du den Fehler zitierst.

    Was soll die lapidare Aussage "Syntaxfehler" helfen ? *rolleyes.gif*
     
    gpswanderer, 4. Juli 2019
    #14
  15. Moin Klaus,

    wenn ich mich rechterinnere gibt der VBE nix konkreteres aus, wenn er einen Syntaxfehler wirft. So wie ich das überblicken kann, fehlt ein kaufmännisches und vor Year(Date).
    Viele Grüße
    derHöpp
     
    derHoepp, 4. Juli 2019
    #15
Thema:

Automatische Nummerierung mit Jahr

Die Seite wird geladen...
  1. Automatische Nummerierung mit Jahr - Similar Threads - Automatische Nummerierung Jahr

  2. Automatische Nummerierung Excel, wenn in Nachbarzelle bestimmter Wert

    in Microsoft Excel Hilfe
    Automatische Nummerierung Excel, wenn in Nachbarzelle bestimmter Wert: Hallo, ich möchte in Excel eine Tabelle anlegen, in welcher in der Spalte ab Zelle A4 automatisch nummeriert wird und sich die Nummerierung automatisch anpasst, wenn eine neue Zeile eingefügt...
  3. Automatische Nummerierung Kapitel gemischt

    in Microsoft Word Hilfe
    Automatische Nummerierung Kapitel gemischt: Hallo, ich versuche gerade eine Textdatei zu formatieren und würden gerne unterschiedliche Abschnitte mit großen römischen Zahlen durchgehend nummerieren. Innerhalt der Abschnitte möchte ich...
  4. Tabellenspalte mit automatischer Nummerierung immer zu schmal

    in Microsoft Word Hilfe
    Tabellenspalte mit automatischer Nummerierung immer zu schmal: Hallo zusammen, angenommen, man hat in Microsoft Word eine Tabelle mit mehreren Spalten und Zeilen. Die erste Spalte sei leer. Man formatiert die erste Spalte mit der standardmäßigen...
  5. Automatische Nummerierung

    in Microsoft Excel Hilfe
    Automatische Nummerierung: Hallo zusammen, mein heutiges Problem ist schnell erklärt. Ich möchte eine fortlaufende Nummerierung in B erschaffen, die dann immer wieder mit "1" beginnt, wenn sich der Wert in A ändert. In...
  6. Automatische Nummerierung einzelner Wörter in Fliesstext

    in Microsoft Word Hilfe
    Automatische Nummerierung einzelner Wörter in Fliesstext: Hallo liebe Word-User Ich habe mich im Forum angemeldet, da ich momentan meine Abschlussarbeit schreibe und eine gewünschte Funktion nach längerem googlen und ausprobieren leider nicht gefunden...
  7. Aktivieren oder Deaktivieren automatischer Aufzählungen und Nummerierungen

    in Microsoft Word Tutorials
    Aktivieren oder Deaktivieren automatischer Aufzählungen und Nummerierungen: Aktivieren oder Deaktivieren automatischer Aufzählungen und Nummerierungen Word für Microsoft 365 Word 2019 Word 2016 Word 2013 Word 2010 Mehr......
  8. Word 2013 - automatische Nummerierung in Tabellen

    in Microsoft Word Hilfe
    Word 2013 - automatische Nummerierung in Tabellen: Hallo Forum, auf meiner beschwerlichen Suche nach einer Lösung zu folgendem Problem wurde ich leider nicht fündig. Daher möchte ich es auf diesem Wege versuchen. Also was habe ich vor? Ich...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden