MS-Office-Forum

Zurück   MS-Office-Forum > Archive > Microsoft Access - Archiv > Microsoft Access - Archiv (2001)
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads
Themen-Optionen Ansicht
Alt 14.06.2001, 07:55   #1
Bernhard092
Standard Feldinhalt teilen

Hallo,

folgendes Problem:

Feld1: test.domain.de

daraus bräuchte ich:
Feld2: domain.de
feld2: test

Wie kann ich das mit VBA lösen ?

Danke für Tips

Gruß

Bernhard
 
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 14.06.2001, 09:17   #2
FW
MOF Meister
MOF Meister
Standard

... sieht der Feldinhalt immer so aus: xxxxx.yyyyy.zzzzz oder möchtest Du die letzten zwei, durch Punkt getrennte Zeichenfolgen herausfiltern?
FW ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 14.06.2001, 09:52   #3
Morli
MOF Koryphäe
MOF Koryphäe
Standard

Hallo Bernhard,

z.B. die folgenden Zeilen:

Feld2 = Left(Feld1, InStr(1, Feld1, ".") - 1)
Feld3 = Right(Feld1, Len(Feld1) - InStr(1, Feld1, "."))
liefern für Feld2: test
und für Feld3: domain.de

Gruß

Rainer

__________________

SQL-Server/Access2010/WinXP
Morli ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 14.06.2001, 10:44   #4
A.S.
Standard

Hallo Bernhard,

siehe dazu auch unter FAQ 2.20 Feldinhalte nachträglich trennen

Gruß

Arno
 
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 17.06.2001, 14:02   #5
A.S.
Standard

on top....
 
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 17.06.2001, 15:44   #6
bmaendle
Neuer Benutzer
Neuer Benutzer
Standard

Hallo FW,

ich brauche immer die beiden lezten, mit einem Pukt getrennten Wörter.

Gruß

Bernhard
bmaendle ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 17.06.2001, 16:08   #7
FW
MOF Meister
MOF Meister
Standard

... also, für alle, die vor dem Problem stehen, aus einem String, in dem durch ein bestimmtes Zeichen getrennte Begriffe stehen all diese Begriffe herauszufiltern, folgende Routine:

Code:

Public Function varParseString(ByVal strStringToParse As String, ByVal strSeparator As String) As Variant
  Dim lngCount As Long, lngPos As Long
  Dim strArray() As String

  strStringToParse = Trim$(strStringToParse)
  lngPos = InStr(strStringToParse, strSeparator)
  Do While lngPos
    lngCount = lngCount + 1
    ReDim Preserve strArray(1 To lngCount)
    strArray(lngCount) = Trim$(Left$(strStringToParse, lngPos - 1))
    strStringToParse = Trim$(Mid$(strStringToParse, lngPos + 1))
    lngPos = InStr(strStringToParse, strSeparator)
  Loop
  If strStringToParse <> "" Then
    lngCount = lngCount + 1
    ReDim Preserve strArray(1 To lngCount)
    strArray(lngCount) = Trim$(strStringToParse)
  End If
  If lngCount Then
    varParseString = strArray
  Else
    varParseString = Null
  End If
End Function
Die Funktion ist vom Typ VARIANT, welcher ggf. auch als ARRAY benutzt werden kann.

Hier der Beispielcode:

Code:

Dim varFeld As Variant
Dim lngAnzahl as Long, lngVar as Long

varFeld = varParseString("abc|def|ghi","|")
lngAnzahl = UBound(varFeld)
For lngVar = 1 To lngAnzahl
Debug.Print varFeld(lngVar)
Next lngVar
Im Debug-Fenster sollte folgendes erscheinen:

abc
def
ghi

Du Bernhard müßtest als zweiten Parameter "." übergeben und nur die letzten zwei Elemente auswerten:

varFeld = varParseString("test.domain.de",".")
lngAnzahl = UBound(varFeld)
For lngVar = lngAnzahl - 1 To lngAnzahl
Debug.Print varFeld(lngVar)
Next lngVar

liefert Dir dann "domain" und "de", die Du wieder mit "." verknüpfen kannst.
Ansonsten kannst Du diesen Code auf Deine Bedürfnisse anpassen oder ihn als Inspiration für eigene Routinen verwenden.

Alles klar?

Frank
FW ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 17.06.2001, 18:20   #8
bmaendle
Neuer Benutzer
Neuer Benutzer
Standard

Hallo Frank,

danke für das Listing.

Wie kann ich die Verknüpfung zwischen Domain und de herstellen ? Ich komme nicht klar, welche Variablen du in der Schleife damit belegst..

Danke
bmaendle ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 18.06.2001, 11:47   #9
FW
MOF Meister
MOF Meister
Standard

... in Deinem Beispiel:

Feld = varFeld(lngAnzahl - 1) & "." & Feld = varFeld(lngAnzahl)

Alles klar?

Frank
FW 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 10:21 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.