Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

seltsamen Feldinhalt trennen





Frage

Hallo zusammen, ich habe einen Feldinhalt den ich trennen möchte, um eine Aktualisierungsabfrage auszuführen. Das Feld siehe wie folgt aus: [b]80009-258-000002[/b] Der erste Ziffernblock ist immer fünfstellig, der dritte Ziffernblock ist immer sechsstellig; der mittlere kann ein-, zwei- oder dreistellig sein. Ich möchte nun die erste „0“ des dritten Ziffernblocks gegen eine „2“ austauschen. [i]ID3: Rechts([ID];InStr([ID];"-"))[/i] = 000002 soweit OK [i]ID2: Links([ID];InStr([ID];"-"))[/i] = 80009- Nur wie erreiche ich den Feldinhalt bis zum zweiten „ – „ ??? Wie gesagt der mittlere Teil kann ein-, zwei- oder dreistellig sein, ich kann somit also keine feste Position angeben. Diese seltsame Zahlenkombination wird von einer Access-basierenden ERP-Software erstellt und über eine Anfügeabfrage in eine „reine“ Access-DB übernommen, d.h. die Zahl muß ich also so hinnehmen. Lösungsansätze werden liebend gern entgegengenommen. Gruß oliver

Antwort 1 von charlie haas

Hey,

empfehle dir für solch komplexe Fragen www.ms-office-forum.de
Da gibt es ein umfangreiches Archiv zum suchen und jede Menge Access-Guru´s.

MfG

Charlie

Antwort 2 von Teddy7

Hallo Oliver !
Es gibt eine Funktion mid.
Beispiel Text = "Hugo"
mid(text,2,3) ergibt "ugo"
also mid(text,Startposition,Länge)

In Deinem Fall könnte das so funktionieren:
XSTART: InStr(1;ID;"-")+ 1
XLEN: InStr(XSTART + 1;ID;"-") - XSTART + 1
ID4: mid(ID;XSTART;XLEN)

oder so ähnlich - probier´s mal aus.
Gruß
Teddy


Antwort 3 von Sir_Hilly

mitte=mid(id,7,(7 + (len(id)-13)))

Gruß

Antwort 4 von Sir_Hilly

ups so stimmts:

mitte=mid(id,7,(len(id)-13))

Gruß



Antwort 5 von struppi

Hallo,
Da die Funktion scheinbar für eine Abfrage gebraucht wird, will ich sie mal gleich richtig hier rein schreiben.
Bei Kommas gibts da wieder Fehler....


neuID: Links([id];Länge([id])-6) & "2" & Rechts([id];5)


gruß struppi

Antwort 6 von Koebi

Bravo struppi

Man sieht schon, Du bist kein "Linker" sondern tendierst schwer nach rechts.:-)

Gruss
Köbi

Antwort 7 von oliverV

Danke für die rege Anteilnahme.

Danke struppi, mit deiner Variante hat es geklappt, das erspart mit das manuelle Ändern von 1.400 Datensätzen zum Jahreswechsel.

Gruß
oliver

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: