Arbeiten mit Datumsangaben in Access unter Verwendung von pyodbc mit dem Fehler "Zu wenige Parameter"

Ich verwende Python mit einem Pyodbc-Import.

Ich verwende Microsoft Office 2013 64-Bit.

Ich versuche, eine accdb-Datenbank abzufragen, um bestimmte Daten innerhalb eines Bereichs auszuwählen und sie einem Cursor zuzuweisen, damit ich sie dann an eine Liste anhängen kann.

Meine Access-Datenbank hat eine Tabelle mit dem Namen Closing_prices und eine Spalte mit dem Namen Date_ mit dem Datentyp "Date / Time".

Mein Code lautet wie folgt:

cursor=conx.cursor()
query="select distinct Date_ FROM Closing_prices where Date_ >= '10/8/2011' and Date_ < '30/04/2014'"
cursor.execute(query)
dates=list()
for date in cursor:
   dates.append(date[0])

Ich erhalte jedoch die Fehlermeldung:

Traceback (most recent call last):
  File "C:/Users/Stuart/PycharmProjects/untitled/Apache - Copy.py", line 20, in <module>
cursor.execute(query)
pyodbc.Error: ('07002', '[07002] [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1. (-3010) (SQLExecDirectW)')

As Date_ ist eine Datums- / Uhrzeitangabe, die ich auch ausprobiert habe:

query="select distinct Date_ FROM Closing_prices where Date_ >= '10/8/2011 00:00:00' and Date_ < '30/04/2014 00:00:00'"

Wenn ich laufe:

cursor = conx.cursor()
query="select Date_ FROM Closing_prices"
cursor.execute(query)

for row in cursor:
    print row

print type(row[0])

Ich erhalte die folgende Ausgabe als Beispiel:

(datetime.datetime(2014, 3, 24, 0, 0), )
(datetime.datetime(2014, 3, 25, 0, 0), )
(datetime.datetime(2014, 3, 26, 0, 0), )
(datetime.datetime(2014, 3, 27, 0, 0), )

Ich bin relativ neu in Python und noch neuer in SQL-Abfragen. Könnte also jemand darauf hinweisen, wo ich falsch liege, und vielleicht, wie ich meinen Code ändern kann, um die verschiedenen Daten wie gewünscht in eine Liste einzufügen.

Danke vielmals

Antworten auf die Frage(2)

Ihre Antwort auf die Frage