Addnew n'enregistre pas dans ma DB Access

GranDav Messages postés 12 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 2 février 2005 - 25 janv. 2005 à 16:47
GranDav Messages postés 12 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 2 février 2005 - 1 févr. 2005 à 11:40
Dernier recours le forum... Quelqu'un pourrait me dire en quoi mon code ci-dessous est incorrecte? L'update ne s'effectue pas dans Access et je n'ai aucun msg d'erreur...
Merci bcp d'avance!!

accessdb="DB\MIS_db.mdb"
mydsn="DRIVER={Microsoft Access Driver (*.mdb)};"
mydsn=mydsn & "DBQ=" & server.mappath(accessdb)
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open mydsn
strSQL = "SELECT * FROM IR2"
set rs = conn.Execute(strSQL)

rs.Addnew rs("PERNR")= request.form("PER_number")
rs("NAME")= request.form("Name")
rs("DEP")= request.form("Department")
rs("TITLE")= request.form("Request_title")
rs("TYPE")= request.form("Request_type")
rs.update
rs.close
Conn.Close
%>

<!--</FORM> -->

14 réponses

cs_roro06 Messages postés 732 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 29 octobre 2007
25 janv. 2005 à 17:38
Bonjour

fais plutôt
set rs=resver.createObject("adodb.recordset")
rs.source=strSQL
rs.CursorType = 1
rs.CursorLocation = 2
rs.LockType = 3
rs.open

Cordialement
Roro webDev
0
GranDav Messages postés 12 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 2 février 2005
26 janv. 2005 à 10:37
'rci Roro.. mais je comprend pas ça ne fonctionne pas non plus... Ma DB reste vide et le code à l'air correct. J'ai pourtant bien mis les droits d'écriture par mon serveur IIS... J'offre TOUTE ma gratitude à celui qui sera me dire pk . (Vous battez pas quand même )
0
cs_roro06 Messages postés 732 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 29 octobre 2007
26 janv. 2005 à 11:08
Bonjour

Oui, j'ai oublié de rajouter
rs.activeConnection=mydsn ... et mydsn est faux :

accessdb="/DB/MIS_db.mdb"
mydsn="DRIVER={Microsoft Access Driver (*.mdb)};"
mydsn=mydsn & "DBQ=" & server.mapPath(".") & accessdb

vire l'objet conn qui ne sert à rien, dont le nom heurte les oreilles sensibles, et qui surtout mobilise de la ressource serveur pour rien.
Pour résumer :

strSQL = "SELECT * FROM IR2"

set rs=resver.createObject("adodb.recordset")
rs.source=strSQL
rs.CursorType = 1
rs.CursorLocation = 2
rs.LockType = 3
rs.open

rs.Addnew
rs("PERNR")= request.form("PER_number")
rs("NAME")= request.form("Name")
rs("DEP")= request.form("Department")
rs("TITLE")= request.form("Request_title")
rs("TYPE")= request.form("Request_type")
rs.update
rs.close

si ça, ça ne marche pas ...

Cordialement
Roro webDev
0
GranDav Messages postés 12 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 2 février 2005
26 janv. 2005 à 13:35
Et si ça ne marche pas?
C'est bizarre qu'avec ma méthode j'arrive à lire dans access et afficher sur une page html ( <%=rs("PERNR")%> ) et avec la tienne rien....
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_roro06 Messages postés 732 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 29 octobre 2007
26 janv. 2005 à 14:28
Bonjour

Si ma méthode ne marche pas, il faut chercher ailleurs le défaut, car c'est celle que j'utilise tous les jours. Je suis un peu sceptique sur le fait d'afficher <%= quelquechose %> dans une page html. Si tu veux m'envoyer tes codes, je veux bien jeter un coup d'oeil.
Cordialement
Roro webDev
0
Nicolas_kojack Messages postés 136 Date d'inscription vendredi 19 novembre 2004 Statut Membre Dernière intervention 25 mai 2012
27 janv. 2005 à 02:07
Tiens essayes ca :
<%
Conn = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.mapPath("database/base.mdb")
Set rs = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * FROM IR2"
rs.Open SQL, conn ,3 ,3


rs.addnew
rs("PERNR")= request("PER_number")
rs("NAME")= request("Name")
rs("DEP")= request("Department")
rs("TITLE")= request("Request_title")
rs("TYPE")= request("Request_type")
rs.update


response.redirect "ta_page_de_redirection.asp"
%>

Evite d'utiliser des termes de language dans tes champs
0
Nicolas_kojack Messages postés 136 Date d'inscription vendredi 19 novembre 2004 Statut Membre Dernière intervention 25 mai 2012
27 janv. 2005 à 02:31
Je voulais rajouter que de conn jusqu'à database/base.mdb") c bien entendu sur la meme ligne et que j'entend par termes de language les trucs du style ton champs type... voila

Bonne journée a toi
0
GranDav Messages postés 12 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 2 février 2005
27 janv. 2005 à 09:13
Excellent!!!
Merci les amis!!!! Après moulte et moulte investigations, par chance, par bonheur ou par pur hasard, j'ai retiré la "merveilleuse" ligne de code : On error resume next!!! Cette ligne me cachait des erreurs de connection insoupçonnées...
Mucha gracias à tous les deux d'y avoir passé du temps.!
Danke en bedankt!
Thanks you

Moi.
0
Nicolas_kojack Messages postés 136 Date d'inscription vendredi 19 novembre 2004 Statut Membre Dernière intervention 25 mai 2012
27 janv. 2005 à 17:27
De rien on est la pour s'entraider et trouver notre bonheur
Je paries que ton probleme se situait au niveau de ton antislash qui aurais dût etre un slash ?

Bonne journée
0
GranDav Messages postés 12 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 2 février 2005
28 janv. 2005 à 09:11
LOL, et non j'avais essayé cela... LES problèmes étaient dû à un manque de privilèges sur la Db en déclarant la connection (la lecture fonctionnait mais pas l'écriture), au recordset qui était mal défini et à certaines méthodes non existance. (rs.Source) Faut dire aussi que j'ai essayé environ dix mille différentes manières de connection.. ;-)

Bonne journée...
0
malhivertman1 Messages postés 489 Date d'inscription mardi 16 novembre 2004 Statut Membre Dernière intervention 22 novembre 2007 1
31 janv. 2005 à 10:53
Vu ke tu as réussi, pouré tu me dire ou ece kon modifie les droit d'ecriture pour la base car etan debutan je ne C pa..
Je te seré reconnaissan de me "colé" ton code aussi, ca seré sympa, car je suis en trin de faire presqu pareil et je ni arriv pa moi non plu

Voila, merci
++
0
GranDav Messages postés 12 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 2 février 2005
31 janv. 2005 à 14:45
lol oki pas de problème. Voici mon code:
Conn = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.mapPath ("DB\MIS_db.mdb")
Set rs = Server.CreateObject("ADODB.Recordset")
strSQL = "SELECT * FROM IR_information"
rs.Open strSQL, Conn ,3 ,3

'Je pense que les doits se mettent ici au moment de l'ouverture (open) de la DB (3,3) Je ne connais pas les différentes options...

rs.AddNew
rs("PERNR")= request.form("PER_number")
rs("NAME")= request.form("Name")
rs.update
rs.close

Dis si ça court...
0
malhivertman1 Messages postés 489 Date d'inscription mardi 16 novembre 2004 Statut Membre Dernière intervention 22 novembre 2007 1
31 janv. 2005 à 17:30
Disons que pour le moment, ca ne court pas tro tro....
Enfin ca ma avancé qd mêm mé il me reste des erreur de doublon tré sympathiqu

Type d'erreur :
Microsoft OLE DB Provider for ODBC Drivers (0x80040E2F)
[Microsoft][Pilote ODBC Microsoft Access] Modifications non effectuées: risque de doublons dans champs index, clé principale ou relation interdisant les doublons. Modifiez les données des champs contenant les doublons, enlevez ou redéfinissez l'index pour permettre les doublons et recommencez.

A moi de reglé ca
Merci qd mêm pr l'avancemen

++
0
GranDav Messages postés 12 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 2 février 2005
1 févr. 2005 à 11:40
Oui ton problème est plus dans ta DB. Si tu permets l'enregistrement de records identiques, retire l'index du/des champ(s) concernés. (Yes (Duplicates OK))
0