Requête mise à jour MS access 2007

Résolu
marouane87 Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   -  
 prohomme2010 -
Bonjour,
j'ai un petit problème au niveau d'une requête mise à jour sous access 2007, la requête met à jour tous les enregistrements de la table mais, je veux que la mise à jour n'affecte que l'enregistrement en cours (qui est afficher dans mon formulaire)
Remarque: je sais rien en sql ni en VB.
merci.
A voir également:

21 réponses

LatelyGeek Messages postés 1758 Date d'inscription   Statut Membre Dernière intervention   550
 
Dans la requête MAJ, mets un critère sur le champ qui sert d'identifiant, sous la forme:

Formulaires! NomDuFormulaire!NomDuChamp
1
marouane87 Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   8
 
Salut,
merci beaucoup, ça marche trop bien, je te remercie infiniment, ça fait longtemps que je cherche la solution sans résultat.
Je vais mettre le tag que le problème est résolu (grâce à toi)
cependant, j'ai un autre petit problème (mais pas de problème si tu veux pas y casser la tête car tu m'as déjà trop aider), en effet, dans la formulaire "opération courant", il y a aussi un champ appelé "paiement d'effets", il consiste à transférer l'argent d'un compte à un autre, donc je crois qu'on a besoin d'une requête qui demande l'identifiant du compte de celui qui va recevoir l'argent, elle soustrait du compte actuel (celui qui va envoyer l'argent) et l'ajouter au compte de celui qui va recevoir. Mais je n'ai aucune idée comment procéder, pourras tu me donner un coup de main?
à bientôt.
1
marouane87 Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   8
 
Bonjour,
merci pour ta réponse, j'accède au formulaire grâce à l'identifiant du compte, le formulaire admet un champ "identifiant du compte", un champ "mentant", un champ "versement" ou j'insère la valeur à ajouter au mentant déjà présent et un bouton qui appel la requête, ça sera quoi dans l'expression "Formulaires! NomDuFormulaire!NomDuChamp " le "NomDuChamp" l'identifiant ou mentant.
merci beaucoup.
0
LatelyGeek Messages postés 1758 Date d'inscription   Statut Membre Dernière intervention   550
 
Je ne peux pas te répondre vu que je ne sais pas ce que fait la requête en question...

J'imagine qu'elle ajoute le nouveau montant quelque part, et je dirais donc que c'est l'identifiant du compte, mais je suis un peu dans le flou.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
marouane87 Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   8
 
Salut,
merci encore une fois pour voir me répondre, mon objectif est d'ajouter la somme à verser à l'ancien mentant,
c'est à dire, j'ai un mentant après avoir exécuter la requête j'aurai mentant=mentant+somme à verser
merci.
0
LatelyGeek Messages postés 1758 Date d'inscription   Statut Membre Dernière intervention   550
 
Donc c'est bien l'identifiant du compte présent dans le formulaire qui servira de critère pour la requête.
0
marouane87 Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   8
 
Salut,
ça me donne un message d'erreur: "type de données incompatible avec dans l'expression du critère" ???
0
marouane87 Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   8
 
aidez moi s.v.p
0
LatelyGeek Messages postés 1758 Date d'inscription   Statut Membre Dernière intervention   550
 
Impossible sans avoir plus d'infos.

Poste ta base avec cjoint.com, sinon on peut pas deviner ce qui cloche!
0
marouane87 Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   8
 
Bonjour,
ma base de donnée est de 6Mb, je sais pas si je pourrai la mettre (en plus je connais pas comment le faire), en tout cas, mais je vais mieux t'expliquer, je dispose d'une table "client" qui contient les informations des clients et parmi lesquelles il y a le champ "identifiant du compte" qui est l'identifiant de son compte bancaire, ensuite, j'ai une table "compte" qui contient les champs suivants: l'identifiant de compte bancaire (pour faire la correspondance avec la table précédente et les mettre en liaison), "mentant" (l'argent disponible actuellement dans le compte), "versement" (pour mettre la valeur à ajouter ou à verser) (respectivement retirer pour retirer l'argent, mais je crois que si on aboutit à une solution pour l'ajout, tout sera régler puisque je répéterai le même travail), enfin, je veux créer une requête qui affecte le mentant par le mentant lui même plus la valeur introduite dans "versement", donc ça sera algorithmiquement (le rôle de la requête) mentant=mentant+versement
j'ai procéder par une requête de mise à jour qui fait cette opération, mais mon problème était qu'il ajoute le versement à tous les compte, c'est à dire, si je veux (en utilisant cette requête ) verser 5$ à Alex alors Pierre, Alex, Jean... (bref, tous les comptes) auront +5$ pendant que je ne veux ajouter ces 5$ qu'au compte d'Alex.
En procédant par ta méthode, j'ai rencontré un problème, le message dit "type de données incompatible avec dans l'expression du critère", et je crois que ça revient à la nature des champs, puisque l'identifiant est un champ numérique et "mentant ainsi que "versement" sont monétaire.
j'espère que les choses sont plus claire.
Merci énormément pour avoir m'aider.
0
LatelyGeek Messages postés 1758 Date d'inscription   Statut Membre Dernière intervention   550
 
Dans la requête MAJ, mets un critère sur le champ qui sert d'identifiant, donc normalement le numéro de compte, sous la forme:

Formulaires!NomDuFormulaire!NomDuChamp
Nom DuFormulaire = Nom du formulaire à partir duquel tu lanceras la requête MAJ
NomDuChamp = Nom du champ du formulaire qui contient le numéro de compte.
0
marouane87 Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   8
 
salut,
je viens de l'essayer, mais maintenant, il ne fait rien, une fois la requête exécutait, il me dit que 0 lignes vont etre mis à jour, et ensuite aucune mise à jour n'est effectuer.
Existe t-il une autre solution s.v.p
merci
0
marouane87 Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   8
 
Bonsoir,
J'ai réussi à zipper ma base dans un fichier rare, je te passe le lien pour la télécharger et la regarder, le lien est: https://www.cjoint.com/?byxvvCLNfA
J'espère bien que tu pourra m'aider bientôt car je suis devenu presse de plus en plus par le temps x(
mais en tout cas, grand merci à toi et à bientôt.
0
LatelyGeek Messages postés 1758 Date d'inscription   Statut Membre Dernière intervention   550
 
C'est du 2007, je suppose... Je ne peux pas l'ouvrir. Enregistre ta base à la version précédente s'il te plait, et renvoie la moi.
0
marouane87 Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   8
 
Bonsoir,
la voici convertit en acces 2003 : https://www.cjoint.com/?byxWIFbAfT
merci.
0
LatelyGeek Messages postés 1758 Date d'inscription   Statut Membre Dernière intervention   550
 
Même problème, je ne peux pas l'ouvrir.
0
marouane87 Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   8
 
Bonsoir,
la voici sous format 2000: https://www.cjoint.com/?bzvW4zO3ZI
à bientôt.
0
crapoulou Messages postés 28195 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   8 013
 
Salut,
Pour avancer :
Le lien de téléchargement est celui-ci :
http://cjoint.com/data/bzvW4zO3ZI_Banque_2000.rar
Bonne continuation.
Crapoulou.
0
LatelyGeek Messages postés 1758 Date d'inscription   Statut Membre Dernière intervention   550
 
Ok bien reçu, mais tu charries un peu. Il y a 12 formulaires et 25 requêtes, j'ai pas du tout le temps de chercher où est TON problème.
0
marouane87 Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   8
 
Bonjour,
mon problème est dans la requête "Mise à jour compte (versement)", cette requête met à jour tous les enregistrement du champ "compte" dans la table "Opérations courant", et je veux limiter la mise à jour que pour l'enregistrement cours dans la formulaire "Opération courant".
En tout cas, je te remercie pour vouloir m'aider.
à bientôt.
0