Installation : le I AM produisant des listes des prix report. I ont une forme où l'utilisateur peut choisir le « code » qui correspond au détail correct ou des valeurs en gros pour peupler le prix list. If la forme n'est pas chargées, je veulent qu'elle me donne juste les valeurs par défaut (qui est le prix de gros de gros). le
I espérait faire être le recordsource de rapport une question où j'emploie ELookup pour trouver les marge bénéficiaire bénéficiaires corrects basés sur la forme selection.
So. Dans une question, j'emploie un rapport d'IIf pour déterminer si la forme est chargée. le
What que je veux est ceci : le If que la forme est chargée, puis emploie l'information de cette forme pour calculer les prix de vente, me donnent autrement juste la valeur sans calcul (c.-à-d. le prix de gros de gros bas). le
What se produit est que quand la forme n'est pas chargée (les égales eval fausses), la question me demande toujours le paramètre sur la forme de toute façon (comme s'elle traite la réponse vraie). Si je frappe juste entrer (ne pas lui donner une réponse), la valeur montrée dans la question en résultant est correct (c'est-à-dire, juste la valeur sans tout calcul). Mais pourquoi me demande-t-il le paramètre du tout ? le
What que je vais finir faire vers le haut (du moins jusqu'à ce que vous des experts pouvez me dire que se passe-t-il) est ai deux questions et changer juste le recordsource du rapport basé dessus, que la forme soit ouverte ou pas dans la propriété d'OnOpen du rapport. Pas aussi frais comme je voudrai. :)le
Anyway, voici l'un de mes calculs des prix : CHMQPrice : IIf (fIsLoaded (« frmChoosePriceList »), IIf (, (RoundToLarger (RoundToLarger (*ELookup (« WholesaleMultiplier » de [CHMQ], « tblPriceListMarkups », « (((MarkupCode) = « » et [formes] ! [frmChoosePriceList]. [Choose] et « ")) "), 0) *ELookup (« RetailMultiplier " , « tblPriceListMarkups », » (((MarkupCode) = « « et [formes] ! [frmChoosePriceList]. [Choose] et » ")) "), 0)), Nulle), [CHMQ])
..... Quand la forme non chargée, demande des formes ! frmChoosePriceList.Choose, mais d'autre part renvoie la valeur [CHMQ] de correctement dans la question result.
Striped des calculs pour obtenir toutes ces parenthèses supplémentaires hors de là : CheckingIffs :
d'IIf (fIsLoaded (« frmChoosePriceList »), IIf (, [DummyParameter], « LoadedAndNoPrice »), de « NotLoaded ») ..... Quand la forme non chargée, demande DummyParameter, mais d'autre part renvoie « NotLoaded » correctement dans la question result.
Striped pour être aussi simple que possible : CheckingIffSimple :
d'IIf (1=2, [WhyOhWhy], faux) ..... Quand la forme non chargée, demande WhyOhWhy, mais d'autre part renvoie 0 correctement dans la question result.
Oh, et d'ailleurs, elle la fait toujours avec l'inverse : CheckingIffs :
d'IIf ((« frmChoosePriceList ») =0, « NotLoaded », [DummyParameter] ) ..... Quand former non chargé, demande toujours DummyParameter, mais d'autre part renvoie « NotLoaded » correctement dans la question result.
Why est il recherchant toujours ces valeurs de paramètre ? Ce le but entier d'un rapport d'IIf est-il n'est-il pas de dévier des calcs que vous ne voulez pas ? le
Obviously, je ne veux pas qu'il demande le paramètre de question (et confondre mes utilisateurs) s'ils ouvrent de façon ou d'autre le rapport sans employer la forme. Ou, parce que quand je fais itérations sur la conception de rapport - je ne veux pas devoir employer la forme chaque fois que je veux à la prévision d'impression mon report.
I savoir qu'il y a un contournement, mais ceci juste n'a pas du sens pour moi. Si quelqu'un peut me dire que c'est « en tant que conçu » - correct. Mais peut-être je suis sourd-muet et quelqu'un peut fixer ceci pour moi. :)
Note: fIsLoaded, ELookup, et RoundToLarger sont des fonctions faites sur commande qui peuvent tout être facilement trouvées using Google.
class= de
|