Requêtes imbriquées dans une base Access avec ADO.NET
chris_brabant
Messages postés64Date d'inscriptiondimanche 24 juillet 2005StatutMembreDernière intervention29 septembre 2014
-
12 août 2005 à 20:52
chris_brabant
Messages postés64Date d'inscriptiondimanche 24 juillet 2005StatutMembreDernière intervention29 septembre 2014
-
16 août 2005 à 14:01
Bonjour
lorsque j'essaie de mettre à jour un enregistrement dans une base access 2000, je récupère l'erreur HY000 : "L'opération doit utiliser une requête qui peut être miseàjour."
j'ai trouvé plein d'articles qui parlent de problèmes de droits d'accès, d'ASP.NET etc...
je ne suis pas dans ce cas : ma base n'a ausune sécurité, aucun mot de passe, le fichier mdb et le répertoire où il se trouve sont accessibles en écriture.
ca n'a rien à voir avec ASP.NET non plus : j'utilise VB.NET avec ADO
j'ai déclaré un DSN sur ma machine, et je procède de la manière suivante :
Dim mycon as OdbcConnection
Dim odbc_cmd as OdbcCommand
mycon.ConnectionString="DSN=mondsn"
mycon.open()
ensuite je fais une transaction avec un BeginTransaction(), puis je positionne :
odbc_cmd.CommandText = "Update Clients Set lien_pays_id=(Select pays_id From table_pays where pays="france") where nom_client=Dupont ;"
odbc_cmd.ExecuteNonQuery()
je précise qu'il n'y a aucune relation entre mes tables Access
le problème vient bien du fait d'imbriquer une requête SELECT dans la requête UPDATE, car le requête suivante fonctionne :
odbc_cmd.CommandText = "Update Clients Set lien_pays_i=5 where nom_client=Dupont ;"
odbc_cmd.ExecuteNonQuery()
Si quelqu'un a une idée, merci d'avance
Chris
A voir également:
Requêtes imbriquées dans une base Access avec ADO.NET
chris_brabant
Messages postés64Date d'inscriptiondimanche 24 juillet 2005StatutMembreDernière intervention29 septembre 2014 14 août 2005 à 21:52
je vais essayer en remplacant le = par un "in" mais je ne comprends pas pourquoi ca marcherait mieux.
et je suis sûr que la requête SELECT renvoie bien une seule valeur, car si je l'exécute séparément, elle renvoie bien une seule valeur !
existe-t-il un logiciel d'interrogation d'une base Access avec SQL ?
juste pour tester la requête hors de la programmation et d'ODBC...
merci
Vous n’avez pas trouvé la réponse que vous recherchez ?