MS-Office-Forum

Zurück   MS-Office-Forum > Microsoft Access & Datenbanken > Microsoft Access - Code Archiv
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads
Themen-Optionen Ansicht
Alt 05.12.2006, 14:04   #1
Zuri
MOF Profi
MOF Profi
Standard Codebeispiel - Trenne Text von Zahlen

Hallo zusammen,

ist ja auch schön öfters mal gefragt worden:

Code:

Function TrenneTextZahl(InText As String, inModus As String) As String

'Modus 'Z' liefert die Zahl
'    'T' liefert den Text

Dim I, n As Integer
Dim OutStr As String
Dim c As String


n = Len(InText)
OutStr = ""

For I = 1 To n
c = Mid(InText, I, 1)
If IsNumeric(c) Then
If inModus = "Z" Then
OutStr = OutStr & Mid(InText, I, 1)
End If
Else
If inModus = "T" Then
OutStr = OutStr & Mid(InText, I, 1)
End If
End If
Next

TrenneTextZahl = OutStr

End Function
Viele Grüße

Zuri

Zuri ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 05.12.2006, 15:48   #2
Anne Berg
MOF Guru
MOF Guru
Standard

Huch, seit wann kann denn hier jeder Benutzer seinen Code einfach so einstellen?
War das nicht mal anders oder verwechsle ich das mit dem Testzentrum?

Ich meine, solche Code-Beispiele sollten schon Muster-Character haben und die Grundvoraussetzungen erfüllen, wie z.B. schön formatiert, gut kommentiert und eine Kurzbeschreibung zu Sinn und Zweck und Handhabung enthalten - oder sehe ich das falsch? (nichts für ungut, Zuri )

Im übrigen würde ich erwarten, dass eine solche Funktion den Rückgabewert im passenden Format liefert, also nicht nur String.

... und Integer ist vielleicht auch nicht das optimale Zahlenformat.

__________________

Liebe Grüße
Anne
Anne Berg ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 05.12.2006, 21:14   #3
Zuri
Threadstarter Threadstarter
MOF Profi
MOF Profi
Standard

Hallo zusammen,

Anne hat Recht. Ich sollte erklären, wozu das Ganze überhaupt gut ist. Es geht darum, aus einer Zeichenkette Zahlen und Buchstaben heraustrennen zu können. In der Praxis kann man dieses z. B. sehr gut anweden, wenn man aus Artikelnummern bestimmte Werte rausfiltern will. Es gibt sehr viele Artikelnummern die nicht auschließlich nummerisch oder nur alphabetisch sind. Viele Artikelnummern sind z. B. alphanummerisch wobei hier z. B. die Buchstaben an vollkommen unterschiedlichen Stellen vorkommen können.

Ein Beispiel aus der Praxis:

Ihr habt unterschiedlich lange alphanummerische Artikelnummern für PKW Lenkungsteile. Die Buchstaben die an einer beliebigen Stelle in der Zeichenkette stehen identifizieren das Fahrzeug. Ihr wollt nun die Buchstaben heraus trennen, weil Ihr in der Artikelbezeichnung gerne noch hinter dem Wort Querlenker das Fahrzeug schreiben wollt. Dafür braucht Ihr aber als Grundlage nur die Buchstaben in einer extra Spalte.

Das Ganze funktioniert dann über eine Aktualisierungsbfrage in einer neuen leeren Spalte:

TrenneTextZahl([Spaltenname];"T")

Das geht dann natürlich genauso mit den Zahlen, wenn man diese haben will:

TrenneTextZahl([Spaltenname];"Z")

@Anne,

das ist ein Beispiel aus meiner Berufspraxis. Wenn Du die Zahlen als Double haben willst, gehen Dir die Nullen verloren, die eventuell durch das Trennen in die erste Position rutschen. Außerdem hast Du in den Artikelnummern keine Nachkommastellen. Deshalb werden die Werte als Integer angegeben.

Ansonsten hat Anne natürlich Recht, wenn Sie sagt, dass man generell alles schön als Double formatieren sollte, weil sonst die Nachkommastellen verloren gehen.

Aber in diesem Beispiel ist das nicht der Fall, weil es um Artikelnummern (Zeichenkette) geht.

@MOF-Team,

ich würde ja Anne gerne den Gefallen tun und das Ganze noch schön formatieren. Aber ich komme ja im Nachhinein jetzt nicht mehr an das Codebeispiel heran? Aber das ist glaube ich auch nicht ganz so wichtig. Nach dem Kompilieren funktioniert die Funktion einwandfrei.

Ich wünsche allen viel Spaß beim Ausprobieren.

Viele liebe Grüße aus Berlin

Zuri


Geändert von Zuri (05.12.2006 um 22:56 Uhr).
Zuri ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 05.12.2006, 21:29   #4
Anne Berg
MOF Guru
MOF Guru
Standard

Nur mal so und ganz spontan reagiert:

ich meinte nicht Double sondern Long als empfehlenswerte Integer-Alternative.

Ansonsten ist natürlich klar, dass die Funktion "TrenneTextZahl" Zeichenketten oder Zahlen aus Textstrings extrahieren soll - fragt sich nur, ob "vorne-mitte-hinten" - bzw. wo die gesuchten Daten sich zu befinden haben bzw. wo sie gesucht und gefunden werden.

... das ist mir nicht klar bzw. das wurde nicht deutlich genug hervorgehoben.

__________________

Liebe Grüße
Anne

Geändert von Anne Berg (05.12.2006 um 21:36 Uhr).
Anne Berg ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 05.12.2006, 21:36   #5
Zuri
Threadstarter Threadstarter
MOF Profi
MOF Profi
Standard

Hallo Anne,

das ist ja gerade das Problem. Man kann doch z. B. auch Artikelnummern verschiedener Hersteller haben. Diese sind dann nicht alle gleich nach einem logischen Prinzip aufgebaut.

Die Daten können in der Zeichenkette überall stehen. Es ist vollkommen egal ob z. B. die Zahlen oder Buchstaben vorne, hinten oder in der Mitte stehen. Die Funktion trennt diese in eine extra Spalte.

Viele liebe Grüße

von

Zuri

Zuri ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 05.12.2006, 22:15   #6
Zuri
Threadstarter Threadstarter
MOF Profi
MOF Profi
Standard

Hallo Anne,

ich sehe gerade das wir hier ja schon eine Richtlinie zum Thema Code-Archiv haben.

Hier der Link dazu:

http://ms-office-forum.net/forum/sho...d.php?t=114449

Viele liebe Grüße

Zuri


Geändert von Zuri (05.12.2006 um 22:26 Uhr).
Zuri ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 06.12.2006, 10:21   #7
TommyK
MOF Meister
MOF Meister
Standard

Hallo,

hab mal ein paar Codes zum Manipulieren von Strings in einer kleinen
Bsp-DB zusammengefasst.
Ich hoffe das ist dann etwas leicht verständlicher als nur der reine Code.
Enthalten ist:
1. zuri's Code zum Trennen von Text und Zahlen
2. Zählen von Wörtern
3. andere Lösung zum extrahieren von Text und Zahlen
4. Löschen von beliebigen Zeichen aus einem String

Viel Spass
Angehängte Dateien
Dateityp: zip tk_String00.zip (15,9 KB, 215x aufgerufen)

__________________

Gruss TommyK

TKSoft-Online | Beispiele im MOF Code-Archiv
Meine Software:Windows 10 Pro 64Bit, Windows 7 Ultimate 64Bit, Office 2007 Pro SP2, Office 2010 Pro, Office 2013 Pro, Office 2016 Pro, Office 2019 Pro, VB6 Pro SP6, VS2017

Geändert von TommyK (06.12.2006 um 12:01 Uhr).
TommyK ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 06.12.2006, 12:20   #8
tornado
MOF Koryphäe
MOF Koryphäe
Standard

uups, da habe ich wohl mit meiner Fragerei was angerichtet...

tornado

__________________

Kaum macht man's richtig, funktionierts
tornado ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:09 Uhr.



Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

Copyright ©2000-2018 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günter Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.