Zum Inhalt springen

Es werden immer die ersten beiden Ziffern abgeschnitten


Empfohlene Beiträge

Geschrieben

Hallo

Ich erstelle gerade eine DB für unsere Rechner in der Arbeit. Die untere Funktion dient dazu aus den Seriennummern der Rechner die Inventarnummer dazu zu generieren. Eine Seriennummer besteht immer aus folgendem Format XXXX000000.

Also die ersten 2 oder 4 Stellen (je nach Alter des PCs) bestehen aus Buchstaben, die darauffolgenden 0en sind Ziffern.

Leider schneidet mir der untere Quellcode automatisch die ersten beiden Ziffern ab. Ich hab keine Ahnung wieso.

SrNummer = [SerienNr_Rechner]


SrLaenge = Len(SrNummer)

TempSrNr = SrNummer

For i = 1 To SrLaenge

     TempStr = Left(TempSrNr, 1)

     If IsNumeric(TempStr) <> False Then

        InvNummer = TempSrNr

     Else

        TempSrNr = Mid(TempSrNr, i + 1)

     End If

Next i

[Inv_Nr] = InvNummer

Geschrieben

also bei mir bleiben dier ersten ziffern da.

sind es "0" die weggeschnitten werden?

wenn ja, gib dem mal ne andere zahl zum testen, also net XXXX00... sondern XXXX10...

ich denke, dass die datenbank die "0" am anfang der zahl selbst entfernt.

gruss

Geschrieben

Ich lese zuerst die Seriennummer aus der DB aus und verarbeitet sie dann später weiter.

Egal ob ich eine Seriennummer wie YBBB003344 oder YBBB334455 eingebe. Er schneidet die ersten beiden Ziffern nach den Buchstaben ab.

Habe gerade festgestellt dass er die ersten drei Durchgänge immer ganz normal arbeitet, d.h. er schneidet nacheinander jeweils einen Buchstaben ab. Erst ab dem 4. Durchgang schneidet er gleich 3 Zeichen auf einmal ab:

1. YBBB334455 -> BBB334455

2. BBB334455 -> BB334455

3. BB334455 -> B334455

4. B334455 -> 4455

Geschrieben

Das beschriebene Verhalten passt aber nicht zu deinem Code.

Diese Zeile

TempSrNr = Mid(TempSrNr, i + 1)
bewirkt, dass du bei jedem Durchlauf vorne ein Zeichen mehr abschneidest, d.h. beim ersten Durchlauf das erste, danach die ersten beiden usw. Das fällt nicht auf, wenn die Anzahl der führenden Buchstaben 1, 3 oder 6 ist. Aber in allen anderen Fällen schneidest du Zahlen mit ab. Um es kurz zu machen: Das muss entweder
TempSrNr = Mid(SrNummer, i + 1)
heißen, oder
TempSrNr = Mid(TempSrNr , 2)

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...