Probleme de modification d'un champs d'une base access.

gerfaut11 Messages postés 32 Date d'inscription mercredi 8 novembre 2000 Statut Membre Dernière intervention 28 mars 2006 - 26 avril 2005 à 11:52
gerfaut11 Messages postés 32 Date d'inscription mercredi 8 novembre 2000 Statut Membre Dernière intervention 28 mars 2006 - 23 mai 2005 à 15:33
Bonjour

J'ai une page asp qui me permet de modifier un enregistrement dans une base access, mais lorsque je l'utilise elle ne fait pas la modification de l'enregistrement mais me supprime le contenu.

Si quelqu'un connaît la solution??

D'avance merci

12 réponses

cs_Yopyop Messages postés 586 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 10 février 2010 1
26 avril 2005 à 13:14
salut,

peux-tu poster ton code?

yopyop
0
gerfaut11 Messages postés 32 Date d'inscription mercredi 8 novembre 2000 Statut Membre Dernière intervention 28 mars 2006
26 avril 2005 à 15:10
salut

La modif se fait en trois pages
1ere page je liste toutes les plantes de ma base
2eme page je modifie les champs
3eme page je fais un UPDATE


Voici la 3eme page==>


RefPla=Request.Form("RefPla")


NomLatinbis=Request.Form("NomLatin-bis")


NomFrancaisbis=Request.Form("NomFrancais_bis")


Refpla=CINT(RefPla)


NomLatinbis=Replace(lot_bis,"'","''")


NomLatinbis=Replace(lot_bis,"<","&lt")


NomLatinbis=Replace(lot_bis,">","&gt")


NomFrancaisbis=Replace(sponsor_bis,"'","''")


NomFrancaisbis=Replace(sponsor_bis,"<","&lt")


NomFrancaisbis=Replace(sponsor_bis,">","&gt")%>


DSN_BASE = "DBQ=" & Server.Mappath("/fpdb/Nouvelle plante.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};Driverld=25"%>


Set Conn = Server.CreateObject("ADODB.Connection")


Conn.Open DSN_BASE


Set Rs = Server.CreateObject("ADODB.Recordset")%>


RequeteSQL = "Update Résultats Set NomLatin='"&NomLatinbis&"',NomFrancais='"&Nomfrancaisbis&"' WHERE ref_Pla=" & RefPla


Rs.Open RequeteSQL , Conn%>


Set Rs = Nothing


Conn.Close


Set Conn = Nothing%>


<HTML>


<head>


<meta http-equiv=
"Content-Type" content="text/html; charset=windows-1252"
>


<meta name=
"GENERATOR" content="Microsoft FrontPage 4.0"
>


<meta name=
"ProgId" content="FrontPage.Editor.Document"
>


<title>
Marathon2000 - asp-irine.com : Validation de la modification du lot
</title>


</head>





"center">


Merci! La plante <%=NomLatinbis%>



a bien été modifié!




[Default.htm


retour page d'accueil]








</html>
0
gerfaut11 Messages postés 32 Date d'inscription mercredi 8 novembre 2000 Statut Membre Dernière intervention 28 mars 2006
26 avril 2005 à 15:11
salut

La modif se fait en trois pages
1ere page je liste toutes les plantes de ma base
2eme page je modifie les champs
3eme page je fais un UPDATE


Voici la 3eme page==>


RefPla=Request.Form("RefPla")


NomLatinbis=Request.Form("NomLatin-bis")


NomFrancaisbis=Request.Form("NomFrancais_bis")


Refpla=CINT(RefPla)


NomLatinbis=Replace(lot_bis,"'","''")


NomLatinbis=Replace(lot_bis,"<","&lt")


NomLatinbis=Replace(lot_bis,">","&gt")


NomFrancaisbis=Replace(sponsor_bis,"'","''")


NomFrancaisbis=Replace(sponsor_bis,"<","&lt")


NomFrancaisbis=Replace(sponsor_bis,">","&gt")%>


DSN_BASE = "DBQ=" & Server.Mappath("/fpdb/Nouvelle plante.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};Driverld=25"%>


Set Conn = Server.CreateObject("ADODB.Connection")


Conn.Open DSN_BASE


Set Rs = Server.CreateObject("ADODB.Recordset")%>


RequeteSQL = "Update Résultats Set NomLatin='"&NomLatinbis&"',NomFrancais='"&Nomfrancaisbis&"' WHERE ref_Pla=" & RefPla


Rs.Open RequeteSQL , Conn%>


Set Rs = Nothing


Conn.Close


Set Conn = Nothing%>


<HTML>


<head>


<meta http-equiv=
"Content-Type" content="text/html; charset=windows-1252"
>


<meta name=
"GENERATOR" content="Microsoft FrontPage 4.0"
>


<meta name=
"ProgId" content="FrontPage.Editor.Document"
>


<title>
Marathon2000 - asp-irine.com : Validation de la modification du lot
</title>


</head>





"center">


Merci! La plante <%=NomLatinbis%>



a bien été modifié!




[Default.htm


retour page d'accueil]








</html>
0
gerfaut11 Messages postés 32 Date d'inscription mercredi 8 novembre 2000 Statut Membre Dernière intervention 28 mars 2006
26 avril 2005 à 15:12
salut

La modif se fait en trois pages
1ere page je liste toutes les plantes de ma base
2eme page je modifie les champs
3eme page je fais un UPDATE


Voici la 3eme page==>


RefPla=Request.Form("RefPla")


NomLatinbis=Request.Form("NomLatin-bis")


NomFrancaisbis=Request.Form("NomFrancais_bis")


Refpla=CINT(RefPla)


NomLatinbis=Replace(lot_bis,"'","''")


NomLatinbis=Replace(lot_bis,"<","&lt")


NomLatinbis=Replace(lot_bis,">","&gt")


NomFrancaisbis=Replace(sponsor_bis,"'","''")


NomFrancaisbis=Replace(sponsor_bis,"<","&lt")


NomFrancaisbis=Replace(sponsor_bis,">","&gt")%>


DSN_BASE = "DBQ=" & Server.Mappath("/fpdb/Nouvelle plante.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};Driverld=25"%>


Set Conn = Server.CreateObject("ADODB.Connection")


Conn.Open DSN_BASE


Set Rs = Server.CreateObject("ADODB.Recordset")%>


RequeteSQL = "Update Résultats Set NomLatin='"&NomLatinbis&"',NomFrancais='"&Nomfrancaisbis&"' WHERE ref_Pla=" & RefPla


Rs.Open RequeteSQL , Conn%>


Set Rs = Nothing


Conn.Close


Set Conn = Nothing%>


<HTML>


<head>


<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"
>


<meta name="GENERATOR" content="Microsoft FrontPage 4.0"
>


<meta name="ProgId" content="FrontPage.Editor.Document"
>


<title>Marathon2000 - asp-irine.com : Validation de la modification du lot
</title>


</head>





"center">


Merci! La plante <%=NomLatinbis%>



a bien été modifié!




[Default.htm


retour page d'accueil]








</html>
0

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

Posez votre question
cs_Yopyop Messages postés 586 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 10 février 2010 1
26 avril 2005 à 15:22
re,

est-tu sur que tes valeurs sont pleines à ce moment.
fais un response.write RequeteSQL au lieu d'exécuter ta requête pour voir la tête qu'elle a.

PS:

Tu n'as pas besoin de faire Refpla=CINT(RefPla) et si tu le fais il vaut mieux faire avant
RefPla=Trim("" & Request.Form("RefPla"))

NomFrancaisbis=Replace(sponsor_bis,"<","&lt")

NomFrancaisbis=Replace(sponsor_bis,">","&gt")
A la place tu peux faire
NomFrancaisBis=Server.HTMLEncode("" & sponsor_bis)

Il vaut mieux éviter les nom avec des accens pour les bases de données. (table Résultats)
yopyop
0
gerfaut11 Messages postés 32 Date d'inscription mercredi 8 novembre 2000 Statut Membre Dernière intervention 28 mars 2006
26 avril 2005 à 16:08
Voila ce qui s'affiche avec response.write RequeteSQL :

False
Erreur de compilation Microsoft VBScript error '800a0401'


Fin d'instruction attendue


/iisHelp/common/500-100.asp, line 11


Dim objASPError, blnErrorWritten, strServername, strServerIP, strRemoteIP Dim strMethod, lngPos, datNow, strQueryString, strURL
--------------------------------------------------------------------------^
ADODB.Recordset error '800a0bb9'


Les arguments sont de type incorrect, en dehors des limites autorisées ou en conflit les uns avec les autres.


/traitement_modif.asp, line 25

Mais valeurs NomLatin et NomFrancais sont pleines.
0
cs_Yopyop Messages postés 586 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 10 février 2010 1
26 avril 2005 à 16:14
C'est bizard que tu n'arrives pas à afficher la requête non ?

Enlèves Refpla=CINT(RefPla)

yopyop
0
gerfaut11 Messages postés 32 Date d'inscription mercredi 8 novembre 2000 Statut Membre Dernière intervention 28 mars 2006
26 avril 2005 à 16:15
Enlever
toujours meme probleme
0
cs_Nurgle Messages postés 1642 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 28 avril 2011 4
1 mai 2005 à 21:46
Salut

Pourquoi pas :


RequeteSQL = "Update Résultats Set NomLatin='"&NomLatinbis&"',NomFrancais='"&Nomfrancaisbis&"' WHERE ref_Pla=" & RefPla & " "

Conn.Execute(RequeteSQL)

au lieu de


Set Rs = Server.CreateObject("ADODB.Recordset")%>


RequeteSQL = "Update Résultats Set NomLatin='"&NomLatinbis&"',NomFrancais='"&Nomfrancaisbis&"' WHERE ref_Pla=" & RefPla


Rs.Open RequeteSQL , Conn

Set Rs = nothing

on sait jamais...

@+++

Nurgle
C'est une grande folie que de vouloir être sage tout seul !
0
gerfaut11 Messages postés 32 Date d'inscription mercredi 8 novembre 2000 Statut Membre Dernière intervention 28 mars 2006
20 mai 2005 à 16:48
Salut

Je n'ai plus de message d'erreurs.

Mais les champs qui on étaient mis à jour son vide, l'UPDATE supprime les données.

Si quelqu'un connaît la solution????

Merci
0
cs_Nurgle Messages postés 1642 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 28 avril 2011 4
20 mai 2005 à 17:09
tu es vraiment sûr que tes variables sont pleines ?

le Response.Write(Requete SQL) donne quoi ?

ou même un Response.Write(NomLatinbis & " " & Nomfrancaisbis & " " & RefPla)






Nurgle
C'est une grande folie que de vouloir être sage tout seul !
0
gerfaut11 Messages postés 32 Date d'inscription mercredi 8 novembre 2000 Statut Membre Dernière intervention 28 mars 2006
23 mai 2005 à 15:33
Merci

Cela fonctionne correctement!!!!!!!
0
Rejoignez-nous