Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

probleme pour appeler une procedure ou est stocké une variable à partir d'une autre procedure dans un autre module

3 réponses
Avatar
francisco
Bonjour tout le monde

J'ai créer la requete suivante ou je stocke une Requete definit comme
variable Rsql dans module1 et la procedure est la suivante
Qu'est ce que je dois écrire pour l'appeler à partir d'un module2 à
l'interieur d'une autre procedure appeler Sub appel ().De plus j'ai créé des
varables
CritereCodeProduct = FrmSaisie.CboListeCodeProduct.Value
CritereConditionnement = FrmSaisie.CboListeConditionnement.Value
CriterePM = FrmSaisie.CboListePM.Value
CritereCouleur = FrmSaisie.CboListeCouleur.Value
CritereVolume = FrmSaisie.CboListeVolume.Value
ou dois je les placer dans la procedure requete ou dans la procedure appel
et comment

Merci pour vous reponses amicalement francisco
____________________________________________________________________________
_____________________________________________
Public Rsql As String
____________________________________________________________________________
_____________________________________________
Sub requete()

Rsql = "Select Ventes1999.CodeProduct, Ventes1999.LibelleCodeProduct,
Ventes1999.CodeConditionnement,Ventes1999.CodeCouleur," _
& " Ventes1999.Grammage, Ventes1999.PM, Ventes1999.Volume,
Ventes1999.AverageExMill ," _
& " Ventes1999.VariablesCosts, Ventes1999.FixedCosts,
Ventes1999.TonnesHeures FROM Ventes1999 " _
& "WHERE ((Ventes1999.LibelleCodeProduct)= '" & CritereCodeProduct & "' and
(Ventes1999.CodeConditionnement)= '" & CritereConditionnement & "' and
(Ventes1999.PM) = '" & CriterePM & "'and Ventes1999.CodeCouleur= '" &
CritereCouleur & "'and Ventes1999.Volume >" & Replace(CritereVolume, ",",
".") & " );"
End Sub
____________________________________________________________________________
__________________________________________________
Sub appel()

Call module1.requete + quelquechose je ne sais pas quoi
End Sub

3 réponses

Avatar
michdenis
Bonjour Francisco,


La donne de ton problème n'est pas claire.

Qu'est-ce que tu tentes de réaliser ?

Si tu veux réaliser (exécuter) une requête à partir d'une procédure d'un formulaire, il te faut un support comme DAO,
ADO, ou un QueryTable (Query) pour la concrétiser.

Pour appeler une procédure située dans un module standard, tu n'as qu'à inscrire son nom et renseigner les paramètres de
celle-ci le cas échéant, il n'est pas nécessaire d'inscrire le nom du module standard d'où elle provient.

Par contre, si ta procédure est inscrite dans un module feuille, il est obligatoire de faire son appel en la faisant
procéder du nom du module feuille.


Voici un petit exemple :

A ) les 2 macros dans un module standard :

Exécute la procédure message

'-----------------------
Sub Message()

Dim Msg As String
Msg = "Bonjour à tous"
AfficherLeMessage Msg

End Sub
'-----------------------

Sub AfficherLeMessage(Msg As String)

MsgBox Msg

End Sub
'-----------------------


B ) Si la procédure "AfficherLeMesage" est dans le module feuille "Feuil1"

'-----------------------
Sub Message()

Dim Msg As String
Msg = "Bonjour à tous"
Feuil1.AfficherLeMessage Msg

End Sub
'-----------------------

Sub AfficherLeMessage(Msg As String)

MsgBox Msg

End Sub
'-----------------------



Salutations!




"francisco" a écrit dans le message de news:c728nb$tch$
Bonjour tout le monde

J'ai créer la requete suivante ou je stocke une Requete definit comme
variable Rsql dans module1 et la procedure est la suivante
Qu'est ce que je dois écrire pour l'appeler à partir d'un module2 à
l'interieur d'une autre procedure appeler Sub appel ().De plus j'ai créé des
varables
CritereCodeProduct = FrmSaisie.CboListeCodeProduct.Value
CritereConditionnement = FrmSaisie.CboListeConditionnement.Value
CriterePM = FrmSaisie.CboListePM.Value
CritereCouleur = FrmSaisie.CboListeCouleur.Value
CritereVolume = FrmSaisie.CboListeVolume.Value
ou dois je les placer dans la procedure requete ou dans la procedure appel
et comment

Merci pour vous reponses amicalement francisco
____________________________________________________________________________
_____________________________________________
Public Rsql As String
____________________________________________________________________________
_____________________________________________
Sub requete()

Rsql = "Select Ventes1999.CodeProduct, Ventes1999.LibelleCodeProduct,
Ventes1999.CodeConditionnement,Ventes1999.CodeCouleur," _
& " Ventes1999.Grammage, Ventes1999.PM, Ventes1999.Volume,
Ventes1999.AverageExMill ," _
& " Ventes1999.VariablesCosts, Ventes1999.FixedCosts,
Ventes1999.TonnesHeures FROM Ventes1999 " _
& "WHERE ((Ventes1999.LibelleCodeProduct)= '" & CritereCodeProduct & "' and
(Ventes1999.CodeConditionnement)= '" & CritereConditionnement & "' and
(Ventes1999.PM) = '" & CriterePM & "'and Ventes1999.CodeCouleur= '" &
CritereCouleur & "'and Ventes1999.Volume >" & Replace(CritereVolume, ",",
".") & " );"
End Sub
____________________________________________________________________________
__________________________________________________
Sub appel()

Call module1.requete + quelquechose je ne sais pas quoi
End Sub
Avatar
Michel
Bonjour,

Autre observation !

Où déclarer ces variables ?

Vous pouvez déclarer ces variables dans un module
standard avec le déclaration :

Module Standard : "ModulDeclaration"


Public CritereCodeProduct As String
J'ai déclaré ici en string car vous récupéré un champs
string ( "*.value" ).

'Autre option : Déclarer un Type personnalisé

Type Critere
CodeProduct As String
Conditionnement As String
PM As String
Couleur As String
Volume As String
End Type

Public Boite As Critere

Où placer ces captures d'informations ?

Dans le code de la forme de saisie, selon le nom des
objets citer ! FrmSaisie.CboListeCodeProduct, il s'agit
sans doute d'une liste déroulante, or un double click
sur cette objet, vous amènera dans le code d'un
évènement, reperer l'évènement "AfterUpdate" dans la
liste déroulante en haut à droite de la fenêtre du code
et placez-y vos affectations (si vous désirez capturer
le choix de l'utilisateur?).

Boite.CodeProduct=FrmSaisie.CboListeCodeProduct.Value

Boite.Conditionnement=FrmSaisie.CboListeConditionnement.Va
lue

Boite.PM = FrmSaisie.CboListePM.Value

Boite.Couleur = FrmSaisie.CboListeCouleur.Value

Boite.Volume = FrmSaisie.CboListeVolume.Value

Avec un type prédéfini, vous pouvez passer l'objet
en paramêtre et limiter l'utilisation de variable
globale.

Qu'il y est un type ou pas, il est clair qu'il est plus
simple de déclarer une ou des variables globales avec
l'instruction [Public].

bonne journée :)
Michel

-----Message d'origine-----
Bonjour tout le monde

J'ai créer la requete suivante ou je stocke une Requete
definit comme

variable Rsql dans module1 et la procedure est la
suivante

Qu'est ce que je dois écrire pour l'appeler à partir
d'un module2 à

l'interieur d'une autre procedure appeler Sub appel
().De plus j'ai créé des

varables
CritereCodeProduct = FrmSaisie.CboListeCodeProduct.Value
CritereConditionnement =
FrmSaisie.CboListeConditionnement.Value

CriterePM = FrmSaisie.CboListePM.Value
CritereCouleur = FrmSaisie.CboListeCouleur.Value
CritereVolume = FrmSaisie.CboListeVolume.Value
ou dois je les placer dans la procedure requete ou dans
la procedure appel

et comment

Merci pour vous reponses amicalement francisco
_________________________________________________________
___________________

_____________________________________________
Public Rsql As String
_________________________________________________________
___________________

_____________________________________________
Sub requete()

Rsql = "Select Ventes1999.CodeProduct,
Ventes1999.LibelleCodeProduct,

Ventes1999.CodeConditionnement,Ventes1999.CodeCouleur," _
& " Ventes1999.Grammage, Ventes1999.PM,
Ventes1999.Volume,

Ventes1999.AverageExMill ," _
& " Ventes1999.VariablesCosts, Ventes1999.FixedCosts,
Ventes1999.TonnesHeures FROM Ventes1999 " _
& "WHERE ((Ventes1999.LibelleCodeProduct)= '" &
CritereCodeProduct & "' and

(Ventes1999.CodeConditionnement)= '" &
CritereConditionnement & "' and

(Ventes1999.PM) = '" & CriterePM & "'and
Ventes1999.CodeCouleur= '" &

CritereCouleur & "'and Ventes1999.Volume >" & Replace
(CritereVolume, ",",

".") & " );"
End Sub
_________________________________________________________
___________________

__________________________________________________
Sub appel()

Call module1.requete + quelquechose je ne sais pas quoi
End Sub


.



Avatar
francisco
Merci Denis et merci Michel pour vos reponses Amicalement Francisco
"Michel" a écrit dans le message de
news: 72d901c43045$d0dc9450$
Bonjour,

Autre observation !

Où déclarer ces variables ?

Vous pouvez déclarer ces variables dans un module
standard avec le déclaration :

Module Standard : "ModulDeclaration"


Public CritereCodeProduct As String
J'ai déclaré ici en string car vous récupéré un champs
string ( "*.value" ).

'Autre option : Déclarer un Type personnalisé

Type Critere
CodeProduct As String
Conditionnement As String
PM As String
Couleur As String
Volume As String
End Type

Public Boite As Critere

Où placer ces captures d'informations ?

Dans le code de la forme de saisie, selon le nom des
objets citer ! FrmSaisie.CboListeCodeProduct, il s'agit
sans doute d'une liste déroulante, or un double click
sur cette objet, vous amènera dans le code d'un
évènement, reperer l'évènement "AfterUpdate" dans la
liste déroulante en haut à droite de la fenêtre du code
et placez-y vos affectations (si vous désirez capturer
le choix de l'utilisateur?).

Boite.CodeProduct=FrmSaisie.CboListeCodeProduct.Value

Boite.Conditionnement=FrmSaisie.CboListeConditionnement.Va
lue

Boite.PM = FrmSaisie.CboListePM.Value

Boite.Couleur = FrmSaisie.CboListeCouleur.Value

Boite.Volume = FrmSaisie.CboListeVolume.Value

Avec un type prédéfini, vous pouvez passer l'objet
en paramêtre et limiter l'utilisation de variable
globale.

Qu'il y est un type ou pas, il est clair qu'il est plus
simple de déclarer une ou des variables globales avec
l'instruction [Public].

bonne journée :)
Michel

-----Message d'origine-----
Bonjour tout le monde

J'ai créer la requete suivante ou je stocke une Requete
definit comme

variable Rsql dans module1 et la procedure est la
suivante

Qu'est ce que je dois écrire pour l'appeler à partir
d'un module2 à

l'interieur d'une autre procedure appeler Sub appel
().De plus j'ai créé des

varables
CritereCodeProduct = FrmSaisie.CboListeCodeProduct.Value
CritereConditionnement FrmSaisie.CboListeConditionnement.Value
CriterePM = FrmSaisie.CboListePM.Value
CritereCouleur = FrmSaisie.CboListeCouleur.Value
CritereVolume = FrmSaisie.CboListeVolume.Value
ou dois je les placer dans la procedure requete ou dans
la procedure appel

et comment

Merci pour vous reponses amicalement francisco
_________________________________________________________
___________________

_____________________________________________
Public Rsql As String
_________________________________________________________
___________________

_____________________________________________
Sub requete()

Rsql = "Select Ventes1999.CodeProduct,
Ventes1999.LibelleCodeProduct,

Ventes1999.CodeConditionnement,Ventes1999.CodeCouleur," _
& " Ventes1999.Grammage, Ventes1999.PM,
Ventes1999.Volume,

Ventes1999.AverageExMill ," _
& " Ventes1999.VariablesCosts, Ventes1999.FixedCosts,
Ventes1999.TonnesHeures FROM Ventes1999 " _
& "WHERE ((Ventes1999.LibelleCodeProduct)= '" &
CritereCodeProduct & "' and

(Ventes1999.CodeConditionnement)= '" &
CritereConditionnement & "' and

(Ventes1999.PM) = '" & CriterePM & "'and
Ventes1999.CodeCouleur= '" &

CritereCouleur & "'and Ventes1999.Volume >" & Replace
(CritereVolume, ",",

".") & " );"
End Sub
_________________________________________________________
___________________

__________________________________________________
Sub appel()

Call module1.requete + quelquechose je ne sais pas quoi
End Sub


.