Neue Schadensnummer
#1
Hallo an alle.

Ich habe ein Schadensmeldungsprojekt, was auch wunderbar funktioniert.
Die Schadensnummern werden momentan fortlaufend erstellt.

Jetzt soll allerdings eine Änderung kommen, das die Schadensnummer ändert.

Neue Schadensnummer soll wie folgt aussehen: 0001-2025 (0001 fortlaufend)
Nächster schaden dann demzufolge                  0002-2025

Ist der Jahreswechsel, soll es dann wie folgt weitergehen: 0001-2026 (0001 fortlaufend)
Nächster schaden dann demzufolge                  0002-2026

Jetzt meine Frage, ob dass mit dem bestehenden Projekt so einfach umzusetzen ist.

Alleine über die Listbox die Schäden aufzurufen da bekomme ich schon Probleme

Danke für Eure Meinung bzw. Unterstützung

Bitte die Datei im Anhang in einen seperaten Ordner speichern, da einige Unterordner angelegt werden!


Angehängte Dateien
.xlsm   Schadensmeldung.xlsm (Größe: 251,94 KB / Downloads: 18)
Antworten Top
#2
(19.10.2025, 11:39)Andyle schrieb: Neue Schadensnummer soll wie folgt aussehen: 0001-2025 (0001 fortlaufend)
Nächster schaden dann demzufolge                  0002-2025

Moin!
Sehr viel sinnvoller wäre
20250001
im Zahlenformat
0000-0000
Die Folgenummer kann man dann sehr einfach mittels
=MAX(Schadensnummern)+1
errechnen.

Ich werde mir die Datei aber nicht ansehen, weil hier wohl eine umfangreiche Vorgeschichte besteht, in die ich mich nicht einarbeiten möchte.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#3
Die Schadensnummer an sich ist ja nicht das problem, sondern die Weiterverarbeitung.

If Tabelle1.Cells(.List(.ListIndex) + 1, 21) <> "" Then (Fehler)
bild1.Visible = True
Else
bild1.Visible = False
End If


Schadensnummer = Sheets("Schäden").Cells(Rows.Count, 1).End(xlUp) + 1 (Fehler)

Und da gibt es einige in dem Code.
Antworten Top
#4
Hallo,

schau mal in Summe berechnen #10.

Das hatte ich damals mit der Programmierung (vernünftig eingerückten Code ) auf Listobjekt abgestimmt. Das hat dich wohl nicht zum Nachdenken angeregt?
 
Gruß Uwe
Antworten Top
#5
(19.10.2025, 11:39)Andyle schrieb: Neue Schadensnummer soll wie folgt aussehen: 0001-2025 (0001 fortlaufend)
Nächster schaden dann demzufolge                  0002-2025

Ist der Jahreswechsel, soll es dann wie folgt weitergehen: 0001-2026 (0001 fortlaufend)

Lass die Daten in den Blättern wie sie sind und ändere die Schadensnummer nur visuell auf dem Bildschirm.

Der Unterschied der zu machen ist das bei der Suche/Generierung der nächsten Schadensnummer die Daten zuerst nach der Spalte "Datum Heute" zum entsprechenden Jahr gefiltert werden.
Und dann ermittelst Du nur in den sichtbaren Zellen die nächste Nummer, bzw. suchst danach.

Andreas.
Antworten Top
#6
visuell auf dem Bildschirm?

Dass wäre ohne Änderung schwierig.

Alle Daten müssen von uns als haustechniker als auch der Landesdirektion Sachsen nachvollzieber sein.

Die Kommunikation ist immer die Schadensnummer.
Antworten Top
#7
(19.10.2025, 16:52)Andyle schrieb: Dass wäre ohne Änderung schwierig.

Die Kommunikation ist immer die Schadensnummer.

Wenn Du sich irgendwas in einem Projekt änderst, dann ist es zwingend notwendig den Code / Formeln anzupassen.  Da kommst Du nicht drum herum.

Das ganze IO läuft doch via Userform, sprich die Daten selber bekommt der User nicht zu sehen. Von daher juckt es den User nicht, er sieht nur das was in der Form steht / ausgedruckt / exportiert wird.
Wenn die Daten wie sie sind beibehalten werden soll, dann ist dies der einfachste Weg.

Ansonsten kannst Du Dein Projekt in die Tonne tun und es neu schreiben, denn Du hast einen fundamentalen Fehler ganz am Anfang aus Unwissenheit gemacht:

Deine Schadensnummer ist eine ID, der Hauptschlüssel in Deiner Datenbank. Und Schlüssel die die fundamentale Funktion von Datenbanken organisieren benutzt man nur intern. Außerdem ist Deine ID eine Zahl, wird aber zu einem Text formatiert: 1 => "0001"

Mach Dir eine neue Spalte Schadensnummer dran, diese als Text formatiert und dort überführst Du die alten Zahlen korrekt als Text ala "0001". Deine alte Schadensnummer wird zu ID. So bleibt der Großteil Deines Codes gleich. Die diese neue Spalte kannst Du auch "Hugo" schreiben und Deine Datenbank funktioniert trotzdem.

Ist vielleicht einfacher...

Andreas.
Antworten Top
#8
Hallöchen,

(So gut wie) nichts ist unmööööglich .... In C1 hab ich das gesuchte Jahr. Die Daten in A müssen sortiert sein.

ABCDE
10001-202520250008-2025
20002-2025
30003-2025
40004-2025
50005-2025
60006-2025
70007-2025
80008-2025
90001-2026
100002-2026
110003-2026
120004-2026

ZelleFormel
E1=INDEX(SORTIEREN(A1:A12;1;-1);VERGLEICH("*"&TEXT(C1;"#");SORTIEREN(A1:A12;1;-1);0);1)
Verwendete Systemkomponenten: [Windows (64-bit) NT 10.00] / MS Excel 365
Diese Tabelle wurde mit Tab2Html (v2.7.2) erstellt. ©Gerd alias Bamberg

So was lässt sich auch mit VBA nachbilden. Ansonsten, wurde im Prinzip ja schon gesagt, verkomplizierst Du Dir mit dieser Datenhaltung Deine Arbeit und Auswertungen.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#9
Vielen Dank an alle für eure Vorschläge.

Ich habe jetzt eine neue Spalte gemacht, die die neue Schadennummer als extern erstellt.

die externen Schadennummern werden in der listbox mit aufgelistet und können auch spezifisch gesucht werden.
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste