Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1512to1516
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

SQL-String MS-Query

SQL-String MS-Query
12.09.2016 14:44:18
Heri
Hallo Forumsteilnehmer!
Ich bekomme bei diesem Programm die Fehlermeldung "SQL Syntax Error".
Könnte mir jemand sagen wo im SQL-String der Fehler ist.
Sub Daten_abfr()
Dim strPath As String
Dim strFile As String
Dim strConnection As String
Dim strSQL As String
Dim strBedingung As String
strPath = "V:\SHARED\PPA-BDE\"
strFile = strPath & "BDE_Daten.accdb"
strConnection = "ODBC;DSN=MS Access Database;DBQ=" & strFile & "; DefaultDir=" & strPath & "; _
DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;"
strSQL = "SELECT Personalzeiten.Datum, Personalzeiten.`MA-Code`, Personalzeiten.SEG,  _
Personalzeiten.Materialnummer, Personalzeiten.Kostenplatz, Personalzeiten.Dauer" & _
"FROM Personalzeiten Personalzeiten WHERE (Personalzeiten.Datum BETWEEN CONVERT( _
datetime, '01.01.2016', 104) AND CONVERT(datetime, '31.12.2016', 104)"
With ActiveSheet.QueryTables.Add(Connection:=strConnection, Destination:=ActiveSheet.Range("A1") _
)
.CommandText = strSQL
.Name = "Sheet1"
.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
End Sub

Danke!
Grüße Herbert

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: SQL-String MS-Query
12.09.2016 15:20:19
EtoPHG
Hallo Herbert,
versuch's mal mit dem Ersatz der WHERE-Klausel, durch:
WHERE Personalzeiten.Datum BETWEEN #01/01/2016# AND #31/12/2016#
Gruess Hansueli
AW: SQL-String MS-Query
12.09.2016 15:30:42
Heri
Hallo Hansueli!
Funktioniert leider auch nicht...
Ich habs auch so probiert, geht auch nicht..
WHERE Personalzeiten.Datum BETWEEN #2016-01-01# AND #2016-12-31#"
Grüße Herbert
AW: SQL-String MS-Query
12.09.2016 15:33:33
EtoPHG
Hallo Heri,
Alternative:
WHERE YEAR(Personalzeiten.Datum) = 2016

Gruess Hansueli
AW: SQL-String MS-Query
12.09.2016 15:52:22
Heri
Funktioniert auch nicht...
Hast du noch eine Idee ?
Grüße Herbert
Anzeige
Letzter Versuch...
12.09.2016 16:15:18
EtoPHG
Hallo Heri,
Nein, denn ich kenne deine DB nicht.
Im MS-Query Assistent kannst du dir doch eine Abfrage zusammensticken und mit dem Klick auf den [SQL] Button den generierten SQL anschauen...und wenn der SQL Daten zurückliefert, kopierst du diesen in deinen VBA-Code.
Gruess Hansueli
AW: Letzter Versuch...
12.09.2016 16:59:02
Heri
so funktionioert es jetzt:
WHERE (Personalzeiten.Datum>{ts '2016-01-03 00:00:00'} And Personalzeiten.Datum Ich hatte bei der ersten Abfrage die Where-Bedingung nicht mitgenommen,
darum stand sie auch nicht im Code...
Danke für deine Hilfe!
Grüße Herbert

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige