2011-01-14 10 views
0

Gibt es eine Möglichkeit, eine Zeichenfolge in einer ODBC-Abfrage auszuwählen? Ich mag die Summe wähle viele Blätter auszeichnen und müssen auch den Namen der Excel-Tabelle in der resultierenden Pivot-Tabelle, so habe ich versucht, so etwas wie diese:Wählen Sie Zeichenfolge in odbc Abfrage

strSQL = "SELECT Sum(`table" & i & "`.`Stunden`), " & GetFilenameFromPath(arrFiles) & " FROM [" & strSheet & "$] `table" & i & "` WHERE `table" & i & "`.`Stunden` IS NOT NULL" 

aber die select-Anweisung " & GetFilenameFromPath(arrFiles) & " funktioniert nicht richtig .. Eine Auswahl von 1 funktioniert stattdessen! z:

strSQL = "SELECT Sum(`table" & i & "`.`Stunden`), 1 FROM [...] 

muss ich die Zeichenfolge in irgendeiner Form zu entkommen?

dank

+1

Mit welcher Verbindung laufen Sie dagegen? Die Back-Ticks werfen mich. Es ist durchaus möglich, mit einer Jet/ACE-Verbindung eine Zeichenkette auszuwählen: "SELECT 'ABC' als MyBook, F1, F2 VON [Sheet1 $]" – Fionnuala

+0

IAM mit Excel-Makros und Verbindung über ODBC zu einem Excel-Blatt ... ich weiß das ist ein bisschen ... du weißt: D aber auch '"& GetFilenameFromPath (arrFiles) &' 'funktioniert nicht :( – reox

+0

Also läufst du durch diese Blätter und führst die SQL aus oder willst du eine UNION-Abfrage erstellen Wählen Sie einen Bereich oder ein Blatt aus jedem Blatt in der Arbeitsmappe? – Fionnuala

Antwort

1

Nun, GetFilenameFromPath erhalten Sie einen String zurück, so müssen Sie diese in Anführungszeichen umhüllen:

strSQL = "SELECT Sum(`table" & i & "`.`Stunden`), '" & GetFilenameFromPath(arrFiles) & "' FROM... 

Obwohl ich Sie ermutigen würde deutlicher in Frage zu sein. Details der erwarteten Ausgabe von GetFilenameFromPath für Sie, und eine spezifische Fehlermeldung wäre sehr hilfreich.

+0

ok sorry, die fehlermeldungen des excel makro-editors sind nicht wirklich das was ich als fehlermeldung erwarte ... wenn ich es rückgängig mache funktioniert! Ich hatte einen anderen Fehler in der Abfrage, die ich später fand :( – reox

+0

keine Sorgen. Überhaupt gedacht, die 'upvote' uption zu verwenden, um Fragen als hilfreich zu markieren? –