29.05.2018, 19:15
Hallo zusammen,
ich hätte da gern mal wieder ein Problem
Ich habe folgendes Szenario:
1. eine xls Datei mit 5 Sheets als Datenqelle (bekomme ich so geliefert)
2. eine xlsb Datei in die ich per MS-Query Daten importiere
Der Import ist kein Problem und alle Abfragen sind sauber. Dummerweise bekomme ich jeden Tag eine neue Datei mit Namen Bezeichnung_dd_mm_yyyy.xls
Ich habe versucht das ganze als Parameter zu übergeben aber das klappt nicht bekomme immer Fehler Tabelle muss angegeben werden (oder so ähnlich) - nach viel suchen und lesen liegts wohl daran das SQL den Parameter nicht variabel nehmen kann daher kam mir die Idee das ganze mit einer Verbindungsdatei zu lösen.
Nun die Frage: Wie kann ich aus xl per VBA in der odc-Datei den Schnipsel
mit dem aktuell über eine Combobox ausgewählten Datum zu ersetzen? Also irgendwie einen Platzhalter an die Stelle und das dann ersetzen?
Habe mir viel dazu schon gesucht und auch noch einen anderen Ansatz in der Art wie jedesmal die komplette Datei neu schreiben über
sollte ja auch klappen ist aber finde ich nicht schön.
Hat jemand eine Inspiration für mich?
LG Matty
ich hätte da gern mal wieder ein Problem
Ich habe folgendes Szenario:
1. eine xls Datei mit 5 Sheets als Datenqelle (bekomme ich so geliefert)
2. eine xlsb Datei in die ich per MS-Query Daten importiere
Der Import ist kein Problem und alle Abfragen sind sauber. Dummerweise bekomme ich jeden Tag eine neue Datei mit Namen Bezeichnung_dd_mm_yyyy.xls
Ich habe versucht das ganze als Parameter zu übergeben aber das klappt nicht bekomme immer Fehler Tabelle muss angegeben werden (oder so ähnlich) - nach viel suchen und lesen liegts wohl daran das SQL den Parameter nicht variabel nehmen kann daher kam mir die Idee das ganze mit einer Verbindungsdatei zu lösen.
Nun die Frage: Wie kann ich aus xl per VBA in der odc-Datei den Schnipsel
Code:
DBQ=pfad\zur\datei\bezeichnung_dd_mm_yyyy.xls
mit dem aktuell über eine Combobox ausgewählten Datum zu ersetzen? Also irgendwie einen Platzhalter an die Stelle und das dann ersetzen?
Habe mir viel dazu schon gesucht und auch noch einen anderen Ansatz in der Art wie jedesmal die komplette Datei neu schreiben über
Code:
lngKanal = FreeFile()
Open .ThisWorkbook.Path & "\bezeichnung_dd_mm_yyyy.xls" For Output As #lngKanal
print #lngKanal, "text bis zur Variablen" &variable & "restlicher Text der Datei"
sollte ja auch klappen ist aber finde ich nicht schön.
Hat jemand eine Inspiration für mich?
LG Matty