SQL Abfrage die Zahlen mit einer bestimmten Zahlenlänge aus der Tabelle ausliest!

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von Wega.

    SQL Abfrage die Zahlen mit einer bestimmten Zahlenlänge aus der Tabelle ausliest!

    Guten Abend!

    Ich habe ein Problem in einer Tabelle.
    Eine Spalte enthält 5 & 7 Stellige Zahlen.
    Ich muss die 5 Stelligen Zahlen mit einer "90" vorne weg auf 7 Stellig ändern.
    Datencontainer Access
    Programm VB.NET (VS2008) mit Provider=Microsoft.Jet.OLEDB.4.0 verbunden.
    Habe mir als erstes eine Access Abfrage gebastelt in der ich die 5 Stelligen auslese.


    CODE ACCESS:

    SQL-Abfrage

    1. SELECT ADR.ad_aa, ADR.ad_ab, ADR.ad_ac, ADR.ad_ad, ADR.ad_ae, ADR.ad_af, ADR.ad_ag, ADR.ad_ah, ADR.ad_aj, ADR.ad_bl, ADR.ad_ak
    2. FROM ADR
    3. WHERE (((ADR.ad_aa) Like "9*") AND ((ADR.ad_ac)="W") AND ((ADR.ad_bl) Like "#####"));



    Funktioniert in Access einwandfrei.

    Wenn ich diese Abfrage via SQL-String in VB.NET einfüge bleibt mein DATAGRID leer.

    CODE .NET:

    Quellcode

    1. Dim myQ1 As String = "SELECT DtblADR.ad_aa, DtblADR.ad_ab, DtblADR.ad_ac, DtblADR.ad_ad, DtblADR.ad_ae, DtblADR.ad_af, DtblADR.ad_ag," & _
    2. "ADR.ad_ah, ADR.ad_aj, ADR.ad_bl, ADR.ad_ak FROM ADR WHERE ADR.ad_bl LIKE '#####';"


    Ohne den "LIKE '#####'" füllt sich mein DATAGRID.

    Muss man im DOT.NET ein anderes Zeichen als "#" verwenden??
    Wäre für jede Hilfe Dankbar, habe mich schon zu Tode gegoogelt.

    LG Wega! ;(
    Danke erstmal für schnelle Antwort!

    Code folgendermaßen eingegeben:

    Quellcode

    1. Dim myQ1 As String = "SELECT * FROM ADR WHERE CHAR_LENGTH(ad_bl) = 5;"



    Liefert aber folgenden Fehler:

    Quellcode

    1. Fehler E_FAIL(0x80004005) in IErrorInfo.GetDescription.


    Mit Diesen Code funktioniert es:

    SQL-Abfrage

    1. "SELECT * FROM ADR WHERE LEN(ad_bl) = 5


    Vielen DANK!!

    LG Wega!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Wega“ ()