Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Langages serveur > ASP
ASP Forum sur la programmation ASP. Avant de poster : Cours ASP, FAQ ASP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/11/2010, 13h18   #1
Invité régulier
 
Inscription : juin 2008
Messages : 74
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 74
Points : 7
Points : 7
Par défaut Mise à jour d'un fichier excel

Bonjour ,

J'arrive pas à mettre à jour mon fichier excel en asp
Je voudrais mettre à jour les données d'un fichier excel à partir de mon code ASP, mais j'ai l'erreur suivante :
Citation:
Le jeu d'enregistrements suivant ne prend pas en charge la mise à jour. Il s'agit peut-être d'une limitation du fournisseur ou du type de verrou sélectionné. .
voici le code de lecture de mon fichier
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
 
 
<% 
 
'--- Ouverture de la connexion
'--- Ici le fichier asp se trouve dans le même répertoire que test.xls
'Set Conn = Server.CreateObject("ADODB.Connection")
'str = "Driver={Microsoft Excel Driver (*.xls)}; DBQ=" & Server.MapPath(chemin)  
'Conn.Open str
 
'---- Chaine de requête SQL
'---- doudou est le nom que j'ai défini précédemment dans le fichier Excel (voir au dessus)
set conn=Server.CreateObject("adodb.connection")
conn.open "quotite"
SQL = "SELECT * from name" 
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open SQL, Conn
rs.movefirst
i=1
cpt=0
do while not rs.eof
 
'if  rs(0)<>""   then
'On va afficher   la quotité en couleur 
response.Write("<tr><td class='believe'><font color='red'><b>"&cpt& "</b></font></td><td class='believe'> <b>"&rs("nombre")& "</b> </td><td class='believe'><font color='red'><b>"&rs("multiplicateur")& "</b></font></td><td class='believe'><font color='blue'> "&rs("resultat")& " </font></td></tr>")
 
 '*******************Fin  de l'affichage de la couleur 
'end if 
rs.movenext
cpt=cpt+1
Loop
 
rs (0). Value = 300
 
rs.Update 
 
rs.close
set rs=nothing
conn.close
set conn=nothing
%>
J'arrive aisement à afficher les données de mon fichier excel
J'ai établi le lien avec mon fichier excel grâce à une source de données excel intitulé qquotite

Pouvez vous me montrer l'erreur
regisyves est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/11/2010, 09h56   #2
Modérateur
 
Avatar de roro06
 
Inscription : avril 2007
Messages : 1 362
Détails du profil
Informations personnelles :
Âge : 42

Informations forums :
Inscription : avril 2007
Messages : 1 362
Points : 1 545
Points : 1 545
Bonjour

Tu as ouvert ton curseur en lecture seule. Il ne peut donc pas effectuer de mise a jour.

Regarde ici pour choisir convenablement ton mode d'ouverture
__________________


" La vie c'est quelque chose de très fort et de très beau.... La vie appartient a tous les vivants. It's both a dream and a feeling. C'est être ce que nous ne sommes pas sans le rester. La vie c'est mourir aussi....Et mourir c'est vraiment strong...c'est rester en vie au delà de la mort...Tous ceux qui sont morts n'ignorent pas de le savoir."
(J.C. VanDamme, humoriste et philosophe belge . A moins que ce ne soit l'inverse ...)

Chuck Norris comprend JC Van Damme.
roro06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/11/2010, 11h39   #3
Invité régulier
 
Inscription : juin 2008
Messages : 74
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 74
Points : 7
Points : 7
peux tu me montrer clairement comment je dois procéder
regisyves est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/11/2010, 12h14   #4
Modérateur
 
Avatar de roro06
 
Inscription : avril 2007
Messages : 1 362
Détails du profil
Informations personnelles :
Âge : 42

Informations forums :
Inscription : avril 2007
Messages : 1 362
Points : 1 545
Points : 1 545
Concrètement tu peux ajouter les paramètres cursorType et lockType à la méthode Open de ton recodset. Dans ton cas :

Code :
rs.Open SQL, Conn, 3, 3
... par exemple.

Voir ici les constantes utilisables
__________________


" La vie c'est quelque chose de très fort et de très beau.... La vie appartient a tous les vivants. It's both a dream and a feeling. C'est être ce que nous ne sommes pas sans le rester. La vie c'est mourir aussi....Et mourir c'est vraiment strong...c'est rester en vie au delà de la mort...Tous ceux qui sont morts n'ignorent pas de le savoir."
(J.C. VanDamme, humoriste et philosophe belge . A moins que ce ne soit l'inverse ...)

Chuck Norris comprend JC Van Damme.
roro06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/11/2010, 12h29   #5
Invité régulier
 
Inscription : juin 2008
Messages : 74
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 74
Points : 7
Points : 7
J'ai essayé et j'ai l'erreur suivante

Citation:
Erreur de compilation Microsoft VBScript error '800a0401'

Fin d'instruction attendue

/SPACE_MUTASIR/pages/essai2.asp, line 22

mtn.Open dabah, conn 1, 2, 1




Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>TESTONS ENCORE LA LECTURE DE FICHIER </title>
</head>
 
<body>
<% 
'fichier_uploades= "C:\Inetpub\wwwroot\SPACE_MUTASIR\quotite.xls"  *'sConnectionString= "Provider=Microsoft.ACE.OLEDB.12.0;"&"Data Source=" &fichier_uploades&";"&"Extended Properties=Excel 12.0;"
'conn.open sConnectionString
 
set conn=CreateObject("adodb.connection")
conn.open "quotite"
Set mtn=CreateObject("adodb.recordset")
reket="select * from dabah"
mtn.open reket , conn 
mtn.movefirst
do while not mtn.eof
response.Write( mtn("titre2")  )
response.Write("<br>")
mtn.Open dabah, conn  1, 2, 1
 
 
'mtn.Fields (0). Value = "34"
'mtn.Fields (1). Value ="5673"
 
'mtn.Update  
 
 
mtn.movenext
 
 
loop 
 
%>
</body>
</html>
regisyves est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/11/2010, 13h45   #6
Invité régulier
 
Inscription : juin 2008
Messages : 74
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 74
Points : 7
Points : 7
J'ai essayé la solution que vous m'avez proposée mais j'ai la même erreur:
Le jeu d'enregistrements suivant ne prend pas en charge la mise à jour. Il s'agit peut-être d'une limitation du fournisseur ou du type de verrou sélectionné.

Code asp :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 
 
<% 
'fichier_uploades= "C:\Inetpub\wwwroot\SPACE_MUTASIR\quotite.xls"  *'sConnectionString= "Provider=Microsoft.ACE.OLEDB.12.0;"&"Data Source=" &fichier_uploades&";"&"Extended Properties=Excel 12.0;"
'conn.open sConnectionString
 
set conn=CreateObject("adodb.connection")
conn.open "quotite"
Set mtn=CreateObject("adodb.recordset")
reket="select * from dabah  where titre2=400000"
mtn.open reket , conn  , 3 , 3, 1
 
mtn.movefirst
 
response.Write( mtn("titre2"))
response.Write("<br>")
 
mtn.fields("titre2")= 500000
 
 
 
 
 
mtn.Update
 
%>
regisyves est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/11/2010, 14h17   #7
Modérateur
 
Avatar de roro06
 
Inscription : avril 2007
Messages : 1 362
Détails du profil
Informations personnelles :
Âge : 42

Informations forums :
Inscription : avril 2007
Messages : 1 362
Points : 1 545
Points : 1 545
Citation:
mtn.fields("titre2")= 500000
Code :
mtn.fields.items("titre2").value= 500000
__________________


" La vie c'est quelque chose de très fort et de très beau.... La vie appartient a tous les vivants. It's both a dream and a feeling. C'est être ce que nous ne sommes pas sans le rester. La vie c'est mourir aussi....Et mourir c'est vraiment strong...c'est rester en vie au delà de la mort...Tous ceux qui sont morts n'ignorent pas de le savoir."
(J.C. VanDamme, humoriste et philosophe belge . A moins que ce ne soit l'inverse ...)

Chuck Norris comprend JC Van Damme.
roro06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/11/2010, 14h22   #8
Invité régulier
 
Inscription : juin 2008
Messages : 74
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 74
Points : 7
Points : 7
ça ne marche toujours pas, teste toi même pour voir ; voici l'erreur :

Cet objet ne gère pas cette propriété ou cette méthode: 'items'
regisyves est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/11/2010, 14h43   #9
Modérateur
 
Avatar de roro06
 
Inscription : avril 2007
Messages : 1 362
Détails du profil
Informations personnelles :
Âge : 42

Informations forums :
Inscription : avril 2007
Messages : 1 362
Points : 1 545
Points : 1 545
Au temps pour moi :
Code :
mtn.fields.item("titre2").value= 500000
__________________


" La vie c'est quelque chose de très fort et de très beau.... La vie appartient a tous les vivants. It's both a dream and a feeling. C'est être ce que nous ne sommes pas sans le rester. La vie c'est mourir aussi....Et mourir c'est vraiment strong...c'est rester en vie au delà de la mort...Tous ceux qui sont morts n'ignorent pas de le savoir."
(J.C. VanDamme, humoriste et philosophe belge . A moins que ce ne soit l'inverse ...)

Chuck Norris comprend JC Van Damme.
roro06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/11/2010, 14h48   #10
Invité régulier
 
Inscription : juin 2008
Messages : 74
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 74
Points : 7
Points : 7
J'ai essayé et ça me donne l'erreur suivante BOF ou EOF est égal à True ou l'enregistrement actuel a été supprimé. L'opération demandée nécessite un enregistrement actuel. /SPACE_MUTASIR/pages/essai2.asp, line 33

Code asp :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
<% 
set conn=server.CreateObject("adodb.connection")
conn.open "quotite"
Set mtn=server.CreateObject("adodb.recordset")
reket="select * from dabah  where titre2=400000"
mtn.open reket , conn  , 3,3, 1
 do while not mtn.eof
response.Write( mtn("titre2"))
response.Write("<br>")
mtn.fields.item("titre2").value= 500000
mtn.eof.movenext
loop 
mtn.Update
%>
regisyves est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/11/2010, 15h07   #11
Modérateur
 
Avatar de roro06
 
Inscription : avril 2007
Messages : 1 362
Détails du profil
Informations personnelles :
Âge : 42

Informations forums :
Inscription : avril 2007
Messages : 1 362
Points : 1 545
Points : 1 545
Oui, ca veut dire qu'il n'y a aucun enregistrement dans ta table qui corresponde a tes criteres :
Citation:
where titre2=400000
. Tu ne peux pas mettre a jour un enregistrement qui n'existe pas
__________________


" La vie c'est quelque chose de très fort et de très beau.... La vie appartient a tous les vivants. It's both a dream and a feeling. C'est être ce que nous ne sommes pas sans le rester. La vie c'est mourir aussi....Et mourir c'est vraiment strong...c'est rester en vie au delà de la mort...Tous ceux qui sont morts n'ignorent pas de le savoir."
(J.C. VanDamme, humoriste et philosophe belge . A moins que ce ne soit l'inverse ...)

Chuck Norris comprend JC Van Damme.
roro06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/11/2010, 15h13   #12
Invité régulier
 
Inscription : juin 2008
Messages : 74
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 74
Points : 7
Points : 7
ça ne marche toujours pas et titre2=400000 existe bien .
Maintenant, j'ai l'erreur

Erreur d'exécution Microsoft VBScript error '800a01a8'

Objet requis: 'Faux'

/SPACE_MUTASIR/pages/essai2.asp, line 11


voici mon code

Code asp :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
 <% 
set conn=server.CreateObject("adodb.connection") 
conn.open "quotite" 
Set mtn=server.CreateObject("adodb.recordset") 
reket="select * from dabah  where titre2=400000" 
mtn.open reket , conn  , 3,3, 1  
do while not mtn.eof 
response.Write( mtn("titre2")) 
response.Write("<br>") 
mtn.fields.item("titre2").value= 500000 
mtn.movenext 
loop 
mtn.Update %>
regisyves est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/11/2010, 15h20   #13
Modérateur
 
Avatar de roro06
 
Inscription : avril 2007
Messages : 1 362
Détails du profil
Informations personnelles :
Âge : 42

Informations forums :
Inscription : avril 2007
Messages : 1 362
Points : 1 545
Points : 1 545
Citation:
mtn.eof.movenext
Non.
__________________


" La vie c'est quelque chose de très fort et de très beau.... La vie appartient a tous les vivants. It's both a dream and a feeling. C'est être ce que nous ne sommes pas sans le rester. La vie c'est mourir aussi....Et mourir c'est vraiment strong...c'est rester en vie au delà de la mort...Tous ceux qui sont morts n'ignorent pas de le savoir."
(J.C. VanDamme, humoriste et philosophe belge . A moins que ce ne soit l'inverse ...)

Chuck Norris comprend JC Van Damme.
roro06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/11/2010, 15h23   #14
Invité régulier
 
Inscription : juin 2008
Messages : 74
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 74
Points : 7
Points : 7
C'est pareil , j'ai toujours la même réponse
regisyves est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/11/2010, 09h24   #15
Modérateur
 
Avatar de roro06
 
Inscription : avril 2007
Messages : 1 362
Détails du profil
Informations personnelles :
Âge : 42

Informations forums :
Inscription : avril 2007
Messages : 1 362
Points : 1 545
Points : 1 545
De mémoire, je crois qu'il faut mettre l'update sur chaque enregistrement. donc avant le loop
__________________


" La vie c'est quelque chose de très fort et de très beau.... La vie appartient a tous les vivants. It's both a dream and a feeling. C'est être ce que nous ne sommes pas sans le rester. La vie c'est mourir aussi....Et mourir c'est vraiment strong...c'est rester en vie au delà de la mort...Tous ceux qui sont morts n'ignorent pas de le savoir."
(J.C. VanDamme, humoriste et philosophe belge . A moins que ce ne soit l'inverse ...)

Chuck Norris comprend JC Van Damme.
roro06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/11/2010, 10h00   #16
Invité régulier
 
Inscription : juin 2008
Messages : 74
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 74
Points : 7
Points : 7
merci pour ta voloenté de m'aider. Mais je pense que tu devrais tester cela en créant un fichier excel sur ta machine . Comme cela tu verras ce que ça donne . ça ne marche toujours pas . J'ai toujours les mêmes erreurs .
regisyves est déconnecté   Envoyer un message privé Réponse avec citation 01
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h58.


 
 
 
 
Partenaires

Hébergement Web