Voilà, dans une fonction j'utilise un tableau avec des valeurs fixes :
°° Private Function MaFunction (MaVar1 as Integer,MaVar2 as Integer) as
Integer
°° Dim intMonTableau (0 To 1, 0 To 1) As Integer
°° intMonTableau (0, 0) = 0
°° intMonTableau (0, 1) = 0
°° intMonTableau (1, 0) = 1
°° intMonTableau (1, 1) = 2
°° MaFunction = intMonTableau (MaVar1 , MaVar2 )
°° End Function
Cette fonction est bien sûr appelée plusieurs fois
et donc la déclaration du tableau et l'affectation des valeurs se fait à
chaque appel de fonction.
Or comme ces valeurs sont figées, j'aimerai déclarer mon tableau au niveau
module
avec ses valeurs pour éviter que la déclaration et les affecations ne se
fasse inutilement à chaque appel.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Ilan
Bonjour, As-tu reellement besoin d'un tableau, les valeurs du tableau semble respecter X = MaVar1 * (MaVar2 + 1)
Bonjour à tous,
Voilà, dans une fonction j'utilise un tableau avec des valeurs fixes : °° Private Function MaFunction (MaVar1 as Integer,MaVar2 as Integer) as Integer °° Dim intMonTableau (0 To 1, 0 To 1) As Integer °° intMonTableau (0, 0) = 0 °° intMonTableau (0, 1) = 0 °° intMonTableau (1, 0) = 1 °° intMonTableau (1, 1) = 2 °° MaFunction = intMonTableau (MaVar1 , MaVar2 ) °° End Function
Cette fonction est bien sûr appelée plusieurs fois et donc la déclaration du tableau et l'affectation des valeurs se fait à chaque appel de fonction. Or comme ces valeurs sont figées, j'aimerai déclarer mon tableau au niveau module avec ses valeurs pour éviter que la déclaration et les affecations ne se fasse inutilement à chaque appel.
Est - ce possible et si oui comment ??
Merci de votre aide, Thierry.
Bonjour,
As-tu reellement besoin d'un tableau, les valeurs du tableau semble respecter
X = MaVar1 * (MaVar2 + 1)
Bonjour à tous,
Voilà, dans une fonction j'utilise un tableau avec des valeurs fixes :
°° Private Function MaFunction (MaVar1 as Integer,MaVar2 as Integer) as
Integer
°° Dim intMonTableau (0 To 1, 0 To 1) As Integer
°° intMonTableau (0, 0) = 0
°° intMonTableau (0, 1) = 0
°° intMonTableau (1, 0) = 1
°° intMonTableau (1, 1) = 2
°° MaFunction = intMonTableau (MaVar1 , MaVar2 )
°° End Function
Cette fonction est bien sûr appelée plusieurs fois
et donc la déclaration du tableau et l'affectation des valeurs se fait à
chaque appel de fonction.
Or comme ces valeurs sont figées, j'aimerai déclarer mon tableau au niveau
module
avec ses valeurs pour éviter que la déclaration et les affecations ne se
fasse inutilement à chaque appel.
Bonjour, As-tu reellement besoin d'un tableau, les valeurs du tableau semble respecter X = MaVar1 * (MaVar2 + 1)
Bonjour à tous,
Voilà, dans une fonction j'utilise un tableau avec des valeurs fixes : °° Private Function MaFunction (MaVar1 as Integer,MaVar2 as Integer) as Integer °° Dim intMonTableau (0 To 1, 0 To 1) As Integer °° intMonTableau (0, 0) = 0 °° intMonTableau (0, 1) = 0 °° intMonTableau (1, 0) = 1 °° intMonTableau (1, 1) = 2 °° MaFunction = intMonTableau (MaVar1 , MaVar2 ) °° End Function
Cette fonction est bien sûr appelée plusieurs fois et donc la déclaration du tableau et l'affectation des valeurs se fait à chaque appel de fonction. Or comme ces valeurs sont figées, j'aimerai déclarer mon tableau au niveau module avec ses valeurs pour éviter que la déclaration et les affecations ne se fasse inutilement à chaque appel.
Est - ce possible et si oui comment ??
Merci de votre aide, Thierry.
François Fuchs
lun. 18 oct. 2004 17:20:36 News Groups a écrit dans le message de news <news:4173df88$0$25699$ :
Cette fonction est bien sûr appelée plusieurs fois et donc la déclaration du tableau et l'affectation des valeurs se fait à chaque appel de fonction. Or comme ces valeurs sont figées, j'aimerai déclarer mon tableau au niveau module avec ses valeurs pour éviter que la déclaration et les affecations ne se fasse inutilement à chaque appel.
Est - ce possible et si oui comment ??
Déclarez une classe. Si vous ne savez pas faire, je vous donne un exemple.
-- Pouet
lun. 18 oct. 2004 17:20:36 News Groups a écrit dans le message de news
<news:4173df88$0$25699$636a15ce@news.free.fr> :
Cette fonction est bien sûr appelée plusieurs fois
et donc la déclaration du tableau et l'affectation des valeurs se fait à
chaque appel de fonction.
Or comme ces valeurs sont figées, j'aimerai déclarer mon tableau au niveau
module
avec ses valeurs pour éviter que la déclaration et les affecations ne se
fasse inutilement à chaque appel.
Est - ce possible et si oui comment ??
Déclarez une classe. Si vous ne savez pas faire, je vous donne un exemple.
lun. 18 oct. 2004 17:20:36 News Groups a écrit dans le message de news <news:4173df88$0$25699$ :
Cette fonction est bien sûr appelée plusieurs fois et donc la déclaration du tableau et l'affectation des valeurs se fait à chaque appel de fonction. Or comme ces valeurs sont figées, j'aimerai déclarer mon tableau au niveau module avec ses valeurs pour éviter que la déclaration et les affecations ne se fasse inutilement à chaque appel.
Est - ce possible et si oui comment ??
Déclarez une classe. Si vous ne savez pas faire, je vous donne un exemple.
-- Pouet
News Groups
Je veux bien un exemple effectivement,
Merci, Thierry.
"François Fuchs" a écrit dans le message de news:
lun. 18 oct. 2004 17:20:36 News Groups a écrit dans le message de news <news:4173df88$0$25699$ :
Cette fonction est bien sûr appelée plusieurs fois et donc la déclaration du tableau et l'affectation des valeurs se fait à chaque appel de fonction. Or comme ces valeurs sont figées, j'aimerai déclarer mon tableau au niveau
module avec ses valeurs pour éviter que la déclaration et les affecations ne se fasse inutilement à chaque appel.
Est - ce possible et si oui comment ??
Déclarez une classe. Si vous ne savez pas faire, je vous donne un exemple.
-- Pouet
Je veux bien un exemple effectivement,
Merci,
Thierry.
"François Fuchs" <franE7ois@alussinan.org> a écrit dans le message de news:
Xns9586C0133CAA9TotoLeHaricot@207.46.248.16...
lun. 18 oct. 2004 17:20:36 News Groups a écrit dans le message de news
<news:4173df88$0$25699$636a15ce@news.free.fr> :
Cette fonction est bien sûr appelée plusieurs fois
et donc la déclaration du tableau et l'affectation des valeurs se fait à
chaque appel de fonction.
Or comme ces valeurs sont figées, j'aimerai déclarer mon tableau au
niveau
module
avec ses valeurs pour éviter que la déclaration et les affecations ne se
fasse inutilement à chaque appel.
Est - ce possible et si oui comment ??
Déclarez une classe. Si vous ne savez pas faire, je vous donne un exemple.
lun. 18 oct. 2004 17:20:36 News Groups a écrit dans le message de news <news:4173df88$0$25699$ :
Cette fonction est bien sûr appelée plusieurs fois et donc la déclaration du tableau et l'affectation des valeurs se fait à chaque appel de fonction. Or comme ces valeurs sont figées, j'aimerai déclarer mon tableau au niveau
module avec ses valeurs pour éviter que la déclaration et les affecations ne se fasse inutilement à chaque appel.
Est - ce possible et si oui comment ??
Déclarez une classe. Si vous ne savez pas faire, je vous donne un exemple.
-- Pouet
News Groups
Bonjour à tous,
François Fuchs à écrit : "..Déclarez une classe. Si vous ne savez pas faire, je vous donne un exemple..." N'ayant pas de réponse de la part de François, je me permet de reposter ma demande au cas où quelqu'un pourrais m'indiquer la façon de créer cette classe.
Merci encore, Thierry.
"News Groups" a écrit dans le message de news: 4173df88$0$25699$
Bonjour à tous,
Voilà, dans une fonction j'utilise un tableau avec des valeurs fixes : °° Private Function MaFunction (MaVar1 as Integer,MaVar2 as Integer) as Integer
°° Dim intMonTableau (0 To 1, 0 To 1) As Integer °° intMonTableau (0, 0) = 0 °° intMonTableau (0, 1) = 0 °° intMonTableau (1, 0) = 1 °° intMonTableau (1, 1) = 2 °° MaFunction = intMonTableau (MaVar1 , MaVar2 ) °° End Function
Cette fonction est bien sûr appelée plusieurs fois et donc la déclaration du tableau et l'affectation des valeurs se fait à chaque appel de fonction. Or comme ces valeurs sont figées, j'aimerai déclarer mon tableau au niveau
module avec ses valeurs pour éviter que la déclaration et les affecations ne se fasse inutilement à chaque appel.
Est - ce possible et si oui comment ??
Merci de votre aide, Thierry.
Déclarez une classe. Si vous ne savez pas faire, je vous donne un exemple. -- Pouet
Je veux bien un exemple effectivement,
Merci, Thierry.
Bonjour à tous,
François Fuchs à écrit : "..Déclarez une classe. Si vous ne savez pas
faire, je vous donne un exemple..."
N'ayant pas de réponse de la part de François,
je me permet de reposter ma demande au cas où
quelqu'un pourrais m'indiquer la façon de créer cette classe.
Merci encore,
Thierry.
"News Groups" <bjt_nwsgrp@yahoo.fr> a écrit dans le message de news:
4173df88$0$25699$636a15ce@news.free.fr...
Bonjour à tous,
Voilà, dans une fonction j'utilise un tableau avec des valeurs fixes :
°° Private Function MaFunction (MaVar1 as Integer,MaVar2 as Integer) as
Integer
°° Dim intMonTableau (0 To 1, 0 To 1) As Integer
°° intMonTableau (0, 0) = 0
°° intMonTableau (0, 1) = 0
°° intMonTableau (1, 0) = 1
°° intMonTableau (1, 1) = 2
°° MaFunction = intMonTableau (MaVar1 , MaVar2 )
°° End Function
Cette fonction est bien sûr appelée plusieurs fois
et donc la déclaration du tableau et l'affectation des valeurs se fait à
chaque appel de fonction.
Or comme ces valeurs sont figées, j'aimerai déclarer mon tableau au
niveau
module
avec ses valeurs pour éviter que la déclaration et les affecations ne se
fasse inutilement à chaque appel.
Est - ce possible et si oui comment ??
Merci de votre aide,
Thierry.
Déclarez une classe. Si vous ne savez pas faire, je vous donne un exemple.
--
Pouet
François Fuchs à écrit : "..Déclarez une classe. Si vous ne savez pas faire, je vous donne un exemple..." N'ayant pas de réponse de la part de François, je me permet de reposter ma demande au cas où quelqu'un pourrais m'indiquer la façon de créer cette classe.
Merci encore, Thierry.
"News Groups" a écrit dans le message de news: 4173df88$0$25699$
Bonjour à tous,
Voilà, dans une fonction j'utilise un tableau avec des valeurs fixes : °° Private Function MaFunction (MaVar1 as Integer,MaVar2 as Integer) as Integer
°° Dim intMonTableau (0 To 1, 0 To 1) As Integer °° intMonTableau (0, 0) = 0 °° intMonTableau (0, 1) = 0 °° intMonTableau (1, 0) = 1 °° intMonTableau (1, 1) = 2 °° MaFunction = intMonTableau (MaVar1 , MaVar2 ) °° End Function
Cette fonction est bien sûr appelée plusieurs fois et donc la déclaration du tableau et l'affectation des valeurs se fait à chaque appel de fonction. Or comme ces valeurs sont figées, j'aimerai déclarer mon tableau au niveau
module avec ses valeurs pour éviter que la déclaration et les affecations ne se fasse inutilement à chaque appel.
Est - ce possible et si oui comment ??
Merci de votre aide, Thierry.
Déclarez une classe. Si vous ne savez pas faire, je vous donne un exemple. -- Pouet
Je veux bien un exemple effectivement,
Merci, Thierry.
Raymond [mvp]
Bonjour Thierry.
As-tu vraiment besoin d'un tableau pour caser 4 valeurs ? Ta fonction ne charge que des constantes et tu es obligé de passer deux valeurs en paramètres pour récupérer une seule valeur. Ou alors il y a un truc en plusssssh ?
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"News Groups" a écrit dans le message de news: 41761051$0$29541$
Bonjour à tous,
François Fuchs à écrit : "..Déclarez une classe. Si vous ne savez pas faire, je vous donne un exemple..." N'ayant pas de réponse de la part de François, je me permet de reposter ma demande au cas où quelqu'un pourrais m'indiquer la façon de créer cette classe.
Merci encore, Thierry.
Bonjour Thierry.
As-tu vraiment besoin d'un tableau pour caser 4 valeurs ? Ta fonction ne
charge que des constantes et tu es obligé de passer deux valeurs en
paramètres pour récupérer une seule valeur. Ou alors il y a un truc en
plusssssh ?
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"News Groups" <bjt_nwsgrp@yahoo.fr> a écrit dans le message de news:
41761051$0$29541$626a14ce@news.free.fr...
Bonjour à tous,
François Fuchs à écrit : "..Déclarez une classe. Si vous ne savez pas
faire, je vous donne un exemple..."
N'ayant pas de réponse de la part de François,
je me permet de reposter ma demande au cas où
quelqu'un pourrais m'indiquer la façon de créer cette classe.
As-tu vraiment besoin d'un tableau pour caser 4 valeurs ? Ta fonction ne charge que des constantes et tu es obligé de passer deux valeurs en paramètres pour récupérer une seule valeur. Ou alors il y a un truc en plusssssh ?
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"News Groups" a écrit dans le message de news: 41761051$0$29541$
Bonjour à tous,
François Fuchs à écrit : "..Déclarez une classe. Si vous ne savez pas faire, je vous donne un exemple..." N'ayant pas de réponse de la part de François, je me permet de reposter ma demande au cas où quelqu'un pourrais m'indiquer la façon de créer cette classe.
Merci encore, Thierry.
News Groups
En effet l'idée de base est d'utiliser un tableau de ce type au lieu de définir un jeu d'instructions conditionnelles, je m'explique :
les Variables MaVar1 et MaVar2 peuvent prendre les valeurs 1/0 et suivant la combinaison des deux un résulat est associé. Ainsi ma fontion : °° Private Function MaFunction (MaVar1 as Integer,MaVar2 as Integer) as Integer °° Dim intMonTableau (0 To 1, 0 To 1) As Integer °° intMonTableau (0, 0) = 0 °° intMonTableau (0, 1) = 0 °° intMonTableau (1, 0) = 1 °° intMonTableau (1, 1) = 2 °° MaFunction = intMonTableau (MaVar1 , MaVar2 ) °° End Function
Peut aussi s'écrire (ce qui était le cas avant l'utilisation du tableau précédent) : °° Private Function MaFunction (MaVar1 as Integer,MaVar2 as Integer) as Integer °° Dim Resultat As Integer °° If MaVar1 = 1 Then °° If MaVar2 = 1 Then °° Resultat = 2 °° Else °° Resultat = 1 °° End If °° Else °° Resultat = 0 °° End If °° MaFunction = Resultat °° End Function
Le choix de l'utilisation d'un tableau est dû au fait que le choix des valeurs de MaVar1 et MaVar2 peuvent évoluer et passer à 0/1/2/.. De même pour le résultat associé aux combinaisons, ainsi dans le temps le tableau pourra prendre la forme de : °° intMonTableau (0, 0) = 0 °° intMonTableau (0, 1) = 0 °° intMonTableau (1, 0) = 1 °° intMonTableau (1, 1) = 2 °° intMonTableau (2 0) = 1 °° intMonTableau (2 1) = 3..... Or dans le cas d'instructions conditionnelles (If ou Select) j'ai peur que cela devienne vite ingérable !
Deplus ces valeurs n'évolue pas en cours d'utilisation mais sont figée au codage, c'est pourquoi je voulai passer le tableau sous forme de constante.
Voilà, désolé pour la longueur des explications, Peux tu me donner ton avis sur le principe et si il existe une autre méthode plus adéquat ?
Merci encore, Thierry.
"Raymond [mvp]" a écrit dans le message de news: #
Bonjour Thierry.
As-tu vraiment besoin d'un tableau pour caser 4 valeurs ? Ta fonction ne charge que des constantes et tu es obligé de passer deux valeurs en paramètres pour récupérer une seule valeur. Ou alors il y a un truc en plusssssh ?
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"News Groups" a écrit dans le message de news: 41761051$0$29541$
Bonjour à tous,
François Fuchs à écrit : "..Déclarez une classe. Si vous ne savez pas faire, je vous donne un exemple..." N'ayant pas de réponse de la part de François, je me permet de reposter ma demande au cas où quelqu'un pourrais m'indiquer la façon de créer cette classe.
Merci encore, Thierry.
En effet l'idée de base est d'utiliser un tableau de ce type
au lieu de définir un jeu d'instructions conditionnelles,
je m'explique :
les Variables MaVar1 et MaVar2 peuvent prendre les valeurs 1/0
et suivant la combinaison des deux un résulat est associé.
Ainsi ma fontion :
°° Private Function MaFunction (MaVar1 as Integer,MaVar2 as Integer) as
Integer
°° Dim intMonTableau (0 To 1, 0 To 1) As Integer
°° intMonTableau (0, 0) = 0
°° intMonTableau (0, 1) = 0
°° intMonTableau (1, 0) = 1
°° intMonTableau (1, 1) = 2
°° MaFunction = intMonTableau (MaVar1 , MaVar2 )
°° End Function
Peut aussi s'écrire (ce qui était le cas avant l'utilisation du tableau
précédent) :
°° Private Function MaFunction (MaVar1 as Integer,MaVar2 as Integer) as
Integer
°° Dim Resultat As Integer
°° If MaVar1 = 1 Then
°° If MaVar2 = 1 Then
°° Resultat = 2
°° Else
°° Resultat = 1
°° End If
°° Else
°° Resultat = 0
°° End If
°° MaFunction = Resultat
°° End Function
Le choix de l'utilisation d'un tableau est dû au fait que le choix des
valeurs de MaVar1 et MaVar2
peuvent évoluer et passer à 0/1/2/..
De même pour le résultat associé aux combinaisons, ainsi dans le temps le
tableau pourra prendre la forme de :
°° intMonTableau (0, 0) = 0
°° intMonTableau (0, 1) = 0
°° intMonTableau (1, 0) = 1
°° intMonTableau (1, 1) = 2
°° intMonTableau (2 0) = 1
°° intMonTableau (2 1) = 3.....
Or dans le cas d'instructions conditionnelles (If ou Select) j'ai peur que
cela devienne vite ingérable !
Deplus ces valeurs n'évolue pas en cours d'utilisation mais sont figée au
codage,
c'est pourquoi je voulai passer le tableau sous forme de constante.
Voilà, désolé pour la longueur des explications,
Peux tu me donner ton avis sur le principe et si il existe une autre méthode
plus adéquat ?
Merci encore,
Thierry.
"Raymond [mvp]" <XYZ.access.seneque@free.fr> a écrit dans le message de
news: #x64bQptEHA.2980@tk2msftngp13.phx.gbl...
Bonjour Thierry.
As-tu vraiment besoin d'un tableau pour caser 4 valeurs ? Ta fonction ne
charge que des constantes et tu es obligé de passer deux valeurs en
paramètres pour récupérer une seule valeur. Ou alors il y a un truc en
plusssssh ?
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"News Groups" <bjt_nwsgrp@yahoo.fr> a écrit dans le message de news:
41761051$0$29541$626a14ce@news.free.fr...
Bonjour à tous,
François Fuchs à écrit : "..Déclarez une classe. Si vous ne savez pas
faire, je vous donne un exemple..."
N'ayant pas de réponse de la part de François,
je me permet de reposter ma demande au cas où
quelqu'un pourrais m'indiquer la façon de créer cette classe.
En effet l'idée de base est d'utiliser un tableau de ce type au lieu de définir un jeu d'instructions conditionnelles, je m'explique :
les Variables MaVar1 et MaVar2 peuvent prendre les valeurs 1/0 et suivant la combinaison des deux un résulat est associé. Ainsi ma fontion : °° Private Function MaFunction (MaVar1 as Integer,MaVar2 as Integer) as Integer °° Dim intMonTableau (0 To 1, 0 To 1) As Integer °° intMonTableau (0, 0) = 0 °° intMonTableau (0, 1) = 0 °° intMonTableau (1, 0) = 1 °° intMonTableau (1, 1) = 2 °° MaFunction = intMonTableau (MaVar1 , MaVar2 ) °° End Function
Peut aussi s'écrire (ce qui était le cas avant l'utilisation du tableau précédent) : °° Private Function MaFunction (MaVar1 as Integer,MaVar2 as Integer) as Integer °° Dim Resultat As Integer °° If MaVar1 = 1 Then °° If MaVar2 = 1 Then °° Resultat = 2 °° Else °° Resultat = 1 °° End If °° Else °° Resultat = 0 °° End If °° MaFunction = Resultat °° End Function
Le choix de l'utilisation d'un tableau est dû au fait que le choix des valeurs de MaVar1 et MaVar2 peuvent évoluer et passer à 0/1/2/.. De même pour le résultat associé aux combinaisons, ainsi dans le temps le tableau pourra prendre la forme de : °° intMonTableau (0, 0) = 0 °° intMonTableau (0, 1) = 0 °° intMonTableau (1, 0) = 1 °° intMonTableau (1, 1) = 2 °° intMonTableau (2 0) = 1 °° intMonTableau (2 1) = 3..... Or dans le cas d'instructions conditionnelles (If ou Select) j'ai peur que cela devienne vite ingérable !
Deplus ces valeurs n'évolue pas en cours d'utilisation mais sont figée au codage, c'est pourquoi je voulai passer le tableau sous forme de constante.
Voilà, désolé pour la longueur des explications, Peux tu me donner ton avis sur le principe et si il existe une autre méthode plus adéquat ?
Merci encore, Thierry.
"Raymond [mvp]" a écrit dans le message de news: #
Bonjour Thierry.
As-tu vraiment besoin d'un tableau pour caser 4 valeurs ? Ta fonction ne charge que des constantes et tu es obligé de passer deux valeurs en paramètres pour récupérer une seule valeur. Ou alors il y a un truc en plusssssh ?
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"News Groups" a écrit dans le message de news: 41761051$0$29541$
Bonjour à tous,
François Fuchs à écrit : "..Déclarez une classe. Si vous ne savez pas faire, je vous donne un exemple..." N'ayant pas de réponse de la part de François, je me permet de reposter ma demande au cas où quelqu'un pourrais m'indiquer la façon de créer cette classe.
Merci encore, Thierry.
Raymond [mvp]
OK, vu.
il faut faire un truc simple tant que ça va évoluer, car reprendre un tableau tous les 6 mois n'est pas de la tarte. tu ne passe pas par un module de classe mais par un module standard. Tu crées le module "module1" et tu places: Option Compare Database Option Explicit
Public intMonTableau(0 To 1, 0 To 1) As Integer
Public Function MontableInitialize() intMonTableau(0, 0) = 0 intMonTableau(0, 1) = 0 intMonTableau(1, 0) = 1 intMonTableau(1, 1) = 2 End Function
dans l'événement form_Load de ton formulaire, tu indiques Private Sub Form_Load() Call MontableInitialize End Sub ce qui aura pour effet de charger le tableau avec les constantes.
Lorsque tu en as besoin, tu appelles le tableau directement à partir du formulaire avec tes paramètres Me.MonChamp = intMonTableau(1, 1) ou
Me.MonChamp = intMonTableau(MaVar1, MaVar2)
je pense que c'est le plus simple -- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"News Groups" a écrit dans le message de news: 41764ca9$0$20489$
En effet l'idée de base est d'utiliser un tableau de ce type au lieu de définir un jeu d'instructions conditionnelles, je m'explique :
les Variables MaVar1 et MaVar2 peuvent prendre les valeurs 1/0 et suivant la combinaison des deux un résulat est associé. Ainsi ma fontion : °° Private Function MaFunction (MaVar1 as Integer,MaVar2 as Integer) as Integer °° Dim intMonTableau (0 To 1, 0 To 1) As Integer °° intMonTableau (0, 0) = 0 °° intMonTableau (0, 1) = 0 °° intMonTableau (1, 0) = 1 °° intMonTableau (1, 1) = 2 °° MaFunction = intMonTableau (MaVar1 , MaVar2 ) °° End Function
Peut aussi s'écrire (ce qui était le cas avant l'utilisation du tableau précédent) : °° Private Function MaFunction (MaVar1 as Integer,MaVar2 as Integer) as Integer °° Dim Resultat As Integer °° If MaVar1 = 1 Then °° If MaVar2 = 1 Then °° Resultat = 2 °° Else °° Resultat = 1 °° End If °° Else °° Resultat = 0 °° End If °° MaFunction = Resultat °° End Function
Le choix de l'utilisation d'un tableau est dû au fait que le choix des valeurs de MaVar1 et MaVar2 peuvent évoluer et passer à 0/1/2/.. De même pour le résultat associé aux combinaisons, ainsi dans le temps le tableau pourra prendre la forme de : °° intMonTableau (0, 0) = 0 °° intMonTableau (0, 1) = 0 °° intMonTableau (1, 0) = 1 °° intMonTableau (1, 1) = 2 °° intMonTableau (2 0) = 1 °° intMonTableau (2 1) = 3..... Or dans le cas d'instructions conditionnelles (If ou Select) j'ai peur que cela devienne vite ingérable !
Deplus ces valeurs n'évolue pas en cours d'utilisation mais sont figée au codage, c'est pourquoi je voulai passer le tableau sous forme de constante.
Voilà, désolé pour la longueur des explications, Peux tu me donner ton avis sur le principe et si il existe une autre méthode plus adéquat ?
Merci encore, Thierry.
OK, vu.
il faut faire un truc simple tant que ça va évoluer, car reprendre un
tableau tous les 6 mois n'est pas de la tarte.
tu ne passe pas par un module de classe mais par un module standard.
Tu crées le module "module1" et tu places:
Option Compare Database
Option Explicit
Public intMonTableau(0 To 1, 0 To 1) As Integer
Public Function MontableInitialize()
intMonTableau(0, 0) = 0
intMonTableau(0, 1) = 0
intMonTableau(1, 0) = 1
intMonTableau(1, 1) = 2
End Function
dans l'événement form_Load de ton formulaire, tu indiques
Private Sub Form_Load()
Call MontableInitialize
End Sub
ce qui aura pour effet de charger le tableau avec les constantes.
Lorsque tu en as besoin, tu appelles le tableau directement à partir du
formulaire avec tes paramètres
Me.MonChamp = intMonTableau(1, 1)
ou
Me.MonChamp = intMonTableau(MaVar1, MaVar2)
je pense que c'est le plus simple
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"News Groups" <bjt_nwsgrp@yahoo.fr> a écrit dans le message de news:
41764ca9$0$20489$626a14ce@news.free.fr...
En effet l'idée de base est d'utiliser un tableau de ce type
au lieu de définir un jeu d'instructions conditionnelles,
je m'explique :
les Variables MaVar1 et MaVar2 peuvent prendre les valeurs 1/0
et suivant la combinaison des deux un résulat est associé.
Ainsi ma fontion :
°° Private Function MaFunction (MaVar1 as Integer,MaVar2 as Integer) as
Integer
°° Dim intMonTableau (0 To 1, 0 To 1) As Integer
°° intMonTableau (0, 0) = 0
°° intMonTableau (0, 1) = 0
°° intMonTableau (1, 0) = 1
°° intMonTableau (1, 1) = 2
°° MaFunction = intMonTableau (MaVar1 , MaVar2 )
°° End Function
Peut aussi s'écrire (ce qui était le cas avant l'utilisation du tableau
précédent) :
°° Private Function MaFunction (MaVar1 as Integer,MaVar2 as Integer) as
Integer
°° Dim Resultat As Integer
°° If MaVar1 = 1 Then
°° If MaVar2 = 1 Then
°° Resultat = 2
°° Else
°° Resultat = 1
°° End If
°° Else
°° Resultat = 0
°° End If
°° MaFunction = Resultat
°° End Function
Le choix de l'utilisation d'un tableau est dû au fait que le choix des
valeurs de MaVar1 et MaVar2
peuvent évoluer et passer à 0/1/2/..
De même pour le résultat associé aux combinaisons, ainsi dans le temps le
tableau pourra prendre la forme de :
°° intMonTableau (0, 0) = 0
°° intMonTableau (0, 1) = 0
°° intMonTableau (1, 0) = 1
°° intMonTableau (1, 1) = 2
°° intMonTableau (2 0) = 1
°° intMonTableau (2 1) = 3.....
Or dans le cas d'instructions conditionnelles (If ou Select) j'ai peur que
cela devienne vite ingérable !
Deplus ces valeurs n'évolue pas en cours d'utilisation mais sont figée au
codage,
c'est pourquoi je voulai passer le tableau sous forme de constante.
Voilà, désolé pour la longueur des explications,
Peux tu me donner ton avis sur le principe et si il existe une autre
méthode
plus adéquat ?
il faut faire un truc simple tant que ça va évoluer, car reprendre un tableau tous les 6 mois n'est pas de la tarte. tu ne passe pas par un module de classe mais par un module standard. Tu crées le module "module1" et tu places: Option Compare Database Option Explicit
Public intMonTableau(0 To 1, 0 To 1) As Integer
Public Function MontableInitialize() intMonTableau(0, 0) = 0 intMonTableau(0, 1) = 0 intMonTableau(1, 0) = 1 intMonTableau(1, 1) = 2 End Function
dans l'événement form_Load de ton formulaire, tu indiques Private Sub Form_Load() Call MontableInitialize End Sub ce qui aura pour effet de charger le tableau avec les constantes.
Lorsque tu en as besoin, tu appelles le tableau directement à partir du formulaire avec tes paramètres Me.MonChamp = intMonTableau(1, 1) ou
Me.MonChamp = intMonTableau(MaVar1, MaVar2)
je pense que c'est le plus simple -- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"News Groups" a écrit dans le message de news: 41764ca9$0$20489$
En effet l'idée de base est d'utiliser un tableau de ce type au lieu de définir un jeu d'instructions conditionnelles, je m'explique :
les Variables MaVar1 et MaVar2 peuvent prendre les valeurs 1/0 et suivant la combinaison des deux un résulat est associé. Ainsi ma fontion : °° Private Function MaFunction (MaVar1 as Integer,MaVar2 as Integer) as Integer °° Dim intMonTableau (0 To 1, 0 To 1) As Integer °° intMonTableau (0, 0) = 0 °° intMonTableau (0, 1) = 0 °° intMonTableau (1, 0) = 1 °° intMonTableau (1, 1) = 2 °° MaFunction = intMonTableau (MaVar1 , MaVar2 ) °° End Function
Peut aussi s'écrire (ce qui était le cas avant l'utilisation du tableau précédent) : °° Private Function MaFunction (MaVar1 as Integer,MaVar2 as Integer) as Integer °° Dim Resultat As Integer °° If MaVar1 = 1 Then °° If MaVar2 = 1 Then °° Resultat = 2 °° Else °° Resultat = 1 °° End If °° Else °° Resultat = 0 °° End If °° MaFunction = Resultat °° End Function
Le choix de l'utilisation d'un tableau est dû au fait que le choix des valeurs de MaVar1 et MaVar2 peuvent évoluer et passer à 0/1/2/.. De même pour le résultat associé aux combinaisons, ainsi dans le temps le tableau pourra prendre la forme de : °° intMonTableau (0, 0) = 0 °° intMonTableau (0, 1) = 0 °° intMonTableau (1, 0) = 1 °° intMonTableau (1, 1) = 2 °° intMonTableau (2 0) = 1 °° intMonTableau (2 1) = 3..... Or dans le cas d'instructions conditionnelles (If ou Select) j'ai peur que cela devienne vite ingérable !
Deplus ces valeurs n'évolue pas en cours d'utilisation mais sont figée au codage, c'est pourquoi je voulai passer le tableau sous forme de constante.
Voilà, désolé pour la longueur des explications, Peux tu me donner ton avis sur le principe et si il existe une autre méthode plus adéquat ?