Anzeige
Archiv - Navigation
624to628
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
624to628
624to628
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

SQL-Abfrage via Excel...

SQL-Abfrage via Excel...
20.06.2005 11:59:46
Claus
Servus midanand,
ich probiere derzeit eine SQL-Abfrage aus Excel heraus zu starten. Das hat auch soweit ganz gut geklappt, bis ich eine weitere Bedingung eingebaut habe. Seitdem bringt er mir einen "General ODBC Error". Wie kann ich also meine Abfrage dennoch reinbringen? Im SQL-Viewer laeuft sie...
Hier die Abfrage:
SELECT count(dd_performance.INSTRUMENTREF) from (select instrumentref, Max(dd_performance.DATESTART) AS MaxOfDATESTART FROM dd_performance WHERE dd_performance.CONTAINERREF=100085 and performancetype="D" group by instrumentref);
Was ich neu eingefuegt habe ist: and performancetype="D"
Ich war schon so schlau und habe die Anführungszeichen im Code durch chr$(34) ersetzt... Das bringt aber nix...
Hier noch die ganze Abfrage en Block:
With ActiveSheet.QueryTables.Add(Connection:= _
"ODBC;DSN=MS Access Database;DBQ=Z:\DataEditor.mdb;DefaultDir=Z:;DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;" _
, Destination:=Range("A1"))
.CommandText = Array("SELECT count(dd_performance.INSTRUMENTREF) from (select instrumentref, Max(dd_performance.DATESTART) AS MaxOfDATESTART FROM dd_performance WHERE dd_performance.CONTAINERREF=" & ContRef & " and dd_performance.performancetype=" & Chr$(34) & "D" & Chr$(34) & " group by instrumentref);")
.Name = "Query from MS Access Database"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With
Waere klasse, wenn ich hier ne Lösung finden könnte mit Eurer Hilfe...
Gruss
Claus

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: SQL-Abfrage via Excel...
20.06.2005 16:44:34
Otto
Hallo Claus,
Meine Testumgebungen: Excel 9.0 SR-1, Multilingual unter Windows 2000 SP-4 und Excel 11 Deutsch unter Windows XP
ich möchte wetten, dass Du an eine Limitation von Excel gestoßen bist.
Dein .Commandtext ist wahrscheinlich größer als 255 Zeichen. (Ich zähle so 258 Zeichen, aber weiss natürlich nicht, wie lang ContRef ist)
Versuche mal, ihn zu zerteilen:
keine Garantie, da ich es nicht testen konnte.
Gruß Otto
AW: SQL-Abfrage via Excel...
20.06.2005 17:06:40
Claus
Hallo Otto,
danke fuer den Tip und Deine Umsetzung...
Ich habe das mal ausprobiert aber leider kommt wieder die gleiche Fehlermeldung. Selbst wenn ich die Anführungsstriche für das D von PerformanceType mit chr$(34) umbaue (als String-Variable getestet schauts gut aus...)..
Hmmm... Tja, vielleicht mache ich die Abfrage simpler und arbeite in Excel dann weiter...
Gruss
Claus
Anzeige
AW: SQL-Abfrage via Excel...
21.06.2005 11:23:30
GerdZ
Hallo Claus,
versuchs mal mit Hochkomma statt Anführungszeichen:
"and dd_performance.performancetype='D' group by instrumentref);")
Gruß Gerd
AW: SQL-Abfrage via Excel...
21.06.2005 13:25:56
Claus
Hey Gerd,
klasse, das wars! Danke fuer den Tip!
Gruss
Claus

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige