Erreur avec access

Signaler
Messages postés
757
Date d'inscription
vendredi 7 septembre 2001
Statut
Membre
Dernière intervention
19 juin 2008
-
Messages postés
2
Date d'inscription
jeudi 28 avril 2005
Statut
Membre
Dernière intervention
14 juillet 2010
-
Je me connecte a ma base de donnee pour avoir le nom des clients dans une frame, sa ok sa marche, mais quand je veut modifier un nom j'ai cette erreur

Error Type:
Microsoft JET Database Engine (0x80040E09)
Cannot update. Database or object is read-only.
/Projet web/EnregistrerLivre.asp, line 14

mon code dans enregistrerlivre.asp est :
<!--#include file="Library.inc"-->
<%
Dim objConn, objRec
Dim strSQl

Set objConn = Server.CreateObject("ADODB.Connection")
Set objRec = Server.CreateObject("ADODB.Recordset")

if Request.QueryString("ACTION") = "RESERV" then
strSQl "SELECT * FROM Livres WHERE Numero_livre" & Request.QueryString("NoLivre")
objConn.Open strConnect
objRec.Open strSQL,objConn,0,3,1
objRec.Fields("Disponible") = "non"
objRec.Fields("Numero_de_membre") = Session("NoMembre")
objRec.Fields("Date_reserve") = Date
objRec.Fields("Date_retour_prevu") = (Date + 15)
objRec.Update

objRec.Close
objConn.Close
Set objRec = Nothing
Set objConn = Nothing

mon fichier library.inc
<%
strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;DATA Source=" & Server.MapPath(".") & "\Bibliotheque.mdb;"
%>

6 réponses

Messages postés
757
Date d'inscription
vendredi 7 septembre 2001
Statut
Membre
Dernière intervention
19 juin 2008

mon fichier library.inc
<%
strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;DATA Source=" & Server.MapPath(".") & "\Bibliotheque.mdb;"
%>
Messages postés
3
Date d'inscription
samedi 20 avril 2002
Statut
Membre
Dernière intervention
26 juin 2002

Premierement assures-toi que les paramètres passés a l'ouverture de ton recordset te permette de faire un update:

objRec.Open strSQL,objConn,0,3,1


Tu dois ouvrir le recordset en Forward-Only, donc impossible d'updater.

Sinon regardes les permissions de ton répertoire ou ta base est, tu dois avoir les droits d'écriture.

knightx - knightx@madgik.net
http://www.madgik.net
Messages postés
757
Date d'inscription
vendredi 7 septembre 2001
Statut
Membre
Dernière intervention
19 juin 2008

Sa marche pas encore, mon recordset est bien 0,3,1, mais je me demande si c'est pas le iis, dans les propriétés de l'iis Home Directory à quel niveau de la hiérarchie devons nous changer les propriétés, genre write, read, etc, pour le Web Sites ou le répertoire qui contient notre site en asp. Quelles propriétés devons nous mettre pour un accès total, sans restriction. Quand je change les propriétés dans le premier répertoire (le wwwroot) qui contient tous les site, je coche toutes les propriétés et cela m'enlève complètement l'accès a tous les sites de mon wwwroot, je remet les propriétés comme ils étaient et encore aucune accès, je doit donc désinstaller mon iis et réinstaller et la sa marche ou faire un backup.
Messages postés
3
Date d'inscription
samedi 20 avril 2002
Statut
Membre
Dernière intervention
26 juin 2002

Dans l'autre message je t'ai dit:

Regardes les paramêtres passé à ton recordset, tu dois l'ouvrir en ForwardOnly donc impossible d'updater: ton 0 = adOpenForwardOnly dans tes params : 0,3,1. Utilise plutôt 2 ou 3 ex:

adoRs.Open strsQL, adoConn, 3, 3

ton traitement

adoRs.Update

voilà...

knightx - knightx@madgik.net
http://www.madgik.net
Messages postés
12
Date d'inscription
jeudi 31 janvier 2002
Statut
Membre
Dernière intervention
29 avril 2002

Ceci dit, j'ai eu le même pépin alors que tous les droits et partages étaient correctement alloués. J'ai installé les patchs ADO pour le IIS et rien n'y a fait.
Ca s'est résolu bêtement en recréant un BdD ACCESS et en faisant un copier-coller "structure et données" d'une base sur l'autre.
Si qqu'un peut m'expliquer...
T'as qu'à essayer ça en désespoir de cause...
Messages postés
2
Date d'inscription
jeudi 28 avril 2005
Statut
Membre
Dernière intervention
14 juillet 2010

je veut une base de données sous access d'une bibliothéque