Anzeige
Archiv - Navigation
1016to1020
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
Inhaltsverzeichnis

Übergabe String hat Zeichenbegrenzung

Übergabe String hat Zeichenbegrenzung
21.10.2008 10:06:00
Marco
Hallo zusammen,
ich bin dabei über VBA SQL-Abfragen auf eine Datenbank zu automatisieren. Hierzu muss die SQL-Abfrage in Häckchen " ... SQL-Statement ... " übergeben werden. Hierbei scheint es eine Zeichenbegrenzung zu geben. Denn "select sqlwert Wert ..." funktioniert nicht und "select sqlwert Wer ..." funktioniert. Alle die dem SQL mächtig sind wissen das "Wer" nur eine beliebige Überschrift für die Spalte sqlwert ist, somit müßte "Wert" auch funktionieren. So bei 200 - 250 (vielleicht auch 256?)Zeichen macht er dicht. Weiß jemand warum das so ist und viel wichtiger, kann mir jemand sagen wie ich das umgehen kann?

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Übergabe String hat Zeichenbegrenzung
21.10.2008 14:08:02
Yal
Hi Marco,
also ich sende SQLs, die weit über 256 Zeichen haben, und habe dabei nie Problem gehabt. Du muss stets prüfen, dass das Zielsystem deine SQL versteht, in dem Du diese Sql-Statement direkt abgibt (also in einer Abfrage unter Access, z.B.). Es kann an etwas anderes scheitern. Insbesondere weil jede Datenbank seine eigenes "Dialekt" hat. Access versteht "Select sqlwert wert from Tabelle" nicht, es muss "select sqlwert as Wert from tabelle" heissen!
Ich erkenne im übrigens in "select sqlwert wert" keine gültige Sql-Ausdruck.
Viel Erfolg
Yal
AW: Übergabe String hat Zeichenbegrenzung
21.10.2008 14:35:32
Marco
Hi Yal,
das "as" (für alias) ist freiwillig, auch in Access.
Aber...
unabhängig davon funktioniert es ja mit einem Zeichen weniger. Ich hätte auch irgendwo ein unnötiges Leerzeichen löschen können und dann funktionierts auf einmal wieder. Mache den ganzen Tag schon nichts anderes als meine SQL Statements einzukürzen. Noch klappts aber es dauert nicht mehr lange dann hab ich eins, dass ich nicht mehr auf die Größe kürzen kann.
Anzeige
AW: Übergabe String hat Zeichenbegrenzung
21.10.2008 17:36:55
Yal
Hallo Marco,
wie greifst Du auf Access zu? DAO, ADO oder Jet?
Yal
AW: Übergabe String hat Zeichenbegrenzung
22.10.2008 14:26:44
Marco
Hi Yal,
über eine ODBC Schnittstelle. Kann leider mit DAO, ADO oder Jet nichts anfangen.
Das Statement beginnt mit:
ActiveSheet.ListObjects.Add(SourceType:=0, Source:= _
"ODBC;DSN=bgh.world;UID=" & user & ";PWD=" & passwort & ";SERVER=" & server & ";", Destination:=Range( _
"$J$20")).QueryTable
Dann folgt:
.CommandText = Array(" Sqlstatement")
hilft Dir das?
Gruß Marco
AW: Übergabe String hat Zeichenbegrenzung
22.10.2008 21:45:00
Yal
Hallo Marco,
Ja, kenne ich. Aber nur weil ich den Markoaufzeichnung über ein "Daten importieren..." laufen lassen habe!
Du hast zwischen die beide wahrschienlich eine Zeile
.CommandType = xlCmdTable
andere diese in
.CommandType = xlCmdSql
dann kannst Du die CommandText in deinen SQL-Wunsch anpassen(hier ist nur mein Test-Beispiel):
.CommandText = "Select * from Tabelle1 Where Text ='Artikel1';"
Hintergrund ist, dass die gesamte Prozedure auf dem Rückgabe des Inhaltes eine gesamte Tabelle gerichtet ist, deren Name maximal 255 Zeichen haben darf.
In dem Du sagst "was ich dich übergebe ist einen Sql-Statement und keinen Tabellenname", hast Du die Freiheit bei der Gestaltung des Statements.
Viel Erfolg
Yal
Rückmeldung habe ich gern.
Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige