none
SQL-Abfrage über Excel mit zusätzlichen VBA-Funktionen RRS feed

  • Allgemeine Diskussion

  • Hallo,

    Wahrscheinlich für die meisten eine einfache Frage. Ich arbeite noch nicht so lange mit SQL und VBA. Aber hier erstmal meine Frage.

     

    Ich habe über VBA eine SQL-Abfrage generiert die mir eine bestimmte Tabelle mit den geforderten Kriterien anzeigt. Soweit funktioniert alles sehr gut, ich habe in Excel in den Zellen M1 und M2 jeweils ein Datum stehen, welches er mir in der Abfrage mit berücksichtigt, für die datumsabfrage lautet der korrekte text wie folgt:

     

    WHERE (tbSpulen.Datum Between {ts '" & Range("M1").Text & "'} And {ts '" & Range("M2").Text & "'})

     

    nun wollte ich noch nach einer bestimmten Nummer fragen, diese würde sich dann in der Zelle P1 befinden. Und das bekomme ich irgendwie nicht hin. Noch zu erwähnen wäre dass die Nummer eine 18 stellige Zahlen ist und ich sie nur korrekt in Excel angezeigt bekomme wenn sich die Zelle in einem Textformat befindet. Gebe ich sie direkt ein dann funktioniert es , anbei der ganze „select“-befehl, am ende ist die abfrage mit dem 18-stelligen Text der sich aber auf die Text-formatierte Zelle P1 beziehen soll.

     

    SELECT tbSpulen.Datum, tbSpulen.Label, tbSpulen.Maschine, tbSpulen.Feld, tbSpulen.Spinnstelle, tbSpulen.Produkt,  tbSpulen.Laufzeit, CAST(tbSpulen.Menge as decimal(18,2)) AS Menge,tbSpulen.KlasseE, tbPalettenSpulen.PalettenID, tbPaletten.BasilCode, tbPalettenSpulen.LagenNr, tbPalettenSpulen.KlasseDe, tbSpulenPuffer.KlasseDe as KL_PufferDe FROM tbSpulen LEFT JOIN tbSpulenPuffer ON tbSpulen.Label = tbSpulenPuffer.SpulenID LEFT JOIN tbPalettenSpulen ON tbSpulen.Label = tbPalettenSpulen.SpulenID LEFT JOIN tbPaletten ON tbPaletten.ID = tbPalettenSpulen.PalettenID WHERE (tbSpulen.Datum Between {ts '" & Range("M1").Text & "'} And {ts '" & Range("M2").Text & "'}) and tbPaletten.BasilCode in (187135562859690366)

     

     

    Kann mir da vielleicht jemand helfen? Das wäre sehr nett. Vielen Dank schonmal im voraus.

     

    Gruß André

     


    Samstag, 11. März 2017 16:09

Alle Antworten

  • Hallo André,

    Folgender Artikel geht näher auf die Einschränkung für lange Zahlen (mehr als 11 Ziffern) in Excel ein:
    Long numbers are displayed incorrectly in Excel

    Da Du die erste Problemumgehung mit dem Formatieren der Zelle als Text schon ausprobiert hast, sieh Dir auch das zweite Verfahren mit dem Hochkomma an.

    Gruß,
    Dimitar


    Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.

    Montag, 13. März 2017 15:20
    Administrator