VB6: Namen mehrerer Textfelder gleichzeitig auslesen

Dieses Thema VB6: Namen mehrerer Textfelder gleichzeitig auslesen im Forum "Webentwicklung, Hosting & Programmierung" wurde erstellt von BenC, 9. Sep. 2004.

Thema: VB6: Namen mehrerer Textfelder gleichzeitig auslesen Hallo, ich habe auf einer Form 3 Textfelder (txtAN, txtCC, txtBCC). Mit dem Code werden alle Textfelder auf den...

  1. Hallo,

    ich habe auf einer Form 3 Textfelder (txtAN, txtCC, txtBCC).
    Mit dem Code werden alle Textfelder auf den Inhalt hin untersucht und der Name des Textfeldes wird ausgelesen und in
    einer Label ausgegeben. Wenn ich im jeweils einem Textfeld einen Wert stehen habe, dann klappt alles sehr gut.
    Sobald ich z.B. in den Textfeldern txtAN und gleichzeitig txtCC stehen habe, dann wird nur der Name des Textfeldes txtAN angezeigt und nicht
    beide gemeinsam (txtANtxtCC).
    Frage:
    Wie müsste der Code geändert werden, damit der Name (siehe BoxName) der Textfelder erscheint, in denen ein Wert steht (z.B. txtCCtxtBCC usw.)?

    'Hier ein Ausschnitt meines Codes

    Dim iAN As Integer, iCC As Integer, iBCC As Integer
    Dim spAN() As String, spCC() As String, spBCC() As String
    Private Textfelder As New Collection

    spAN = Split(Me.txtAN.Text, ;)
    spCC = Split(Me.txtCC.Text, ;)
    spBCC = Split(Me.txtBCC.Text, ;)

    'Befüllen der Collection
    With Textfelder
    .Add txtAN
    .Add txtCC
    .Add txtBCC
    End With


    Dim C As Control
    Dim BoxName As String
    BoxName =
    For Each C In Textfelder
    If C.Text <> And InStr(1, C.Text, @) > 0 Then
    BoxName = C.Name
    Exit For
    End If
    Next
    lbltest.Caption = BoxName


    Danke für alle Tipps im Voraus.

    mfg
    BenC
     
  2. Hi

    Versuch es mal so:
    Code:
    Dim C As Control
    Dim BoxName As String
    BoxName = 
    For Each C In Textfelder
    If C.Text <>  And InStr(1, C.Text, @) > 0 Then
    BoxName = BoxName & C.Name
    End If
    Next
    lbltest.Caption = BoxName
    Mfg Alexander
     
  3. Hallo,

    Jetzt klappt zwar alles, aber nur wenn ich in den jweiligen Textfeldern NUR einen Eintrag stehen habe. Ich habe aber noch etwas vergessen zu erwähnen.
    Ich verwende bei mir ja die Ausdrücke,
    spAN = Split(Me.txtAN.Text, ;)
    spCC = Split(Me.txtCC.Text, ;)
    spBCC = Split(Me.txtBCC.Text, ;)

    da in den Textfeldern mehr als einen Eintrag stehen könnte (z.B. mail@jemand.de; empf@ger.com; irgend@was.at;).

    Hättest Du eine Idee, wie den bisherigen Code mit oben erwähnten Code kombinieren kann, damit in allen Fällen (ein Wert oder mehrere Werte) auch alles klappt.

    Dim iAN As Integer, iCC As Integer, iBCC As Integer
    Dim spAN() As String, spCC() As String, spBCC() As String
    Private Textfelder As New Collection

    spAN = Split(Me.txtAN.Text, ;)
    spCC = Split(Me.txtCC.Text, ;)
    spBCC = Split(Me.txtBCC.Text, ;)

    'Befüllen der Collection
    With Textfelder
    .Add txtAN
    .Add txtCC
    .Add txtBCC
    End With

    Dim C As Control
    Dim BoxName As String
    BoxName =
    For Each C In Textfelder
    If C.Text <> And InStr(1, C.Text, @) > 0 Then
    BoxName = BoxName & C.Name
    End If
    Next
    lbltest.Caption = BoxName

    Danke für alle Tipps im Voraus.

    mfg
    BenC


     
  4. Hi

    Das geht so:
    Code:
    Dim iAN As Integer, iCC As Integer, iBCC As Integer
    Dim spAN() As String, spCC() As String, spBCC() As String
    Private Textfelder As New Collection
    
    If InStr(1, Me.txtAN.Text, ;, vbTextCompare) > 0 Then
        spAN = Split(Me.txtAN.Text, ;)
    Else
        ReDim spAN(0) As String
        spAN(0) = Me.txtAN.Text
    End If
    If InStr(1, Me.txtCC.Text, ;, vbTextCompare) > 0 Then
        spCC = Split(Me.txtCC.Text, ;)
    Else
        ReDim spCC(0) As String
        spCC(0) = Me.txtCC.Text
    End If
    If InStr(1, Me.txtBCC.Text, ;, vbTextCompare) > 0 Then
        spBCC = Split(Me.txtBCC.Text, ;)
    Else
        ReDim spBCC(0) As String
        spBCC(0) = Me.txtBCC.Text
    End If
    
    'Befüllen der Collection
    With Textfelder
    .Add txtAN
    .Add txtCC
    .Add txtBCC
    End With
    
    Dim C As Control
    Dim BoxName As String
    BoxName = 
    For Each C In Textfelder
    ' Mit vbTextCompare ist es schneller
    If C.Text <>  And InStr(1, C.Text, @, vbTextCompare) > 0 Then
    BoxName = BoxName & C.Name
    End If
    Next
    lbltest.Caption = BoxName
    Mfg Alexander
     
Die Seite wird geladen...

VB6: Namen mehrerer Textfelder gleichzeitig auslesen - Ähnliche Themen

Forum Datum
Umbennen eines Ordners zum Namen "5d" geht nicht Windows 10 Forum 16. Mai 2016
CorelDraw übernimmt nicht mehr den Namen der Datei beim Abspeichern Software: Empfehlungen, Gesuche & Problemlösungen 30. Juni 2015
Dateinamen einfügen mit VBA Microsoft Office Suite 19. Aug. 2014
Tastatur reagiert nicht nach Neueinrichtung von Windows 7 bei Benutzernamen eingeben Windows 7 Forum 9. Aug. 2014
Netzwerknamen in Windows8.1 ändern Windows 8 Forum 17. März 2014