Réponse n° 1 -------- le 25/01/2018 : 00:19 par 3Stone
Administrateur
|
Bonjour,
DejaAchete = Nz(DLookup( ??LeChamps ?? , "[TblCompte]", "[N°client]= " & Me![N°client]))
DejaAchete = Nz(DLookup("[ " & LaVariable & "]", "TblCompte", ...
Mais le vrai problème n'est pas là
Tu as un gros problème de conception !
Avoir des "noms de champs qui changent" devrait t'alerter!
Ce que tu appelles "traiter la valeur" pour ensuite écrire la nouvelle valeur par une mise à jour et une erreur grossière de méthode.
On fait une mise à jour lorsque par exemple il y a changement d'adresse, l'ancienne adresse n'est plus utile.
Mais faire des mises à jour de présences ou autre ne doit pas se faire de cette manière.
La bonne méthode est d'avoir une table "T_Presences" avec les champs suivants :
ID => numéroauto
NoClient => numéro du client - clé externe de la table T_CLients
DatePresence => pour la date de présence
ou selon ton exemple...
NombreAchat => qui recoit le nombre acheté
Pour chaque mouvement, on y inscrit un enregistrement, soit positif, soit négatif.
Ensuite, pour connaitre la valeur résultante, on fait la somme...
DSum("NombreAchat","LaTable", "NoClient=" & Me.NumClient)
En fait, tu semble t'inspirer d'Excel pour tes traitements, ce qui est une (très) mauvaise idée.
Cordialement,
Pierre (3Stone)
|