ASP und MS Access

karencha

Grünschnabel
hallo.

ich möchte asp und access verbinden, habe aber folgendes problem: bei einer anweisung spuckt er immer wieder folgende fehlermeldung aus:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
[Microsoft][ODBC Microsoft Access Driver] Datentypen in Kriterienausdruck unverträglich.
/webspace_nit/fragen_vorstufe2.asp, line 33

der code dazu:
--------------------
Dim objConn, objRs
Dim abfrage

Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open("DRIVER={Microsoft Access Driver (*.mdb)};" "DBQ=c:\Inetpub\wwwroot\webspace_nit\fragen.mdb;")

Dim MaxAnzahl
abfrage = "SELECT MAX(ID) FROM Stufe1" 'Stufe 1: so heißt die Tabelle in MS Access
Set MaxAnzahl = objConn.Execute(abfrage)

'zufälligen Datensatz auslesen
Randomize()
Dim zufallszahl
zufallszahl = INT(Rnd() * MaxAnzahl(0)) + 1

abfrage = "SELECT * FROM Stufe1 WHERE ID = " & CStr(zufallszahl)
Set objRs=objConn.Execute(abfrage)
....
--> das heißt es soll ein zufällig ausgewählter Datensatz ausgegeben werden (und zwar in einer tabelle - den code dazu hab ich jetzt nicht gepostet)

die letzte Zeile ist der Grund für die Fehlermeldung. Ich hab schon foren und webseiten durchforstet, finde aber keine lösung für mein Problem. Meiner Meinund nach liegt es an dem Ausdruck & CStr(zufallszahl) --> was hab ich hier falsch gemacht?


wär echt super, wenn mir jemand helfen könnte, weil ich wirklich schon sehr verzweifelt bin und nicht mehr weiter weiß.
vielen dank.
 
Is jetzt nur eine Vermutung, aber es könnte daran liegen, daß Du einen String übergibst, ohne ihn in Anführungszeichen zu setzen.
Probiers mal mit:
abfrage = "SELECT * FROM Stufe1 WHERE ID = '" & CStr(zufallszahl) & "'"
Ich frage mich aber, warum Du die ID in der DB als String drinstehen hast.
lg
 
vielen dank. ich hab vergessen, die id als zahl in der db zu speichern und ich war schon so betriebsblind darauf zu kommen, dass da der fehler liegen könnte.
super, der tag ist gerettet. danke nochmals
 
Zurück