SQLdelete = "DELETE * FROM db_table where [datum] <= #" & now - 30 & "#;"
datum kan vara ett reserverat ord och du måste ha brädgårdar runt datum.
14 svar · 327 visningar · startad av session
Fick problem med denna kod efter att jag installerat SQL Server 2000 på min dator. Jag använder forfarande en access databas, som fungerat innan installtionen.
Fel koden jag får är:
Microsoft OLE DB Provider for ODBC Drivers fel '80004005'
[Microsoft][ODBC Microsoft Access Driver] Could not delete from specified tables.
Jag har inte gjort något med koden eller databasen. Koden fungerar forfarande på servern mot weben men inte lokalt på den dator jag sitter med.
Set Forum = Server.CreateObject("ADODB.Connection")
Forum.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.Mappath("../databas.mdb") & ";"
SQLdelete = "DELETE * FROM db_table where datum <=now - 30"
Forum.Execute(SQLdelete)
Någon som vet vad som kan ha hänt?
SQLdelete = "DELETE * FROM db_table where [datum] <= #" & now - 30 & "#;"
datum kan vara ett reserverat ord och du måste ha brädgårdar runt datum.
Sorry det är forfaranade samma fel & felmeddelande.
Hur är det med skrivrättigheterna på databasern?
[b]Från:[/b]
Forum.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.Mappath("../databas.mdb") & ";"
[b]Till:[/b]
Forum.Open ("Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.Mappath("../databas.mdb"))
Efter gårdagens bataljer vågar jag knappt skriva server.mappath. Det är möjligt att man kan göra en koppling som den du gjort men det sista ";" är SQL i alla fall, det ska inte behövas(?)
Däremot tror jag parantesen gör skillnad, med betoning på tror. Tell me if I'm wrong!
jag har för mig att du ska slopa * när du deletar med SQL Server, men jag kanske är ute å cyklar..
SQLdelete = "DELETE FROM db_table where [datum] <= #" & now - 30 & "#;"
MVH
det har du iofs rätt i, nakoz, men nu är det inte sql server vi pratar, utan access.
men, hade det varit sql server hade vi varit tvungna att byta ut # mot ' också.
hehe... jag läser visst lite dåligt verkar det som...
aja.. lyssna på @nders å dem... jag ställer bara till det
MVH
hehe... jag läser visst lite dåligt verkar det som...
Vem gör inte det!? Ibland ska man läsa på raderna, ibland mellan...
Nå, fungerar det då??
Från:
Forum.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.Mappath("../databas.mdb") & ";"
Till:
Forum.Open ("Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.Mappath("../databas.mdb"))
Gör ingen skillnad hur man skriver det.
En sak som jag glömde skriva är att det går bra om jag använder mig av en SELECT sats för att lista innehållet i databasen, men det fungerar inte med en DELETE sats.
Skrivrättigheterna till databasen är det nog inte eftersom jag kan flytta sidan och databasen till en annan dator och då fungerar det alldeles utmärkt. Och kan jag göra det ser jag inga rättighets-problem, eller?
Själv tror jag att själva problemet har något med installationen av SQL Server 2000 att göra, men i så fall vad?
Kan det inte vara något fel med drivrutinerna. Behöver man inte använda olika drivisar för att komma åt MS SQL server och Access? Har ingen anning.. men man kan aldrig veta
Skrivrättigheterna till databasen är det nog inte.....
har du kollat rättigheterna på mappen och filen??
Nästan 100 på att det är det som strular eftersom du säger att du kan köra en select som endast kräver read rätigheter medans update, insert och delete kräver read/write
cya,
Asterisken (*) ska bort från frågan.
Se på ..., det var rättigheterna ändå.
Det där med rättigheterna har jag aldrig behövt bry mig om innan jag installerade SQL, RW var det.
Tusen tack för alla hjälp