Bonjour à tous,
Sur l'evenement sur ouverture de l'état j'ai du code vba qui crée une
reque^te qui me sert de source pour l'état ,(elle sélectionne des articles
dans une table suivant un critère).Celà marche parfaitement.
Je voudrais maintenant créer le même état en modifiant la valeur qu'il va
afficher dans le champ marge suivant une condition.
Exemple Si marge (dans la table et dans la rqt) =45 alors marge(dans l'état)
=20.
Voici mon code qui ne marche pas au niveau de la dernière ligne.
strSQL = "SELECT * FROM " & strEtat & " WHERE (((" & strEtat & ".Usage)
= -1))ORDER BY " & strEtat & ".NomMed;"
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
Eric
Bonjour,
A première vue je ferai la modification dans la définition du sql de la requête du genre:
SELECT champ1, champ2, champ3,..., IIF([Marge]E;20;[Marge]), ... FROM ... WHERE ... ORDER BY ...
A+ Eric
"Torquemada" écrivait news:cepslr$ma5$:
Bonjour à tous, Sur l'evenement sur ouverture de l'état j'ai du code vba qui crée une reque^te qui me sert de source pour l'état ,(elle sélectionne des articles dans une table suivant un critère).Celà marche parfaitement. Je voudrais maintenant créer le même état en modifiant la valeur qu'il va afficher dans le champ marge suivant une condition. Exemple Si marge (dans la table et dans la rqt) E alors marge(dans l'état) . Voici mon code qui ne marche pas au niveau de la dernière ligne. strSQL = "SELECT * FROM " & strEtat & " WHERE (((" & strEtat & ".Usage) = -1))ORDER BY " & strEtat & ".NomMed;"
Set qdf = db.CreateQueryDef("rqt")
qdf.SQL = strSQL
Me.RecordSource = strSQL
If [Marge]= 45 then [Marge] = 20
A quel niveau dois je modifier mon code.
Merci de m'avoir consacré de votre temps
Bonjour,
A première vue je ferai la modification dans la définition du sql de la
requête du genre:
SELECT champ1, champ2, champ3,..., IIF([Marge]E;20;[Marge]), ...
FROM ...
WHERE ...
ORDER BY ...
Bonjour à tous,
Sur l'evenement sur ouverture de l'état j'ai du code vba qui crée une
reque^te qui me sert de source pour l'état ,(elle sélectionne des
articles dans une table suivant un critère).Celà marche parfaitement.
Je voudrais maintenant créer le même état en modifiant la valeur
qu'il va afficher dans le champ marge suivant une condition.
Exemple Si marge (dans la table et dans la rqt) E alors marge(dans
l'état)
.
Voici mon code qui ne marche pas au niveau de la dernière ligne.
strSQL = "SELECT * FROM " & strEtat & " WHERE (((" & strEtat &
".Usage)
= -1))ORDER BY " & strEtat & ".NomMed;"
A première vue je ferai la modification dans la définition du sql de la requête du genre:
SELECT champ1, champ2, champ3,..., IIF([Marge]E;20;[Marge]), ... FROM ... WHERE ... ORDER BY ...
A+ Eric
"Torquemada" écrivait news:cepslr$ma5$:
Bonjour à tous, Sur l'evenement sur ouverture de l'état j'ai du code vba qui crée une reque^te qui me sert de source pour l'état ,(elle sélectionne des articles dans une table suivant un critère).Celà marche parfaitement. Je voudrais maintenant créer le même état en modifiant la valeur qu'il va afficher dans le champ marge suivant une condition. Exemple Si marge (dans la table et dans la rqt) E alors marge(dans l'état) . Voici mon code qui ne marche pas au niveau de la dernière ligne. strSQL = "SELECT * FROM " & strEtat & " WHERE (((" & strEtat & ".Usage) = -1))ORDER BY " & strEtat & ".NomMed;"
Set qdf = db.CreateQueryDef("rqt")
qdf.SQL = strSQL
Me.RecordSource = strSQL
If [Marge]= 45 then [Marge] = 20
A quel niveau dois je modifier mon code.
Merci de m'avoir consacré de votre temps
Eric
.../... Remplacer les ; par des , dans le Iif
IIF([Marge]E,20,[Marge]) au lieu de IIF([Marge]E;20;[Marge])
Eric
.../...
Remplacer les ; par des , dans le Iif
IIF([Marge]E,20,[Marge]) au lieu de IIF([Marge]E;20;[Marge])
IIF([Marge]E,20,[Marge]) au lieu de IIF([Marge]E;20;[Marge])
Eric
Torquemada
Merci .C'est une bonne idée mais j'avais un peu simplifié ma question.Suite a vos conseils voici ma rqt finale ,elle plante dans les iif imbriqués par manque d'un opérateur(dixit access). L'idée est de faire diminuer une marge en fonction de sa valeur de départ.Voici la rqt strSQL = "SELECT * , IIf([Marge]>36,(([Marge]-20)/(100-20)),IIf ([Marge]=<36 and IIf [Marge]> ,20 ,[Marge])) AS NewMarge FROM " & strEtat & " WHERE (((" & strEtat & ".Usage) = -1))ORDER BY " & strEtat & ".NomMed;"
Merci de m'avoir consacré de votre temps
"Eric" a écrit dans le message de news:
.../... Remplacer les ; par des , dans le Iif
IIF([Marge]E,20,[Marge]) au lieu de IIF([Marge]E;20;[Marge])
Eric
Merci .C'est une bonne idée mais j'avais un peu simplifié ma question.Suite
a vos conseils voici ma rqt finale ,elle plante dans les iif imbriqués par
manque d'un opérateur(dixit access).
L'idée est de faire diminuer une marge en fonction de sa valeur de
départ.Voici la rqt
strSQL = "SELECT * , IIf([Marge]>36,(([Marge]-20)/(100-20)),IIf ([Marge]=<36
and IIf [Marge]> ,20 ,[Marge])) AS NewMarge FROM " & strEtat & " WHERE
(((" & strEtat & ".Usage) = -1))ORDER BY " & strEtat & ".NomMed;"
Merci de m'avoir consacré de votre temps
"Eric" <f_framZZ@hotmail.com> a écrit dans le message de
news:XnF953B5332796F1fframZZhotmailcom@207.46.248.16...
.../...
Remplacer les ; par des , dans le Iif
IIF([Marge]E,20,[Marge]) au lieu de IIF([Marge]E;20;[Marge])
Merci .C'est une bonne idée mais j'avais un peu simplifié ma question.Suite a vos conseils voici ma rqt finale ,elle plante dans les iif imbriqués par manque d'un opérateur(dixit access). L'idée est de faire diminuer une marge en fonction de sa valeur de départ.Voici la rqt strSQL = "SELECT * , IIf([Marge]>36,(([Marge]-20)/(100-20)),IIf ([Marge]=<36 and IIf [Marge]> ,20 ,[Marge])) AS NewMarge FROM " & strEtat & " WHERE (((" & strEtat & ".Usage) = -1))ORDER BY " & strEtat & ".NomMed;"
Merci de m'avoir consacré de votre temps
"Eric" a écrit dans le message de news:
.../... Remplacer les ; par des , dans le Iif
IIF([Marge]E,20,[Marge]) au lieu de IIF([Marge]E;20;[Marge])
Eric
Eric
Bonjour Torquemada
J'ai regardé que les IIF imbriqués
Tu testes si Marge est >36 si vrai tu fais (Marge-20)/(100-20) ok mais apres pourquoi testes tu si Marge est <6, c'est pas utile.
Donc Iif([Marge]>36,([Marge]-20)/(100-20),IIf([Marge]> ,20 ,[Marge])) as NewMarge devrait suffire.
A+ Eric
"Torquemada" écrivait news:cerj7a$e28$:
Merci .C'est une bonne idée mais j'avais un peu simplifié ma question.Suite a vos conseils voici ma rqt finale ,elle plante dans les iif imbriqués par manque d'un opérateur(dixit access). L'idée est de faire diminuer une marge en fonction de sa valeur de départ.Voici la rqt strSQL = "SELECT * , IIf([Marge]>36,(([Marge]-20)/(100-20)),IIf ([Marge]=<36 and IIf [Marge]> ,20 ,[Marge])) AS NewMarge FROM " & strEtat & " WHERE (((" & strEtat & ".Usage) = -1))ORDER BY " & strEtat & ".NomMed;"
Merci de m'avoir consacré de votre temps
"Eric" a écrit dans le message de news:
.../... Remplacer les ; par des , dans le Iif
IIF([Marge]E,20,[Marge]) au lieu de IIF([Marge]E;20;[Marge])
Eric
Bonjour Torquemada
J'ai regardé que les IIF imbriqués
Tu testes si Marge est >36 si vrai tu fais (Marge-20)/(100-20) ok mais
apres pourquoi testes tu si Marge est <6, c'est pas utile.
Donc
Iif([Marge]>36,([Marge]-20)/(100-20),IIf([Marge]> ,20 ,[Marge])) as
NewMarge
devrait suffire.
Merci .C'est une bonne idée mais j'avais un peu simplifié ma
question.Suite a vos conseils voici ma rqt finale ,elle plante dans
les iif imbriqués par manque d'un opérateur(dixit access).
L'idée est de faire diminuer une marge en fonction de sa valeur de
départ.Voici la rqt
strSQL = "SELECT * , IIf([Marge]>36,(([Marge]-20)/(100-20)),IIf
([Marge]=<36 and IIf [Marge]> ,20 ,[Marge])) AS NewMarge FROM " &
strEtat & " WHERE (((" & strEtat & ".Usage) = -1))ORDER BY " &
strEtat & ".NomMed;"
Merci de m'avoir consacré de votre temps
"Eric" <f_framZZ@hotmail.com> a écrit dans le message de
news:XnF953B5332796F1fframZZhotmailcom@207.46.248.16...
.../...
Remplacer les ; par des , dans le Iif
IIF([Marge]E,20,[Marge]) au lieu de IIF([Marge]E;20;[Marge])
Tu testes si Marge est >36 si vrai tu fais (Marge-20)/(100-20) ok mais apres pourquoi testes tu si Marge est <6, c'est pas utile.
Donc Iif([Marge]>36,([Marge]-20)/(100-20),IIf([Marge]> ,20 ,[Marge])) as NewMarge devrait suffire.
A+ Eric
"Torquemada" écrivait news:cerj7a$e28$:
Merci .C'est une bonne idée mais j'avais un peu simplifié ma question.Suite a vos conseils voici ma rqt finale ,elle plante dans les iif imbriqués par manque d'un opérateur(dixit access). L'idée est de faire diminuer une marge en fonction de sa valeur de départ.Voici la rqt strSQL = "SELECT * , IIf([Marge]>36,(([Marge]-20)/(100-20)),IIf ([Marge]=<36 and IIf [Marge]> ,20 ,[Marge])) AS NewMarge FROM " & strEtat & " WHERE (((" & strEtat & ".Usage) = -1))ORDER BY " & strEtat & ".NomMed;"
Merci de m'avoir consacré de votre temps
"Eric" a écrit dans le message de news:
.../... Remplacer les ; par des , dans le Iif
IIF([Marge]E,20,[Marge]) au lieu de IIF([Marge]E;20;[Marge])
Eric
Torquemada
Cela Marche Merci Eric
"Eric" a écrit dans le message de news:
Bonjour Torquemada
J'ai regardé que les IIF imbriqués
Tu testes si Marge est >36 si vrai tu fais (Marge-20)/(100-20) ok mais apres pourquoi testes tu si Marge est <6, c'est pas utile.
Donc Iif([Marge]>36,([Marge]-20)/(100-20),IIf([Marge]> ,20 ,[Marge])) as NewMarge devrait suffire.
A+ Eric
"Torquemada" écrivait news:cerj7a$e28$:
Merci .C'est une bonne idée mais j'avais un peu simplifié ma question.Suite a vos conseils voici ma rqt finale ,elle plante dans les iif imbriqués par manque d'un opérateur(dixit access). L'idée est de faire diminuer une marge en fonction de sa valeur de départ.Voici la rqt strSQL = "SELECT * , IIf([Marge]>36,(([Marge]-20)/(100-20)),IIf ([Marge]=<36 and IIf [Marge]> ,20 ,[Marge])) AS NewMarge FROM " & strEtat & " WHERE (((" & strEtat & ".Usage) = -1))ORDER BY " & strEtat & ".NomMed;"
Merci de m'avoir consacré de votre temps
"Eric" a écrit dans le message de news:
.../... Remplacer les ; par des , dans le Iif
IIF([Marge]E,20,[Marge]) au lieu de IIF([Marge]E;20;[Marge])
Eric
Cela Marche
Merci Eric
"Eric" <f_framZZ@hotmail.com> a écrit dans le message de
news:XnF953BF157C1B49fframZZhotmailcom@207.46.248.16...
Bonjour Torquemada
J'ai regardé que les IIF imbriqués
Tu testes si Marge est >36 si vrai tu fais (Marge-20)/(100-20) ok mais
apres pourquoi testes tu si Marge est <6, c'est pas utile.
Donc
Iif([Marge]>36,([Marge]-20)/(100-20),IIf([Marge]> ,20 ,[Marge])) as
NewMarge
devrait suffire.
Merci .C'est une bonne idée mais j'avais un peu simplifié ma
question.Suite a vos conseils voici ma rqt finale ,elle plante dans
les iif imbriqués par manque d'un opérateur(dixit access).
L'idée est de faire diminuer une marge en fonction de sa valeur de
départ.Voici la rqt
strSQL = "SELECT * , IIf([Marge]>36,(([Marge]-20)/(100-20)),IIf
([Marge]=<36 and IIf [Marge]> ,20 ,[Marge])) AS NewMarge FROM " &
strEtat & " WHERE (((" & strEtat & ".Usage) = -1))ORDER BY " &
strEtat & ".NomMed;"
Merci de m'avoir consacré de votre temps
"Eric" <f_framZZ@hotmail.com> a écrit dans le message de
news:XnF953B5332796F1fframZZhotmailcom@207.46.248.16...
.../...
Remplacer les ; par des , dans le Iif
IIF([Marge]E,20,[Marge]) au lieu de IIF([Marge]E;20;[Marge])
Tu testes si Marge est >36 si vrai tu fais (Marge-20)/(100-20) ok mais apres pourquoi testes tu si Marge est <6, c'est pas utile.
Donc Iif([Marge]>36,([Marge]-20)/(100-20),IIf([Marge]> ,20 ,[Marge])) as NewMarge devrait suffire.
A+ Eric
"Torquemada" écrivait news:cerj7a$e28$:
Merci .C'est une bonne idée mais j'avais un peu simplifié ma question.Suite a vos conseils voici ma rqt finale ,elle plante dans les iif imbriqués par manque d'un opérateur(dixit access). L'idée est de faire diminuer une marge en fonction de sa valeur de départ.Voici la rqt strSQL = "SELECT * , IIf([Marge]>36,(([Marge]-20)/(100-20)),IIf ([Marge]=<36 and IIf [Marge]> ,20 ,[Marge])) AS NewMarge FROM " & strEtat & " WHERE (((" & strEtat & ".Usage) = -1))ORDER BY " & strEtat & ".NomMed;"
Merci de m'avoir consacré de votre temps
"Eric" a écrit dans le message de news:
.../... Remplacer les ; par des , dans le Iif
IIF([Marge]E,20,[Marge]) au lieu de IIF([Marge]E;20;[Marge])