Bonjour,
Je suis sur un petit projet actuellement et je rencontre une petite erreur mais qui je dois l'avouer me pose quelques problèmes.
En fait j'ai une Fiche de sous catégorie, sur laquelle je peu effectuer des modifications et j'ai créer un bouton qui me permettrais d'annuler les modifs.
Je stocks donc les valeur au moment du chargement de la fiche et les compare lorsque j'appuis sur le bouton Annuler afin de restituer les anciennes valeurs.
J'ai une table CATE (catégorie) et SSCATE (sous-catégorie), je pars du principe que chaque sous catégorie appartient à une catégorie (d'où le Sscate_cateid qui est la clé étrangère de la table catégorie).
Pour faire simple si je détecte une différence entre l’ancienne valeur et la nouvelle valeur de la clé étrangère, j'applique l'update et je ré attribue l'ancienne valeur que je récupère par une variable "cateid2".
Quand je fais une vérif sur les valeurs qui sont attribué à mes variable "cateid" et "cateid2" je récupère bien les valeurs de la nouvelle et de l'ancienne clé étrangère donc la dessus pas de problème.
Si dans l'update je remplace la variable par un chiffre ça marche aussi.
Mais dans l'état sa ne marche pas il me conserve la nouvelle valeur au lieu de remettre l'ancienne et la je pige plus.
Si quelqu'un à une petite idée je l'en remercie d'avance parce que là je vois pas ce qui coince pour le coup.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 If cateid <> cateid2 Then Ssql = "UPDATE SSCATE SET Sscate_cateid = " & cateid2 & " " _ & "WHERE Sscate_id = " & sscateid & "; " DoCmd.RunSQL (Ssql) End If
Cordialement
Partager