Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

requete update et sous-requete

1 réponse
Avatar
Thierryx
Bonjour,

Jai un probleme lorsque j'essaie d'executer une requete=20
update, access me met le message d'erreur suivant :

"L'operation doit utiliser une requ=EAte qui peut etre mise=20
a jour."

Le probl=E8me, amon avis, doit venier du fait qu'il y a une=20
sous requete dans ma requete update, car si je l'enleve=20
cela fonctionne :

UPDATE R_facture INNER JOIN (T_fourniture INNER JOIN=20
(T_commande INNER JOIN TA_fouCom ON T_commande.PK_com =3D=20
TA_fouCom.FK_PK_com_fc) ON T_fourniture.Pk_fou =3D=20
TA_fouCom.FK_PK_fou_fc) ON (R_facture.objet =3D=20
T_fourniture.num_fou) AND (R_facture.ID_com =3D=20
T_commande.ID_com) SET TA_fouCom.TauxFG_fc =3D defFG_fou;

Alors ma question est : est ce que s'est totalement=20
impossible d'utiliser des sous-requetes dans une requete=20
UPDATE, et si c'est quand meme possible, comment les=20
utiliser? Ou si il existe une magouille ? (Tres frequent=20
dans access) ...

@ + et merci d'avance

1 réponse

Avatar
Michel B.
Bonjour,

Personnellement, j'ai créé une BD sous access qui
représente ma vidéothèque. Étant confronté au même
problème que vous, je me suis procurer un bouquin sur
le VBA (Access) et je travaille maintenant mes requêtes
par programmation.

Bien sur, ne connaissant pas vos connaissances sur le
sujet, même si je tentais de vous expliquer, ce serait
peut-être trop ardu, si le "défi" vous intéresse, voilà
un début de code :

Public Function ChangeRequeteDef(ChaineRequete As String,
ChaineSQL As String) As Boolean

Dim Definition As Variant

If ((ChaineRequete = "") Or (ChaineSQL = "")) Then
ChangeRequeteDef = False
Else
Set Definition = CurrentDb.QueryDefs(ChaineRequete)
Definition.SQL = ChaineSQL
Definition.Close
RefreshDatabaseWindow
ChangeRequeteDef = True
End If

End Function

Une fois cette fonction utilisé, un simple Me.Refresh dans
le formulaire visé, et voilà, le tour est joué.

Michel B.

-----Message d'origine-----
Bonjour,

Jai un probleme lorsque j'essaie d'executer une requete
update, access me met le message d'erreur suivant :

"L'operation doit utiliser une requête qui peut etre mise
a jour."

Le problème, amon avis, doit venier du fait qu'il y a une
sous requete dans ma requete update, car si je l'enleve
cela fonctionne :

UPDATE R_facture INNER JOIN (T_fourniture INNER JOIN
(T_commande INNER JOIN TA_fouCom ON T_commande.PK_com =
TA_fouCom.FK_PK_com_fc) ON T_fourniture.Pk_fou =
TA_fouCom.FK_PK_fou_fc) ON (R_facture.objet =
T_fourniture.num_fou) AND (R_facture.ID_com =
T_commande.ID_com) SET TA_fouCom.TauxFG_fc = defFG_fou;

Alors ma question est : est ce que s'est totalement
impossible d'utiliser des sous-requetes dans une requete
UPDATE, et si c'est quand meme possible, comment les
utiliser? Ou si il existe une magouille ? (Tres frequent
dans access) ...

@ + et merci d'avance



.