vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevDataGrid - Gönnen Sie Ihrem SQL-Kommando diesen krönenden Abschluß!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
like in if 
Autor: I.V.
Datum: 19.10.18 10:09

Hallo Zusammen,

ich stehe mal wieder auf dem Schlauch..

Und zwar möchte ich prüfen, ob der Wert einer Variablen in einer anderen Variablen enthalten ist.
Irgendwie mache ich da heute nur ...

Ich habe die Variable intNr vom Typ Integer und die Variable strText.

intNr = 5
strtext = "3, 4, 5, 6"
 
if cstr(intNr) like "*" & strText & "*" then
    Msgbox "gefunden"
end if
Leider funktioniert das nicht...

Kann mir evtl. jemand einen Tipp geben

Danke und Gruß Ingo

Wer aufhört sich zu verbessern, hört auf gut zu sein.

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: like in if 
Autor: effeff
Datum: 19.10.18 10:21

Hier reicht doch einfaches INSTR...

Sub INSTR_Beispiel()
 
Dim Test As String
 
Test = "1, 2, 3, 4, 5, 6, 7, 8, 9"
 
Dim Suchwert As String
 
Dim intNr As Integer
 
intNr = 5
 
Suchwert = intNr
 
If InStr(Test, Suchwert) > 0 Then
MsgBox ("Gefunden")
Else
MsgBox ("Nicht gefunden")
End If
 
End Sub

EALA FREYA FRESENA

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: like in if 
Autor: effeff
Datum: 19.10.18 10:22

Oder mit einem Array:

Sub ARRAY_Beispiel()
 
Dim Test As String
 
Test = "1, 2, 3, 4, 5, 6, 7, 8, 9"
 
Dim Suchwert As String
 
Dim intNr As Integer
 
intNr = 5
 
Suchwert = intNr
 
Dim i As Integer
Dim arr() As String
 
arr = Split(Test, ", ")
 
Dim Gefunden As Boolean
Gefunden = False
 
For i = 0 To UBound(arr()) - 1
If ar(i) = Suchwert Then
Gefunden = True
End If
Next i
 
If Gefunden = True Then
MsgBox ("Gefunden")
Else
MsgBox ("Nicht gefunden")
End If
 
End Sub

EALA FREYA FRESENA

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: like in if 
Autor: HenryV
Datum: 19.10.18 12:14

Mit Like musst du die Abfrage umdrehen.
Dim intNr As Integer = 5
Dim strtext As String = "3, 4, 5, 6"
 
If strtext Like "*" & CStr(intNr) & "*" Then
    MessageBox.Show("gefunden")
End If
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Wenn, dann bitte in VB classic! 
Autor: Souffleurlos
Datum: 19.10.18 18:25

Nämlich so:

Private Sub Form_Load()
 Dim intNr As Integer
 Dim strtext As String
 
 intNr = 5 
 strtext = "3, 4, 5, 6"
 
If strtext Like "*" & CStr(intNr) & "*" Then
    MsgBox "gefunden"
End If
End Sub
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: like in if 
Autor: Franki
Datum: 20.10.18 01:47

Hallo,
was genau funtioniert denn nicht?

Du hast ja schon Antworten bekommen, aber LIKE ist ja so eine Sache bzw. Ähnlichteit.

Das Beispiel von Souffleulos funtioniert selbst unter VB Classic nicht wenn im zu durchsuchenden Sting z.B. steht:

ntNr = 5
 strtext = "3, 4, 15,  5a, 6, 51, a5b"
Ist es das was du möchtest? Wenn nicht, dann musst du jeden Treffer getrennt auswerten und dann auf Plausibilität prüfen.

Erkläre doch man etwas genauer warum du eine Zahl in einem Text suchen/finden möchtest.

Gruß
Frank
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: like in if 
Autor: I.V.
Datum: 20.10.18 06:56

Guten Morgen zusammen,

vielen dank für eure Hilfe.
InStr war die Funktion die ich suchte.
Manchmal sieht man den Wald vor lauter Bäumen nicht

Gruß Ingo

Wer aufhört sich zu verbessern, hört auf gut zu sein.

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: like in if 
Autor: Souffleurlos
Datum: 20.10.18 16:59

Hallo Franki,

wie kommst Du darauf, dass mein Beispiel nicht funktioniert?

Das hier:

Private Sub Form_Load()
 Dim intNr As Integer
 Dim strtext As String
 
 intNr = 5
 strtext = "3, 4, 15,  5a, 6, 51, a5b"
 
If strtext Like "*" & CStr(intNr) & "*" Then
    MsgBox "gefunden"
End If
End Sub
zeigt natürlich die Msgbox "gefunden". Die Sternchen schließen auch aus, direkt vor und direkt
hinter dem Suchstring steht.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: like in if 
Autor: Souffleurlos
Datum: 20.10.18 17:01

Hallo i.v.
ich würde trotzdem Like nehmen, weil das viel schneller als Instr() ist wenn es nur darum geht zu prüfen, ob ein bestimmter Teilstring in einem String enthalten ist. True/False. Instr() ist dann interessant, wenn Du dazu auch noch die genaue Position im String ermitteln willst.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: like in if 
Autor: Franki
Datum: 21.10.18 02:01

Hallo,

ich habe die Frage falsch verstanden.
Ich bin davon ausgegangen, dass nur die 5 einzeln gesucht wird und nicht in Verbindung mit 15 oder a5b z.B.

Ok wer lesen kann ist klar im Vorteil, ich habe nicht genau genug gelesen.

Gruß und sorry,
Frank
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: like in if 
Autor: I.V.
Datum: 21.10.18 07:10

Hallo Franki,

keine Sorge, in möchte nur wissen ob die Zahl in der Variablen im Text vorkommt.
Erweiterte Werte kommen hier nicht vor.

Danke an alle für die Hilfe.

Gruß Ingo

Wer aufhört sich zu verbessern, hört auf gut zu sein.

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel