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 (187135562859690373)
Kann mir da vielleicht jemand helfen? Das wäre sehr nett. Vielen Dank schonmal im voraus.
Gruß André
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 (187135562859690373)
Kann mir da vielleicht jemand helfen? Das wäre sehr nett. Vielen Dank schonmal im voraus.
Gruß André