Aufruf mehrerer verschiedener Kd.Nr.

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von petaod.

    Aufruf mehrerer verschiedener Kd.Nr.

    Hallo,

    ich würde gerne folgende SQL Datenbankabfrage in VB übertragen.
    ...Where Kd_Nr like (`K434%`, `K365%`) and....
    Die Abfrage funktioniert einwandfrei wenn ich in VB nach nur einer vollständigen Nummer abfrage z.B. Kd_Nr_AK = "K2574838". Alle Ergebnisse der Datenbankabfrage werden dann auch angezeigt wenn ich in meinem Programm Kd_Nr_AK aufrufe.
    Allerdings möchte ich nun mehrere verschiedene Nummern zusammen aufrufen. Wie in der SQL abfrage oben nämlich alle Nummern die mit K434 und mit K365 beginnen.
    Wie kann ich das machen?
    Habe schon alles mögliche Probiert z.B.
    Kd_Nr_ABCK = "(K434% , K365%)"
    Kd_Nr_ABCK = "K434%" , "K365%"
    Kd_Nr_ABCK = "K434%" and also "K365"
    usw.
    weiß nicht was ich noch probieren soll...
    Funktioniert das mit dem Prozentzeichen in VB überhaupt? Wenn nicht, gibt es wenigstens die Möglichkeit mehrere voll ausgeschriebene Nummern abzufragen?

    Wäre sehr Dankbar für Vorschläge :)
    Wassn das für'n Sql-Dialekt?

    Jr001100 schrieb:

    ...Where Kd_Nr like (`K434%`, `K365%`) and....

    Habich gschwind eine Doku für mir ergegoogelt, diese Variante aber nicht gefunden.

    Empfehle ich dir auch: Lies die Doku zum Like-Schlüsselwort - da steht was geht, und was nicht.
    hier: docs.microsoft.com/de-de/dotne…-reference/keywords/index
    Bist du sicher dass deine Abfrage so funktioniert?

    Wenn du die ganze Kundennummer weißt dann kannst du IN nutzen -> w3schools.com/sql/sql_in.asp
    Wenn es unbedingt die Suche mit LIKE sein soll kannst du mehrere Abfragen mit UNION zu einem Ergebnis zusammen führen -> w3schools.com/sql/sql_union.asp
    Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.

    Jr001100 schrieb:

    Funktioniert das mit dem Prozentzeichen in VB überhaupt?
    Nein, da ist es ein *.

    VB.NET-Quellcode

    1. Dim IsInRange = Kd_Nr_ABCK Like "K43[4-5]*"

    oder ganz herkömmlich

    VB.NET-Quellcode

    1. Dim IsInRange = Kd_Nr_ABCK.StartsWith("K434") OrElse Kd_Nr_ABCK.StartsWith("K435")
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --