[Projet de diplôme] Erreur 0x80040E14 lors d'un Update avec Access

Erreur 0x80040E14 lors d'un Update avec Access [Projet de diplôme] - ASP - Programmation

Marsh Posté le 28-04-2004 à 13:43:49    

Bonjour, je suis apprenti informaticien de 3e année et je fais un site Internet pour mon projet de diplôme.
J'utilise ASP et Access sur W2k Pro. Lorsque je veux éxécuter ma requête j'obtiens ce message d'erreur :
 
 :fou:  
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Pilote ODBC Microsoft Access] Instruction SQL non valide; 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT' ou 'UPDATE' attendus.
:fou:  
 
J'ai affiché la requête puis copier coller dans Access pour vérifier qu'elle fonctionne. Test positif, l'enregistrement est mis à jour. Mais depuis IE ça ne fonctionne pas ... J'ai ensuite testé le site ASP d'un collègue sur mon poste, je peux faire des update.
 
Voici le bout de code concerné :
 
'Création de la connection
Set obj_conn = Server.CreateObject("ADODB.Connection" )
obj_conn.Open "restaurant","",""

 
'Création du recordset
Set obj_rsUpdate = Server.CreateObject("ADODB.Recordset" )
 
'Variable SQL
str_SQLUpdate = "UPDATE t_Clients SET nom_champ_1='"&str_Nom&"',"&_
"nom_champ_2='"&str_Prenom&"',"&_
...
...
...
"nom_champ_n='"&str_N&"'"&_
" WHERE ID_Client="&int_ID

 
'Execution de la requête
obj_rsUpdate.Open str_SQLUpdate,obj_conn,1,3
 
Merci d'avance pour votre aide  :hello:


Message édité par klam le 28-04-2004 à 13:45:53
Reply

Marsh Posté le 28-04-2004 à 13:43:49   

Reply

Marsh Posté le 28-04-2004 à 13:56:51    

salut,
 
Fais un  response.write de str_SQLUpdate, colle le directement dans access et regarde ce que ça donne ....
 
ciao

Reply

Marsh Posté le 28-04-2004 à 14:35:53    

merci de ta rapidité de réponse, mais un peu trop rapide, je l'ai fait (c le copier coller dans access) et ca fonctionne ...

Reply

Marsh Posté le 28-04-2004 à 14:51:52    

essaie de faire fonctionner une requete tres simple d'update du genre:
 
update nom_table set champ='1' where pk=1;
Acces est chiant avec sa syntaxe.
 
essaie (pas verifier):
update table [nom_table] set [champ]="1" where [pk]=1;
ou
update [nom_table] set [champ]="1" where [pk]=1;

Reply

Marsh Posté le 28-04-2004 à 15:01:03    

[:bugman] et VS en plus

Reply

Marsh Posté le 28-04-2004 à 15:30:50    

Ah là il me dit :
 
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Pilote ODBC Microsoft Access] Erreur de syntaxe dans l'instruction UPDATE.

 
C'est le même numéro d'erreur mais pas le même texte !!!! :fou: je vais péter un plomb !!! J'ai réinstallé IIS, Access, puis Office2003 en entier...
Ca me tend !
 
Eh ouais VS :) mais j'ai jamais vécu à Conthey ja'i ke la famille ;)


Message édité par klam le 28-04-2004 à 15:32:12
Reply

Marsh Posté le 28-04-2004 à 15:41:51    

Euh je débute en ASp mais pour faire une requete de type "Query" c'est bien un recordset kil fo utiliser... mais pour une requete autre (de type update)  je fais comme ca perso:

Code :
  1. Dim commande
  2. set commande = Server.CreateObject("ADODB.command" )
  3. commande.ActiveConnection = conn
  4. commande.CommandText = LA_REQUETE
  5. commande.execute


A la tienne! [:buvons]  

Reply

Marsh Posté le 28-04-2004 à 15:44:27    

Alors j'ai essayé mais ça fonctionne pas non plus, de plus tu peux pas faire plusieurs opérations avec obj_conn si tu utilise execute.
Merci quand même. Et t'as appris qqch ;)


Message édité par klam le 28-04-2004 à 15:44:46
Reply

Marsh Posté le 03-05-2004 à 08:16:02    

bon alors suite à vos non-réponses je reviens, j'ai pas troué la solution paske j'ai retapé la requête de A à Z et maintenant elle fonctionne  :bounce:  :bounce:  :bounce:  ...... hum je vois pas comment mais ça fonctionne ...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed