Rechercher : dans
Par :

Mettre formule si sous access

Dernière réponse le 15 mai 2008 à 20:32:19 chrischris, le 28 nov 2007 à 10:25:39 
 Signaler ce message aux modérateurs

Bonjour,

je souhaiterais mettre une condition Si sous access, seulement je ne sais pas comment faire
ma formule est si X >0 alors X=Y sinon X=Z

Merci d'avance pour votre aide

1

bnb, le 28 nov 2007 à 10:34:32

If x > 0 then
x = y
else
x = z
end if

Où est le problème?

Répondre à bnb

2

chrischris, le 28 nov 2007 à 11:13:30

Je débute sur access,

le problème s'est que je n'arrive pas à appliquer la formule. voici ma requete:

SELECT Véhicule.imma, km_compteur,estimation_conduc, km retenu
FROM (Véhicule INNER JOIN affectation ON Véhicule.imma = affectation.imma) INNER JOIN km_réalisés ON Véhicule.imma = km_réalisés.imma
IF estimation_conduc>"0"
THEN
km retenu = estimation_conduc
ELSE
km retenu = km_compteur
END IF;

je n'arrive pas à voir où est l'erreur

Merci d'avance

Répondre à chrischris

3

bnb, le 28 nov 2007 à 11:21:17

Déjà plus clair... Ce n'est pas du VBA mais du sql...
dans ce cas utiliser la fonction iif : [km_retenu] = iif( [estimation_conduc]>0 ;[ estimation_conduc] ; =[km_compteur] )

Répondre à bnb

4

chrischris, le 28 nov 2007 à 11:26:51

Merci pour l'aide

Répondre à chrischris

5

bnb, le 28 nov 2007 à 11:30:40

Quelle version d'access car le sql ne me paraît pas correct!
Sinon de rien pour l'aide!

Répondre à bnb

6

chrischris, le 28 nov 2007 à 11:35:51

C'est access 2003,

je viens de mettre la fonction ça ne fonction pas

Répondre à chrischris

7

bnb, le 28 nov 2007 à 11:39:35

Bon envoie ton sql en fichier txt avec la description de tes tables...
Je verrai ce que je peux faire!

sthub arrobase versateladsl point be

Répondre à bnb

13

etablissement atig, le 9 mai 2008 à 13:22:54

Salut,

moi aussi j'ai un probléme avec les condition Access, peut me dire comment faire pour calculer :

nombre heure =''A''
taux sup = ''B''
'
la formule est : A* B à condition ''B'' change soit 25% ou 50% ou 100% (ses champs sont dans un champs liste)

si je donne la valeur : ''25%'' dans la liste il devra faire se calcul : A*25%
si je donne la valeur : ''50%'' dans la liste il devra faire se calcul : A*50%
si je donne la valeur : ''100%'' dans la liste il devra faire se calcul : A*100%

merci
a plus

Répondre à etablissement atig

8

chrischris, le 28 nov 2007 à 12:10:13

Table affectation
clef primaire: imma et num_conduc
imma (null interdit: Non, indexé : Non, compression unicode Oui, Mode IME: aucun contrôle, Mode de formulation IME: aucun)
num_conducteur( null interdit: Non, Indexé Oui-avec doublons)

autres attributs:
date_affect
estimation_conduc


Table km_réalisés
clef primaire: num_miseàjour (num auto, indexé: oui sans doublons)

autres attributs:
date_miseàjour
km_compteur (null interdit:non; indexé:non)
imma
retenu (null interdit:non; indexé:non)

table Véhicule:
imma (texte; null:interdit, indexé:oui sans doublons, mode IME aucun contrôle, Mode de formulation IME: Aucun)
modèle du véhicule


SQL

SELECT Véhicule.imma, affectation.estimation_conduc, km_réalisés.km_compteur, km_réalisés.retenu
FROM (Véhicule INNER JOIN affectation ON Véhicule.imma = affectation.imma) INNER JOIN km_réalisés ON Véhicule.imma = km_réalisés.imma
WHERE (((Véhicule.retour_ste_loc)=No))
iif: retenu = IIF( estimation_conduc>0 ;estimation_conduc; = km_compteur );


merci













































Table km_réalisés






























SQL

SELECT Véhicule.imma, affectation.estimation_conduc, km_réalisés.km_compteur, km_réalisés.retenu
FROM (Véhicule INNER JOIN affectation ON Véhicule.imma = affectation.imma) INNER JOIN km_réalisés ON Véhicule.imma = km_réalisés.imma
WHERE (((Véhicule.retour_ste_loc)=No))
iif: retenu = IIF( estimation_conduc>0 ;estimation_conduc; = km_compteur )

Répondre à chrischris

9

bnb, le 28 nov 2007 à 12:26:57

Voici voilà...

SELECT V.imma, A.estimation_conduc, K.km_compteur, K.retenu, V.retour_ste_loc, IIf([estimation_conduc]>0,[estimation_conduc],[km_compteur]) AS Calcul_retenu
FROM (Véhicule AS V INNER JOIN km_réalisés AS K ON V.imma = K.imma) INNER JOIN affectation AS A ON V.imma = A.imma
WHERE (((V.retour_ste_loc)=No));

et bonne m... !

Répondre à bnb

10

bnb, le 28 nov 2007 à 12:26:59

Voici voilà...

SELECT V.imma, A.estimation_conduc, K.km_compteur, K.retenu, V.retour_ste_loc, IIf([estimation_conduc]>0,[estimation_conduc],[km_compteur]) AS Calcul_retenu
FROM (Véhicule AS V INNER JOIN km_réalisés AS K ON V.imma = K.imma) INNER JOIN affectation AS A ON V.imma = A.imma
WHERE (((V.retour_ste_loc)=No));

et bonne m... !

Répondre à bnb

11

chrischris, le 28 nov 2007 à 13:05:44

MERCI BEAUCOUP

Répondre à chrischris

12

tonio, le 20 fév 2008 à 11:45:51

Salut, j'ai créé un formulaire qui permet de réaliser les versements. Je voudrais créer une fonction avec si qui permettra d'extraire les
factures soldées.
Soit:
si montant-versement = 0
alors observation reçoit soldé
sinon non-soldé
fin si

merci

Répondre à tonio

14

AnonymeMan, le 9 mai 2008 à 17:07:06

Coucou a tous,

Je suis en plein stage à l'étranger et l'on me demande de faire des choses trop poussées pour moi sur Access. Ce que je viens de lire ici c'est que l'on peut créer une formule SI sur access ?

En fait j'ai une compagnie en clé primaire, et dans la même table j'ai Adresse, Numéro de compagnie et d'autres informations sur cette compagnie.
Donc :

TABLE : Compagnie

Nom de la compagnie, (Clé primaire),
Numéro de la compagnie,
Adresse,
Code Postal,
Ville...

Puis-je faire en sorte que ma compagnie (sachant que j'en ai plusieurs) aie plusieurs adresses pour un même nom ?

En fait, imaginons Nestlé et Nike. Nestlé a 3 adresses a Londres et Nike 5 a New York.
J'aimerais que Access permette d'avoir trois adresses et 5 pour Nike. Je ne peux pas créer des champs adresse 2, adresse 3 ou adresse 4 car cela dépends des compagnies et je ne veux pas de blancs. Merci.

Amélie

Répondre à AnonymeMan

15

 x, le 15 mai 2008 à 20:32:19

Salut!

Je te dis directement que je ne peux pas du tout t'aider.... j'ai à vrai dire à peu près le même problème. Je suis toute nouvelle sur Access.
Je voudrais attribuer à 1 contact: 1 à 3 compétences et je voudrais effectuer un requête capable d'afficher par type de compétence tous les contacts qui la possèdent. Sachant que je ne veux pas non plus de blancs étant donné que certains contacts n'ont qu'une compétence... (dommage pour eux...lool).
Je voudrais insérer une fonction SI mais je ne sais pas où il faut la placer (dans macro, requètes.... sur quelle ligne exactement) ni comment la rédiger.

Elle serait du type (pour que vous saisissiez mieux...):

If compétence type = compétence N°1 du contact
Then "Afficher le nom du contact qui possède cette compétence N°1"

If compétence type= compétence N°2 du contact
Then "Afficher le nom du contact qui possède cette compétence N°2"

If compétence type= compétence N°3 du contact
Then "Afficher le nom du contact qui possède cette compétence N°3"
Else "Etudier le contact suivant sans rien afficher"

Merci d'avance pour votre aide!!!! et si tu as trouvé une réponse, n'hésites pas à me contacter!!

@plus

Répondre à x
Collection CommentÇaMarche.net