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

Intégrer la fonction ou dans vraifaux

6 réponses
Avatar
C15
Bonjour à tous et toutes,

Dans un formulaire j'ai une date d'adhésion et des sommes dues [Du08]
[Du07] [Du06] [Du05] [Du04] [Du03]

Je voudrais que le total des sommes dues =0 pour les adhérents 2009,
sinon [Du08] + [Du07] + [Du06] + [Du05] + [Du04]+ [Du03].

J'ai essayé la formule ci-dessous qui ne marche pas (je n'en suis pas
très surpris).


=vraifaux(droite( [DateAdhesion];2)>max(droite( [Du08];2) ou max(droite(
[Du07];2) ou max(droite( [Du06];2) ou max(droite( [Du05];2) ou
max(droite( [Du04];2) ou max(droite( [Du03];2);0; [Du08] + [Du07] +
[Du06] + [Du05] + [Du04]+ [Du03])

Qui peut me dire comment intégrer le "ou" dans la fonction vraifaux ?

Merci de votre aide.

A+

C15

6 réponses

Avatar
Fabien
C15 a écrit :
Bonjour à tous et toutes,

Dans un formulaire j'ai une date d'adhésion et des sommes dues [Du08]
[Du07] [Du06] [Du05] [Du04] [Du03]

Je voudrais que le total des sommes dues =0 pour les adhérents 2009,
sinon [Du08] + [Du07] + [Du06] + [Du05] + [Du04]+ [Du03].

J'ai essayé la formule ci-dessous qui ne marche pas (je n'en suis pas
très surpris).


=vraifaux(droite( [DateAdhesion];2)>max(droite( [Du08];2) ou max(droite(
[Du07];2) ou max(droite( [Du06];2) ou max(droite( [Du05];2) ou
max(droite( [Du04];2) ou max(droite( [Du03];2);0; [Du08] + [Du07] +
[Du06] + [Du05] + [Du04]+ [Du03])

Qui peut me dire comment intégrer le "ou" dans la fonction vraifaux ?

Merci de votre aide.

A+

C15


Salut
c'est compliqué ;-) comme formule et ça va l'être plus encore ...
=vraifaux(
(droite([DateAdhesion];2)>max(droite([Du08];2))
ou
(droite( [DateAdhesion];2)>max(droite([Du07];2))
ou
(droite( [DateAdhesion];2)>max(droite( [Du06];2))
ou
(droite( [DateAdhesion];2)>max(droite( [Du05];2))
ou
(droite( [DateAdhesion];2)> max(droite( [Du04];2))
ou
(droite( [DateAdhesion];2)> max(droite( [Du03];2));0; [Du08] + [Du07] +
[Du06] + [Du05] + [Du04]+ [Du03])
@+
Avatar
C15
Bonsoir Fabien,

Merci de cette réponse, mais hélas cela ne fonctionne pas (monsieur
Access dit qu'il manque une parenthèse fermante).
Ta formule me parait effectivement cohérente, mais je ne vois pas où est
le pb.

Merci de ton aide.

A+

C15

Fabien a écrit :
C15 a écrit :
Bonjour à tous et toutes,

Dans un formulaire j'ai une date d'adhésion et des sommes dues [Du08]
[Du07] [Du06] [Du05] [Du04] [Du03]

Je voudrais que le total des sommes dues =0 pour les adhérents 2009,
sinon [Du08] + [Du07] + [Du06] + [Du05] + [Du04]+ [Du03].

J'ai essayé la formule ci-dessous qui ne marche pas (je n'en suis pas
très surpris).


=vraifaux(droite( [DateAdhesion];2)>max(droite( [Du08];2) ou
max(droite( [Du07];2) ou max(droite( [Du06];2) ou max(droite(
[Du05];2) ou max(droite( [Du04];2) ou max(droite( [Du03];2);0; [Du08]
+ [Du07] + [Du06] + [Du05] + [Du04]+ [Du03])

Qui peut me dire comment intégrer le "ou" dans la fonction vraifaux ?

Merci de votre aide.

A+

C15


Salut
c'est compliqué ;-) comme formule et ça va l'être plus encore ...
=vraifaux(
(droite([DateAdhesion];2)>max(droite([Du08];2))
ou
(droite( [DateAdhesion];2)>max(droite([Du07];2))
ou
(droite( [DateAdhesion];2)>max(droite( [Du06];2))
ou
(droite( [DateAdhesion];2)>max(droite( [Du05];2))
ou
(droite( [DateAdhesion];2)> max(droite( [Du04];2))
ou
(droite( [DateAdhesion];2)> max(droite( [Du03];2));0; [Du08] + [Du07] +
[Du06] + [Du05] + [Du04]+ [Du03])
@+


Avatar
Fabien
C15 a écrit :
Bonsoir Fabien,

Merci de cette réponse, mais hélas cela ne fonctionne pas (monsieur
Access dit qu'il manque une parenthèse fermante).
Ta formule me parait effectivement cohérente, mais je ne vois pas où est
le pb.

Merci de ton aide.

A+

C15

Fabien a écrit :
C15 a écrit :
Bonjour à tous et toutes,

Dans un formulaire j'ai une date d'adhésion et des sommes dues [Du08]
[Du07] [Du06] [Du05] [Du04] [Du03]

Je voudrais que le total des sommes dues =0 pour les adhérents 2009,
sinon [Du08] + [Du07] + [Du06] + [Du05] + [Du04]+ [Du03].

J'ai essayé la formule ci-dessous qui ne marche pas (je n'en suis pas
très surpris).


=vraifaux(droite( [DateAdhesion];2)>max(droite( [Du08];2) ou
max(droite( [Du07];2) ou max(droite( [Du06];2) ou max(droite(
[Du05];2) ou max(droite( [Du04];2) ou max(droite( [Du03];2);0; [Du08]
+ [Du07] + [Du06] + [Du05] + [Du04]+ [Du03])

Qui peut me dire comment intégrer le "ou" dans la fonction vraifaux ?

Merci de votre aide.

A+

C15


Salut
c'est compliqué ;-) comme formule et ça va l'être plus encore ...
=vraifaux(
(droite([DateAdhesion];2)>max(droite([Du08];2))
ou
(droite( [DateAdhesion];2)>max(droite([Du07];2))
ou
(droite( [DateAdhesion];2)>max(droite( [Du06];2))
ou
(droite( [DateAdhesion];2)>max(droite( [Du05];2))
ou
(droite( [DateAdhesion];2)> max(droite( [Du04];2))
ou
(droite( [DateAdhesion];2)> max(droite( [Du03];2));0; [Du08] + [Du07]
+ [Du06] + [Du05] + [Du04]+ [Du03])
@+





Effectivement manque quelques parenthéses ;-)
=vraifaux(
(droite([DateAdhesion];2)>max(droite([Du08];2)))
ou
(droite( [DateAdhesion];2)>max(droite([Du07];2)))
ou
(droite( [DateAdhesion];2)>max(droite( [Du06];2)))
ou
(droite( [DateAdhesion];2)>max(droite( [Du05];2)))
ou
(droite( [DateAdhesion];2)> max(droite( [Du04];2)))
ou
(droite( [DateAdhesion];2)> max(droite( [Du03];2)));0; [Du08] + [Du07] +
[Du06] + [Du05] + [Du04]+ [Du03])
@+
Avatar
C15
Bonsoir Fabien,

Merci de cette réponse, j'aurai du vérifier que l'on fermait autant de
parenthèses que l'on en ouvrait ;-((

Par contre cela ne marche toujours pas, mais je m'aperçois que c'est une
erreur de raisonnement.

Dans mon formulaire, j'ai des contrôles [Du08], [Du07]... affichant le
montant du en 2008, 2007... (il s'agit de cotisations pour une association).
Chacun de ces contrôles a une étiquette dénommée Du08_Étiquette... dont
la légende est D08...

J'ai mis en place ce qui suit, c'est vraiment pas le top, mais cela marche :

=VraiFaux((Droite([DateAdhesion];2)>Max(ExtracChaîne("Du08_Étiquette";3;2)))
Ou (Droite([DateAdhesion];2)>Max(ExtracChaîne("Du07_Étiquette";3;2))) Ou
(Droite([DateAdhesion];2)>Max(ExtracChaîne("Du06_Étiquette";3;2))) Ou
(Droite([DateAdhesion];2)>Max(ExtracChaîne("Du05_Étiquette";3;2))) Ou
(Droite([DateAdhesion];2)>Max(ExtracChaîne("Du04_Étiquette";3;2))) Ou
(Droite([DateAdhesion];2)>Max(ExtracChaîne("Du03_Étiquette";3;2)));0;[Du08]+[Du07]+[Du06]+[Du05]+[Du04]+[Du03])

Si tu as une solution plus élégante, je suis preneur.




Fabien a écrit :
C15 a écrit :
Bonsoir Fabien,

Merci de cette réponse, mais hélas cela ne fonctionne pas (monsieur
Access dit qu'il manque une parenthèse fermante).
Ta formule me parait effectivement cohérente, mais je ne vois pas où
est le pb.

Merci de ton aide.

A+

C15

Fabien a écrit :
C15 a écrit :
Bonjour à tous et toutes,

Dans un formulaire j'ai une date d'adhésion et des sommes dues
[Du08] [Du07] [Du06] [Du05] [Du04] [Du03]

Je voudrais que le total des sommes dues =0 pour les adhérents 2009,
sinon [Du08] + [Du07] + [Du06] + [Du05] + [Du04]+ [Du03].

J'ai essayé la formule ci-dessous qui ne marche pas (je n'en suis
pas très surpris).


=vraifaux(droite( [DateAdhesion];2)>max(droite( [Du08];2) ou
max(droite( [Du07];2) ou max(droite( [Du06];2) ou max(droite(
[Du05];2) ou max(droite( [Du04];2) ou max(droite( [Du03];2);0;
[Du08] + [Du07] + [Du06] + [Du05] + [Du04]+ [Du03])

Qui peut me dire comment intégrer le "ou" dans la fonction vraifaux ?

Merci de votre aide.

A+

C15


Salut
c'est compliqué ;-) comme formule et ça va l'être plus encore ...
=vraifaux(
(droite([DateAdhesion];2)>max(droite([Du08];2))
ou
(droite( [DateAdhesion];2)>max(droite([Du07];2))
ou
(droite( [DateAdhesion];2)>max(droite( [Du06];2))
ou
(droite( [DateAdhesion];2)>max(droite( [Du05];2))
ou
(droite( [DateAdhesion];2)> max(droite( [Du04];2))
ou
(droite( [DateAdhesion];2)> max(droite( [Du03];2));0; [Du08] + [Du07]
+ [Du06] + [Du05] + [Du04]+ [Du03])
@+





Effectivement manque quelques parenthéses ;-)
=vraifaux(
(droite([DateAdhesion];2)>max(droite([Du08];2)))
ou
(droite( [DateAdhesion];2)>max(droite([Du07];2)))
ou
(droite( [DateAdhesion];2)>max(droite( [Du06];2)))
ou
(droite( [DateAdhesion];2)>max(droite( [Du05];2)))
ou
(droite( [DateAdhesion];2)> max(droite( [Du04];2)))
ou
(droite( [DateAdhesion];2)> max(droite( [Du03];2)));0; [Du08] + [Du07] +
[Du06] + [Du05] + [Du04]+ [Du03])
@+


Avatar
Michel__D
Bonjour,

Heu je ne sais pas si j'ai bien compris, mais il ne serait pas plus
judicieux de comparer par rapport à l'année 2009 soit l'année en cours ?

VraiFaux(Year([DateAdhesion])<Year(Date());[Du08]+[Du07]+[Du06]+[Du05]+[Du04]+[Du03];0)

PS:Je ne suis pas sur que ce soit une bonne idée d'associer les contrôles
avec une année précise, cela sous-entend une adaptation de la base tous les ans.


C15 a écrit :
Bonsoir Fabien,

Merci de cette réponse, j'aurai du vérifier que l'on fermait autant de
parenthèses que l'on en ouvrait ;-((

Par contre cela ne marche toujours pas, mais je m'aperçois que c'est une
erreur de raisonnement.

Dans mon formulaire, j'ai des contrôles [Du08], [Du07]... affichant le
montant du en 2008, 2007... (il s'agit de cotisations pour une
association).
Chacun de ces contrôles a une étiquette dénommée Du08_Étiquette... dont
la légende est D08...

J'ai mis en place ce qui suit, c'est vraiment pas le top, mais cela
marche :

=VraiFaux((Droite([DateAdhesion];2)>Max(ExtracChaîne("Du08_Étiquette";3;2)))
Ou (Droite([DateAdhesion];2)>Max(ExtracChaîne("Du07_Étiquette";3;2))) Ou
(Droite([DateAdhesion];2)>Max(ExtracChaîne("Du06_Étiquette";3;2))) Ou
(Droite([DateAdhesion];2)>Max(ExtracChaîne("Du05_Étiquette";3;2))) Ou
(Droite([DateAdhesion];2)>Max(ExtracChaîne("Du04_Étiquette";3;2))) Ou
(Droite([DateAdhesion];2)>Max(ExtracChaîne("Du03_Étiquette";3;2)));0;[Du08]+[Du07]+[Du06]+[Du05]+[Du04]+[Du03])


Si tu as une solution plus élégante, je suis preneur.




Fabien a écrit :
C15 a écrit :
Bonsoir Fabien,

Merci de cette réponse, mais hélas cela ne fonctionne pas (monsieur
Access dit qu'il manque une parenthèse fermante).
Ta formule me parait effectivement cohérente, mais je ne vois pas où
est le pb.

Merci de ton aide.

A+

C15

Fabien a écrit :
C15 a écrit :
Bonjour à tous et toutes,

Dans un formulaire j'ai une date d'adhésion et des sommes dues
[Du08] [Du07] [Du06] [Du05] [Du04] [Du03]

Je voudrais que le total des sommes dues =0 pour les adhérents
2009, sinon [Du08] + [Du07] + [Du06] + [Du05] + [Du04]+ [Du03].

J'ai essayé la formule ci-dessous qui ne marche pas (je n'en suis
pas très surpris).


=vraifaux(droite( [DateAdhesion];2)>max(droite( [Du08];2) ou
max(droite( [Du07];2) ou max(droite( [Du06];2) ou max(droite(
[Du05];2) ou max(droite( [Du04];2) ou max(droite( [Du03];2);0;
[Du08] + [Du07] + [Du06] + [Du05] + [Du04]+ [Du03])

Qui peut me dire comment intégrer le "ou" dans la fonction vraifaux ?

Merci de votre aide.

A+

C15


Salut
c'est compliqué ;-) comme formule et ça va l'être plus encore ...
=vraifaux(
(droite([DateAdhesion];2)>max(droite([Du08];2))
ou
(droite( [DateAdhesion];2)>max(droite([Du07];2))
ou
(droite( [DateAdhesion];2)>max(droite( [Du06];2))
ou
(droite( [DateAdhesion];2)>max(droite( [Du05];2))
ou
(droite( [DateAdhesion];2)> max(droite( [Du04];2))
ou
(droite( [DateAdhesion];2)> max(droite( [Du03];2));0; [Du08] +
[Du07] + [Du06] + [Du05] + [Du04]+ [Du03])
@+





Effectivement manque quelques parenthéses ;-)
=vraifaux(
(droite([DateAdhesion];2)>max(droite([Du08];2)))
ou
(droite( [DateAdhesion];2)>max(droite([Du07];2)))
ou
(droite( [DateAdhesion];2)>max(droite( [Du06];2)))
ou
(droite( [DateAdhesion];2)>max(droite( [Du05];2)))
ou
(droite( [DateAdhesion];2)> max(droite( [Du04];2)))
ou
(droite( [DateAdhesion];2)> max(droite( [Du03];2)));0; [Du08] + [Du07]
+ [Du06] + [Du05] + [Du04]+ [Du03])
@+




Avatar
C15
Bonsoir,

Je suis tout à fait d'accord avec toi, mais hélas c'est une base que
j'ai reprise en 2002 après le décès brutal de son concepteur qui
utilisait un logiciel tournant sous Mac.
On a pu tout juste récupérer un projet *.adp sur lequel je me suis basé
pour construire ma base *.mdb.
Depuis le temps j'ai l'habitude de toutes les manips à faire en fin
d'année (j'ai documenté en conséquence).

Par ailleurs, l'Assemblée générale ayant lieu fin septembre de chaque
année, les cotisations pour les anciens membres rentrent dès cette AG et
s'étalent sur plusieurs mois, et débordent donc sur l'année suivante.

Par ailleurs les nouveaux adhérents peuvent nous rejoindre n'importe quand.

Alors ta proposition couvrent-elle tous les cas de figure ?


J'ai fait quelques essais, il semblerait que cela marche.

Je vais essayer sur une machine où je peux sans problème changer la date
système (pour simuler que nous sommes en 2008) et je reviendrai vers toi.

Merci de ton aide.

A+

C15


Michel__D a écrit :
Bonjour,

Heu je ne sais pas si j'ai bien compris, mais il ne serait pas plus
judicieux de comparer par rapport à l'année 2009 soit l'année en cours ?

VraiFaux(Year([DateAdhesion])<Year(Date());[Du08]+[Du07]+[Du06]+[Du05]+[Du04]+[Du03];0)


PS:Je ne suis pas sur que ce soit une bonne idée d'associer les contrôles
avec une année précise, cela sous-entend une adaptation de la base tous
les ans.


C15 a écrit :
Bonsoir Fabien,

Merci de cette réponse, j'aurai du vérifier que l'on fermait autant de
parenthèses que l'on en ouvrait ;-((

Par contre cela ne marche toujours pas, mais je m'aperçois que c'est
une erreur de raisonnement.

Dans mon formulaire, j'ai des contrôles [Du08], [Du07]... affichant le
montant du en 2008, 2007... (il s'agit de cotisations pour une
association).
Chacun de ces contrôles a une étiquette dénommée Du08_Étiquette...
dont la légende est D08...

J'ai mis en place ce qui suit, c'est vraiment pas le top, mais cela
marche :

=VraiFaux((Droite([DateAdhesion];2)>Max(ExtracChaîne("Du08_Étiquette";3;2)))
Ou (Droite([DateAdhesion];2)>Max(ExtracChaîne("Du07_Étiquette";3;2)))
Ou (Droite([DateAdhesion];2)>Max(ExtracChaîne("Du06_Étiquette";3;2)))
Ou (Droite([DateAdhesion];2)>Max(ExtracChaîne("Du05_Étiquette";3;2)))
Ou (Droite([DateAdhesion];2)>Max(ExtracChaîne("Du04_Étiquette";3;2)))
Ou
(Droite([DateAdhesion];2)>Max(ExtracChaîne("Du03_Étiquette";3;2)));0;[Du08]+[Du07]+[Du06]+[Du05]+[Du04]+[Du03])


Si tu as une solution plus élégante, je suis preneur.




Fabien a écrit :
C15 a écrit :
Bonsoir Fabien,

Merci de cette réponse, mais hélas cela ne fonctionne pas (monsieur
Access dit qu'il manque une parenthèse fermante).
Ta formule me parait effectivement cohérente, mais je ne vois pas où
est le pb.

Merci de ton aide.

A+

C15

Fabien a écrit :
C15 a écrit :
Bonjour à tous et toutes,

Dans un formulaire j'ai une date d'adhésion et des sommes dues
[Du08] [Du07] [Du06] [Du05] [Du04] [Du03]

Je voudrais que le total des sommes dues =0 pour les adhérents
2009, sinon [Du08] + [Du07] + [Du06] + [Du05] + [Du04]+ [Du03].

J'ai essayé la formule ci-dessous qui ne marche pas (je n'en suis
pas très surpris).


=vraifaux(droite( [DateAdhesion];2)>max(droite( [Du08];2) ou
max(droite( [Du07];2) ou max(droite( [Du06];2) ou max(droite(
[Du05];2) ou max(droite( [Du04];2) ou max(droite( [Du03];2);0;
[Du08] + [Du07] + [Du06] + [Du05] + [Du04]+ [Du03])

Qui peut me dire comment intégrer le "ou" dans la fonction vraifaux ?

Merci de votre aide.

A+

C15


Salut
c'est compliqué ;-) comme formule et ça va l'être plus encore ...
=vraifaux(
(droite([DateAdhesion];2)>max(droite([Du08];2))
ou
(droite( [DateAdhesion];2)>max(droite([Du07];2))
ou
(droite( [DateAdhesion];2)>max(droite( [Du06];2))
ou
(droite( [DateAdhesion];2)>max(droite( [Du05];2))
ou
(droite( [DateAdhesion];2)> max(droite( [Du04];2))
ou
(droite( [DateAdhesion];2)> max(droite( [Du03];2));0; [Du08] +
[Du07] + [Du06] + [Du05] + [Du04]+ [Du03])
@+





Effectivement manque quelques parenthéses ;-)
=vraifaux(
(droite([DateAdhesion];2)>max(droite([Du08];2)))
ou
(droite( [DateAdhesion];2)>max(droite([Du07];2)))
ou
(droite( [DateAdhesion];2)>max(droite( [Du06];2)))
ou
(droite( [DateAdhesion];2)>max(droite( [Du05];2)))
ou
(droite( [DateAdhesion];2)> max(droite( [Du04];2)))
ou
(droite( [DateAdhesion];2)> max(droite( [Du03];2)));0; [Du08] +
[Du07] + [Du06] + [Du05] + [Du04]+ [Du03])
@+