OVH Cloud OVH Cloud

utilisation d'un résultat dans une requête

8 réponses
Avatar
jipi
Bonjour,

J'ai mis le résultat numérique (champ TOTAL) d'une somme de valeurs dans une
table.

Je veux dans une nouvelle requête faire un calcul sur chaque ligne qui
puisse me donner le pourcentage calculé depuis le champ MONTANT de la ligne
et le champ TOTAL de mon autre table.

Là je bloque! Comment faire ?

Merci de votre aide

jipi

8 réponses

Avatar
Raymond [mvp]
RE.

récupérer la valeur du champ TOTAL de la table par DLookup dans un champ
calculé et tu peux t'en servir pour faire les calculs sur la ligne.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"jipi" a écrit dans le message de news:

Bonjour,

J'ai mis le résultat numérique (champ TOTAL) d'une somme de valeurs dans
une
table.

Je veux dans une nouvelle requête faire un calcul sur chaque ligne qui
puisse me donner le pourcentage calculé depuis le champ MONTANT de la
ligne
et le champ TOTAL de mon autre table.

Là je bloque! Comment faire ?

Merci de votre aide

jipi


Avatar
jipi
Re bonjour Raymond,

ça ne marche pas!

Voici le champ calculé de ma nouvelle requête :

pourcent: [matable]![Montant]/RechDom([cumul]![total];"cumul")*100

J'ai mis les 2 tables dans ma requête sinon il considère le champ total
comme étant un paramètre à saisir.

Le résultat de ma requête est vierge!
Qu'est ce qui cloche ?

jipi


RE.

récupérer la valeur du champ TOTAL de la table par DLookup dans un champ
calculé et tu peux t'en servir pour faire les calculs sur la ligne.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"jipi" a écrit dans le message de news:

Bonjour,

J'ai mis le résultat numérique (champ TOTAL) d'une somme de valeurs dans
une
table.

Je veux dans une nouvelle requête faire un calcul sur chaque ligne qui
puisse me donner le pourcentage calculé depuis le champ MONTANT de la
ligne
et le champ TOTAL de mon autre table.

Là je bloque! Comment faire ?

Merci de votre aide

jipi







Avatar
Raymond [mvp]
la table contenant le total ne doit pas apparaître dans la requête.

modifie comme ceci:
pourcent: [Montant]/RechDom("total";"cumul")*100

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"jipi" a écrit dans le message de news:

Re bonjour Raymond,

ça ne marche pas!

Voici le champ calculé de ma nouvelle requête :

pourcent: [matable]![Montant]/RechDom([cumul]![total];"cumul")*100

J'ai mis les 2 tables dans ma requête sinon il considère le champ total
comme étant un paramètre à saisir.

Le résultat de ma requête est vierge!
Qu'est ce qui cloche ?

jipi



Avatar
jipi
Bonjour Raymond,

Ok . Mon pb venait du fait qu'il y avait un caractère blanc après les ":".

Toutefois j'ai un petit pb : si je lance ma requête plusieurs fois, tout en
ayant effacé ma table, ma requête ajout incrémente à chaque fois depuis la
dernière position. Hors je voudrais que la num auto redémarre à zéro à chaque
lancement.
Est ce possible ?
Si oui comment ?

Merci d'avance

jipi


la table contenant le total ne doit pas apparaître dans la requête.

modifie comme ceci:
pourcent: [Montant]/RechDom("total";"cumul")*100

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"jipi" a écrit dans le message de news:

Re bonjour Raymond,

ça ne marche pas!

Voici le champ calculé de ma nouvelle requête :

pourcent: [matable]![Montant]/RechDom([cumul]![total];"cumul")*100

J'ai mis les 2 tables dans ma requête sinon il considère le champ total
comme étant un paramètre à saisir.

Le résultat de ma requête est vierge!
Qu'est ce qui cloche ?

jipi








Avatar
Raymond [mvp]
ça c'est plus difficile; Pour repartir à 0 il faut vider la table et
compacter la base. ce qui ne va pas dans le sens de la simplification
désirée au départ.
pour compacter la base en cours, regarde la procédure de jessy sur la page :
http://access.jessy.free.fr/htm/DownLoad/CompactDb.htm et tu décideras
toi-même si tu dois passer par là. si oui, tu inclus un appel à sa procédure
mais le problème est pour revenir dans ton code au bon endroit.
est-ce indispensable ?

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"jipi" a écrit dans le message de news:

Bonjour Raymond,

Ok . Mon pb venait du fait qu'il y avait un caractère blanc après les ":".

Toutefois j'ai un petit pb : si je lance ma requête plusieurs fois, tout
en
ayant effacé ma table, ma requête ajout incrémente à chaque fois depuis la
dernière position. Hors je voudrais que la num auto redémarre à zéro à
chaque
lancement.
Est ce possible ?
Si oui comment ?

Merci d'avance

jipi



Avatar
jipi
Bonjour Raymond,

Effectivement ce n'est pas simple et très contraignant en temps.

Je vais essayer de trouver une autre solution

A+ jipi



ça c'est plus difficile; Pour repartir à 0 il faut vider la table et
compacter la base. ce qui ne va pas dans le sens de la simplification
désirée au départ.
pour compacter la base en cours, regarde la procédure de jessy sur la page :
http://access.jessy.free.fr/htm/DownLoad/CompactDb.htm et tu décideras
toi-même si tu dois passer par là. si oui, tu inclus un appel à sa procédure
mais le problème est pour revenir dans ton code au bon endroit.
est-ce indispensable ?

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"jipi" a écrit dans le message de news:

Bonjour Raymond,

Ok . Mon pb venait du fait qu'il y avait un caractère blanc après les ":".

Toutefois j'ai un petit pb : si je lance ma requête plusieurs fois, tout
en
ayant effacé ma table, ma requête ajout incrémente à chaque fois depuis la
dernière position. Hors je voudrais que la num auto redémarre à zéro à
chaque
lancement.
Est ce possible ?
Si oui comment ?

Merci d'avance

jipi








Avatar
jipi
Bonjour Raymond,

En fait j'utilise l'astuce suivante (d'accord ce n'est pas idéal mais ça
fonctionne) :

Pour chaque table que j'ai besoin de réinitialiser je fais :
vider la table "i"
copier la table "i" vide dans une table intermédiaire "j"
supprimer la table "i"
copier la table "j" dans la table "i"
supprimer la table "j"

Tout ça dans une macro, c'est très rapide.

A+

jipi


ça c'est plus difficile; Pour repartir à 0 il faut vider la table et
compacter la base. ce qui ne va pas dans le sens de la simplification
désirée au départ.
pour compacter la base en cours, regarde la procédure de jessy sur la page :
http://access.jessy.free.fr/htm/DownLoad/CompactDb.htm et tu décideras
toi-même si tu dois passer par là. si oui, tu inclus un appel à sa procédure
mais le problème est pour revenir dans ton code au bon endroit.
est-ce indispensable ?

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"jipi" a écrit dans le message de news:

Bonjour Raymond,

Ok . Mon pb venait du fait qu'il y avait un caractère blanc après les ":".

Toutefois j'ai un petit pb : si je lance ma requête plusieurs fois, tout
en
ayant effacé ma table, ma requête ajout incrémente à chaque fois depuis la
dernière position. Hors je voudrais que la num auto redémarre à zéro à
chaque
lancement.
Est ce possible ?
Si oui comment ?

Merci d'avance

jipi








Avatar
Raymond [mvp]
Comme je dis, l'essentiel est que ça fonctionne, et efficacement.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"jipi" a écrit dans le message de news:

Bonjour Raymond,

En fait j'utilise l'astuce suivante (d'accord ce n'est pas idéal mais ça
fonctionne) :

Pour chaque table que j'ai besoin de réinitialiser je fais :
vider la table "i"
copier la table "i" vide dans une table intermédiaire "j"
supprimer la table "i"
copier la table "j" dans la table "i"
supprimer la table "j"

Tout ça dans une macro, c'est très rapide.

A+

jipi