Visites

   visiteurs

   visiteurs en ligne

Sujet n°173 lier ctrl formulaire à ctrl requête
    par PRISSON le 18/08/2008 : 12:44

Bonjour,

je voudrai lier un champ calculé d'un formulaire à un champ calculé d'une requête. comment faire?

Je vous remercie d'avance de votre aide. Les deux champs ont les mêmes types de données.

Prisson


Réponse n° 1 par 3stone le 18/08/2008 : 15:22
Bonjour,


Dixit...
lier un champ calculé d'un formulaire à un champ calculé d'une requête


Je ne vois pas ce que tu veux dire par là...

Tu peux détailler un peu ou donner un exemple ?

Cordialement,
Pierre(3stone)

Réponse n° 2 par PRISSON le 18/08/2008 : 16:55

rebonjour,

au fait j'ai une requête selection avec un champ calculé qui me permet d'obtenir une valeur X représentant par exemple la quantité en stock pour un produit quelconque. je voudrais lier le champ quantité de mon formulaire facture à la valeur X telle que la valeur entrée dans le champ quantité du formulaire facture ne puisse pas être superieure à la valeur X du formulaire.

Je voudrais à cet effet ecrire un code VBA en utilisant peut-être Dim 

Merci

Prisson

Réponse n° 3 par 3stone le 18/08/2008 : 19:10
Bonjour,


Dixit...
au fait j'ai une requête selection avec un champ calculé qui me permet d'obtenir une valeur X représentant par exemple la quantité en stock pour un produit quelconque.

Le stock s'obtient en calculant la somme des entrées et des sorties. Je ne vois pas comment tu peux obtenir cela par un champ calculé!

Mais admettons...


Dixit...
je voudrais lier le champ quantité de mon formulaire facture à la valeur X telle que la valeur entrée dans le champ quantité du formulaire facture ne puisse pas être superieure à la valeur X du formulaire.

Tu souhaite donc limiter le nombre saisi dans ton formulaire facture à cette valeur que tu as dans la requête, c'est cela ?

Si oui, il faudrait encore savoir ce que fait cette requête ? elle est la source du formulaire ?  ou bien c'est juste une requête créée pour calculer le stock ?

Si elle est la source du formulaire:

- sur avant mise à jour de la zone de texte

if [ZoneDeTexte] < [ChampCalculé] then

    Cancel = true

end if


Si requête qui sert juste au calcul du stock:

- sur avant mise à jour de la zone de texte

if DLookup("[ChampCalculé]","[NomRequête]") < [ZoneDeTexte] Then

    Cancel = true

End if


Mais tout cela est tellement vague... wink


Dixit...
Je voudrais à cet effet ecrire un code VBA en utilisant peut-être Dim

Rien à voir... Dim permet simplement de déclarer une variable biggrin

Cordialement,
Pierre(3stone)



Réponse n° 4 par Prisson le 20/08/2008 : 13:05

Bonjour Pierre,

je suis vraiment plus idiot que je ne pense. mais excuse moi Pierre, je suis pourtant determiné à connaitre la programmation.

Ma requête me permet de calculer le stock. J'ai alors ecrit le code que tu as indiqué mais ça ne marche pas ça affiche attendu := 

stp mets moi sur le bon chemin

Merci pour ta sollicitude.

Prisson

 

 

Réponse n° 5 par 3stone le 20/08/2008 : 13:27
Bonjour,

Je t'ai donné les pistes, il faut pouvoir adapter bien sûr eek

Pour être plus précis, il faut connaître les détails!
Dire que tu souhaites lier un champ calculé à un autre champ calculé ne veut pas dire grand chose et est même sûrement un façon fausse d'exprimer ce que tu cherches à faire...

Donc:
  • Le nom des champs dans la table
  • Quel est ce champ calculé : son nom et le fameux calcul
  • Ce que tu as dans le formulaire, sa source...
  • Quel est ce champ calculé dans le formulaire (et pourquoi tu l'appelle "champ calculé"
Aider est possible, mais la magie n'existe pas biggrin

Cordialement,
Pierre(3stone)

Réponse n° 6 par Prisson le 20/08/2008 : 17:52

Bonjour,

pour le formulaire: il s'agit au fait d'un sous formulaire Facture donc la source  est detail facture. Et vraissemblablement il ne s'agit pas d'un champ calculé mais du champ Qté (bien entendu qui permet de renseigner le champ Qté dans la table detail facture)

Pour la requête, il s'agit d'une requête selection(Inventaire stock) donc les champs sont  renseignés entre autres par la table detail facture et la table Achat et la table produit. Bien entendu Refprod est la clé primaire qui assure la liason entre toutes les tables. Alors le fameux champ calculé est baptisé Disponible et utilise la fonction Nz pour calculer le stock disponible. toutes les similations donnent très bien; il n'y a pas de doublons.

Le seul problème que je voudrai corriger est lié au fait que je voudrai lier la Qté du sous formulaire detail facture au champ disponible de la requête Inventaire stock telle que cette quantité saisie soit toujours inferieure ou egale à Disponible.

Merci pour ta sollicitudecool

Prisson

 

Réponse n° 7 par Prisson le 21/08/2008 : 18:05

Bonjour Pierre

Il paraît qu'il est possible de creer un champ texte sur le formulaire et d'y afficher la valeur d'une requête ou d'une table quelconque. Peut-être cette procedure peut resoudre mon problème.

Merci

Prisson

 

Réponse n° 8 par 3stone le 23/08/2008 : 14:10
Salut,

Le "il paraît" est correct wink

Si une requête de sélection ne ramène qu'un seul enregistrement, on peut afficher un de ses champs à l'aide de la fonction de domaine DLookup()

On écrit donc dans le textbox (sa source, en fait) :

=DLookup("LeChamp";"LaRequete")

S'il y a plusieurs enregistrement dans la requête, il faut spécifier la clause "Where" en troisième paramètre. Ce 3ème paramètre s'écrit comme un 'Where' d'une requête, mais en omettant le mot 'Where'.

=DLookup("LeChamp";"LaRequete";"NoClient=" & Me.NoClient)

Cordialement,
Pierre(3stone)



DébutPrécédent [ 1 2 ] SuivantFin

[ Retour à la liste des sujets ]

Recherche



Préférences

Se reconnecter
---

Votre nom (ou pseudo) :

Votre code secret


 Nombre de membres 1 membre


Connectés :

( personne )

Haut