Aide pour formule requête
Lucasine
Messages postés
154
Date d'inscription
Statut
Membre
Dernière intervention
-
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
Bonsoir,
J'aurai besoin de vos connaissances en access, pour une formule surement très simple qui me pose un souci.
Voila j'ai une colonne comportant un numéro nommé "SOSA", j'aimerai que figure dans une autre Colonne nommé "Degré" le degré du Sosa. Compliqué a comprendre, j'avoue !!
j'ai une Table "Génération" qui comprend 3 colonnes
1. le Degré
2.Numéro minimum
3.Numéro maximum
exemple : Degré
4 = nombre entre 8 et 15 comprit
5= nombre entre 16 et 31 comprit
6= nombre entre 32 et 63 comprit
.....
j'entre le sosa "20" J'aimerai dans la colonne Degré il me met "5"
Que je passe par une table n'est pas obligatoire, il n'a que +/- 15 degrés différent donc j'avait pensé faire une formule dans ma requête
IIF ([Sosa]>32;"6";IIF([Sosa]>16;"5";IIF.....
Mais comme vous vous douter il me met Erreur dans la colonne.
Quel serai pour vous la meilleurs façon d'avoir un bon résultat ? Passant par la table "Génération" ou il fait une recherche OU avec une formule qui pourrais être un peu longue ???
Je vous remercie d'avance pour vos lumières ;-)
J'aurai besoin de vos connaissances en access, pour une formule surement très simple qui me pose un souci.
Voila j'ai une colonne comportant un numéro nommé "SOSA", j'aimerai que figure dans une autre Colonne nommé "Degré" le degré du Sosa. Compliqué a comprendre, j'avoue !!
j'ai une Table "Génération" qui comprend 3 colonnes
1. le Degré
2.Numéro minimum
3.Numéro maximum
exemple : Degré
4 = nombre entre 8 et 15 comprit
5= nombre entre 16 et 31 comprit
6= nombre entre 32 et 63 comprit
.....
j'entre le sosa "20" J'aimerai dans la colonne Degré il me met "5"
Que je passe par une table n'est pas obligatoire, il n'a que +/- 15 degrés différent donc j'avait pensé faire une formule dans ma requête
IIF ([Sosa]>32;"6";IIF([Sosa]>16;"5";IIF.....
Mais comme vous vous douter il me met Erreur dans la colonne.
Quel serai pour vous la meilleurs façon d'avoir un bon résultat ? Passant par la table "Génération" ou il fait une recherche OU avec une formule qui pourrais être un peu longue ???
Je vous remercie d'avance pour vos lumières ;-)
A voir également:
- Aide pour formule requête
- Formule si et - Guide
- Formule excel pour additionner plusieurs cellules - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Formule mathématique - Télécharger - Études & Formations
- Excel mise en forme conditionnelle formule - Guide
6 réponses
Bonjour,
si tu peux passer via un formulaire, en vba, cela serait simple.
Mais dans ce cas, ta table "generation" sera inutile, tout sera géré via vba.
A+
si tu peux passer via un formulaire, en vba, cela serait simple.
Mais dans ce cas, ta table "generation" sera inutile, tout sera géré via vba.
A+
Si tu veux faire ceci sans vba,
il faut le faire dans une requête, pas direct dans la table.
Là, ce que tu mets :
Tu as forcémént une erreur, car si SOSA = 33, il répond aux 2 premiers critères.
Il faudrait mettre :
A+
--
Quand Jimmy dit What'd I say
I love you baby
C'est comme qui dirait
Toute la province qui chante en anglais
il faut le faire dans une requête, pas direct dans la table.
Là, ce que tu mets :
IIF ([Sosa]>32;"6";IIF([Sosa]>16;"5";IIF.....
Tu as forcémént une erreur, car si SOSA = 33, il répond aux 2 premiers critères.
Il faudrait mettre :
IIF (SOSA >= 8 AND SOSA <=15;"4";IIF (SOSA >=16 AND SOSA <=31;"5";(........................
A+
--
Quand Jimmy dit What'd I say
I love you baby
C'est comme qui dirait
Toute la province qui chante en anglais
Bonjour HDU, la base des locataires, je l'ai donné à ma collègue, pour qu'elle la continue car je ne m'en sortais pas et qu'elle ai plus caler en access que moi, celle-ci est pour un cousin, qui fait des recherches généalogique est qui vu le nombre de personnes, aimerai une base qui l'aide a géré les recherches a effectuer.
la formule est IIF([Sosa]>="16384" ET<=[Sosa]<="32767";"15";IIF([Sosa]>="8192" ET<=[Sosa]<="16383";"14";IIF([Sosa]>="4096" ET<=[Sosa]<="8191";"13";IIF([Sosa]>="2048" ET<=[Sosa]<="4095";"12";IIF([Sosa]>="1024" ET<=[Sosa]<="2047";"11";IIF([Sosa]>="512" ET<=[Sosa]<="1023";"10";IIF([Sosa]>="256" ET<=[Sosa]<="511";"9";IIF([Sosa]>="128" ET<=[Sosa]<="255";"8";IIF([Sosa]>="64" ET<=[Sosa]<="127";"7";IIF([Sosa]>="32" ET<=[Sosa]<="63";"6";IIF([Sosa]>="16" ET<=[Sosa]<="31";"5";IIF([Sosa]>="8" ET<=[Sosa]<="15";"4";IIF([Sosa]>="4" ET<=[Sosa]<="7";"3";IIF([Sosa]>="2" ET<=[Sosa]<="3";"2";IIF([Sosa]="1";"1";"0"))))))))))))))
Comme je disait il a minimum 15 génération, donc quand une 16eme arrivera il sera embété, j'avait pensé a faire passé par une table, mais dur dur, et je ne suis pas encore au point en VBA
la formule est IIF([Sosa]>="16384" ET<=[Sosa]<="32767";"15";IIF([Sosa]>="8192" ET<=[Sosa]<="16383";"14";IIF([Sosa]>="4096" ET<=[Sosa]<="8191";"13";IIF([Sosa]>="2048" ET<=[Sosa]<="4095";"12";IIF([Sosa]>="1024" ET<=[Sosa]<="2047";"11";IIF([Sosa]>="512" ET<=[Sosa]<="1023";"10";IIF([Sosa]>="256" ET<=[Sosa]<="511";"9";IIF([Sosa]>="128" ET<=[Sosa]<="255";"8";IIF([Sosa]>="64" ET<=[Sosa]<="127";"7";IIF([Sosa]>="32" ET<=[Sosa]<="63";"6";IIF([Sosa]>="16" ET<=[Sosa]<="31";"5";IIF([Sosa]>="8" ET<=[Sosa]<="15";"4";IIF([Sosa]>="4" ET<=[Sosa]<="7";"3";IIF([Sosa]>="2" ET<=[Sosa]<="3";"2";IIF([Sosa]="1";"1";"0"))))))))))))))
Comme je disait il a minimum 15 génération, donc quand une 16eme arrivera il sera embété, j'avait pensé a faire passé par une table, mais dur dur, et je ne suis pas encore au point en VBA
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bon, j'ai anticipé.
Voici une table, avec le formulaire, et un code SELECT CASE.
https://www.cjoint.com/c/FJdwCQsoVsi
Elle fonctionne, à priori.
Tiens moi au jus, mais le code vba est facilement compréhensible.
A+
Voici une table, avec le formulaire, et un code SELECT CASE.
https://www.cjoint.com/c/FJdwCQsoVsi
Elle fonctionne, à priori.
Tiens moi au jus, mais le code vba est facilement compréhensible.
A+
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
Je suggère ceci, à utiliser comme formule dans la requête :
Int(1 + Log([Sosa] + 0.5) / Log(2))
Int(1 + Log([Sosa] + 0.5) / Log(2))
Je te remercie pour ta réponse, le petit souci (si je peu dire) sait que je ne connait rien en VBA
peut-être que le temps est venu de t'y mettre...
Si tu veux exploiter un peu Access, tu vas devoir y passer, tôt ou tard.