Question : IIf - pourquoi évalue-t-il les deux réponses ?

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

Réponse : IIf - pourquoi évalue-t-il les deux réponses ?

> comment fait que le code obtiennent déclenché

quand Coldfusion voit un CFINCLUDE, il cesse de traiter le dossier courant et traite le fichier d'inclusion avant la marche à suivre.



Vous pouvez prendre ceci…

e ") >
 
   
   
     
    l, « @"), » .") eq 0>
     
   


  >
      CHOISIR l'email
        De SubscriberTestEmailGroup
      LÀ OÙ email = >
   

   
     
   

   
 >
     insertion dans SubscriberTestEmailGroup (email)
     valeurs ("#form.email#")
   


 
   
 

 





et le transformer en ceci….


e ") >
 

     

 
   
 

 


1 :
2 :
3 :
4 :
5 :
6 :
7 :
8 :
9 :
10 :
11 :
12 :
13 :
14 :
15 :
16 :
17 :
18 :
19 :
20 :
21 :
22 :
23 :
Ce serait le contenu de SendEmail.cfm


    
    
      
    
      
    

  
      CHOISIR l'email
        De SubscriberTestEmailGroup
      LÀ OÙ email =  
    
    
      
     
    
    
     insertion dans SubscriberTestEmailGroup  (email)
     valeurs ("#form.email#")
     
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us