Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
148to152
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
148to152
148to152
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Datenbankabfrage SQL ODBC VBA

Datenbankabfrage SQL ODBC VBA
16.08.2002 14:12:31
Marc.L
Hallo Leute,

Ich habe folgendes Problem:

ich habe zwei Datenbankabfragen im VBA mit SQL über eine ODBC-Schnittstelle erstellt:

1.

Columns("A:B").Select
Selection.ClearContents
AuftrNr = Worksheets("Wochensheet").Range("a1")


With ActiveSheet.QueryTables.Add(Connection:= _
"ODBC;DSN=riszeit-test;UID=dba;PWD=sql", Destination:=Range("A1"))

.CommandText = Array( _
"SELECT ade_ag.ag_bez, ade_auftr.auftr_id" & Chr(13) & "" & Chr(10) & _
"FROM ESCAD.ade_ag ade_ag, ESCAD.ade_auftr ade_auftr" & Chr(13) & "" & Chr(10) & _
"WHERE ade_ag.auftr_nr = ade_auftr.auftr_nr AND ((ade_auftr.auftr_id='" & AuftrNr & "'))")

.Name = "Abfrage von riszeit-test_1"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = True
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With
End Sub

2.

Columns("A:H").Select
Selection.ClearContents


With ActiveSheet.QueryTables.Add(Connection:= _
"ODBC;DSN=riszeit-test;UID=dba;PWD=sql", Destination:=Range("A1"))

.CommandText = Array( _
"SELECT ade_auftr.auftr_id, ade_wert.abr_dat, ade_ag.ag_bez, ade_wert.zeit_von, ade_wert.zeit_bis, pstamm.p_name, pstamm.p_vorname, ade_wert.dauer" & Chr(13) & "" & Chr(10) & _
"FROM ESCAD.ade_ag ade_ag, ESCAD.ade_auftr ade_auftr, ESCAD.ade_wert ade_wert, taurus.pstamm pstamm" & Chr(13) & "" & Chr(10) & _
"WHERE ade_wert.ag = ade_ag.ag_nr AND ade_ag.auftr_nr = ade_auftr.auftr_nr AND ade_wert.p_nr = pstamm.p_nr AND ((ade_wert.abr_dat Between 20020800 And 20020900) AND (pstamm.abt_nr=17) AND (ade_wert.zeit_von Not Like zeit_bis) AND (ade_ag.ag_bez Not In ('ROBCAD','ROBCAD 1-3','ROBCAD 4-5')))" & Chr(13) & "" & Chr(10) & _
"ORDER BY ade_wert.abr_dat DESC, ade_wert.zeit_von DESC")

.Name = "Abfrage von riszeit-test_1"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = True
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With
End Sub


Nun Das Problem:

Nur das Erste Makro läuft.

Ich habe die Vermutung, das der SQL-String der 2.Abfrage zu lang ist.
Ich habe glaube ich auch schon mal einen Beitrag im Forum über diese Thema gesehen, kann ihn aber nicht mehr finden.

Bitte helft mir.

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Datenbankabfrage SQL ODBC VBA
19.08.2002 14:32:45
mathias r.
Die Zeilenumbrüche (chr10, chr13) sind in SQL überflüssig. Das bringt nur Fehlerquellen. Ein Space reicht als Abgrenzung
Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige