Rechercher : dans
Par :

Requête mise à jour MS access 2007

Dernière réponse le 24 jan 2009 à 22:20:20 marouane87, le 13 jan 2009 à 22:08:18 
 Signaler ce message aux modérateurs

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.

Configuration: Windows XP
Firefox 3.0.5

1

LatelyGeek, le 14 jan 2009 à 12:35:20

Dans la requête MAJ, mets un critère sur le champ qui sert d'identifiant, sous la forme:

Formulaires! NomDuFormulaire!NomDuChamp Pourquoi se compliquer la vie à faire simple, quand c'est si simple de faire compliqué?

Répondre à LatelyGeek

2

marouane87, le 14 jan 2009 à 18:30:47

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.

Répondre à marouane87

3

LatelyGeek, le 14 jan 2009 à 21:41:46

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. Pourquoi se compliquer la vie à faire simple, quand c'est si simple de faire compliqué?

Répondre à LatelyGeek

4

marouane87, le 14 jan 2009 à 23:07:30

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.

Répondre à marouane87

5

LatelyGeek, le 15 jan 2009 à 00:45:27

Donc c'est bien l'identifiant du compte présent dans le formulaire qui servira de critère pour la requête. Pourquoi se compliquer la vie à faire simple, quand c'est si simple de faire compliqué?

Répondre à LatelyGeek

6

marouane87, le 18 jan 2009 à 00:32:13

Salut,
ça me donne un message d'erreur: "type de données incompatible avec dans l'expression du critère" ???

Répondre à marouane87

7

marouane87, le 21 jan 2009 à 15:37:51

Aidez moi s.v.p

Répondre à marouane87

8

LatelyGeek, le 21 jan 2009 à 16:29:44

Impossible sans avoir plus d'infos.

Poste ta base avec cjoint.com, sinon on peut pas deviner ce qui cloche! Pourquoi se compliquer la vie à faire simple, quand c'est si simple de faire compliqué?

Répondre à LatelyGeek

9

marouane87, le 21 jan 2009 à 21:08:16

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.

Répondre à marouane87

10

LatelyGeek, le 21 jan 2009 à 22:28:20

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.
Pourquoi se compliquer la vie à faire simple, quand c'est si simple de faire compliqué?

Répondre à LatelyGeek

11

marouane87, le 22 jan 2009 à 20:33:01

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

Répondre à marouane87

12

marouane87, le 22 jan 2009 à 23:18:24

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: http://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.

Répondre à marouane87

13

LatelyGeek, le 22 jan 2009 à 23:38:12

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. Pourquoi se compliquer la vie à faire simple, quand c'est si simple de faire compliqué?

Répondre à LatelyGeek

14

marouane87, le 22 jan 2009 à 23:49:24

Bonsoir,
la voici convertit en acces 2003 : http://cjoint.com/?byxWIFbAfT
merci.

Répondre à marouane87

15

LatelyGeek, le 23 jan 2009 à 12:21:02

Même problème, je ne peux pas l'ouvrir. Pourquoi se compliquer la vie à faire simple, quand c'est si simple de faire compliqué?

Répondre à LatelyGeek

16

marouane87, le 23 jan 2009 à 21:49:23

Bonsoir,
la voici sous format 2000: http://cjoint.com/?bzvW4zO3ZI
à bientôt.

Répondre à marouane87

17

crapoulou, le 23 jan 2009 à 22:56:27

Salut,
Pour avancer :
Le lien de téléchargement est celui-ci :
http://cjoint.com/data/bzvW4zO3ZI_Banque_2000.rar
Bonne continuation.
Crapoulou. T'as un problème ? Passe sur CCM!
Il n'y a pas de problème sans solution.

Répondre à crapoulou

18

LatelyGeek, le 24 jan 2009 à 14:29:57

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. Pourquoi se compliquer la vie à faire simple, quand c'est si simple de faire compliqué?

Répondre à LatelyGeek

19

marouane87, le 24 jan 2009 à 14:52:12

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.

Répondre à marouane87