Record Set Eintrag mit String vergleichen

Bamboocha_10

Mitglied
Hallo,
ich programmiere mit VB6 und möchte eine Abfrage starten.
In einer Datenbank sind Textschnipsel gespeichert und in einem String ebenfalls, jedoch andere.
rs: Dies ist ein Test
string: Test Beispiele sind doof

Es ist nicht interessant, an welcher Stelle das Wort Test übereinstimmt, nur das es eine Übereinstimmung gibt. Wenn in dem Record Set verschiedene Einträge eine Übereinstimmung haben, soll die mit der Besten Übereinatimmung verwendet werden.

Code:
Do While Not rs.EOF
    If rs.Fields("Spalte") Like string Then
        a = rs.Fields("ID")
    Exit Do
    End If
    rsHsnr.MoveNext
Loop

Mein Beispiel funktioniert jedoch nur bei einer exakten Übereinstimmung. Kann mir da jemand weiterhelfen?

Danke im Vorraus
 
Du könntest Deinen String mit der Split-Funktion aufteilen, und dann alle einzelnen Wörter des Strings abarbeiten. Grundsätzlich würde ich auch noch mit der LCase-Funktion sowohl Recordset-Feld als auch String in Kleinbuchstaben konvertieren, um nicht an unterschiedlicher Groß-/Kleinschreibung zu scheitern.

Grüsse
ronaldh
 
Das bekommst Du ja über die Split-Funktion raus:

Code:
   Dim Tx As String
   Dim TxR() As String
   Dim i As Integer
   Tx = "Test Beispiele sind doof"
   TxR = Split(Tx, " ")
   For i = 0 To UBound(TxR)
      Debug.Print TxR(i)
   Next

UBound(TxR) ist in diesem Fall 3, da das erste Feld ("Test") in TxR(0) steht, "Beispiele" in TxR(1) usw.

Nun kannst Du die einzelnen Felder vergleichen.
 

Neue Beiträge

Zurück