Frage : IIf - warum wertet es beide Antworten aus?

Einstellung: das
I morgens eine Preisliste report.
I erzeugend haben eine Form, in der der Benutzer den „Code“ vorwählen kann, der mit dem korrekten Einzelverkauf entspricht, oder die Großhandelswerte, zum des Preises list.
If zu bevölkern die Form NICHT geladen wird, ich wünschen sie mir die Default-Werte (den gerade geben der Großhandelspreis ist).

I hoffte, das Report recordsource eine Frage sein zu lassen, in der ich ELookup verwende, um die korrekten Preisaufschläge zu finden basiert auf der Form selection.

So. In einer Frage verwende ich eine IIf Aussage, um festzustellen, wenn die Form geladen wird.

What, das ich wünsche, ist dieses:
If, welches die Form geladen, dann, die Informationen von dieser Form, um die Verkaufspreise zu berechnen, geben mir den Wert sonst gerade ohne die Berechnung verwendet wird (d.h. der niedrige Großhandelspreis).

What geschieht ist, dass, wenn die Form nicht (die eval Gleichgestellten falsch) geladen wird, die Frage mich noch um den Parameter auf der Form irgendwie bittet (als wenn sie die zutreffende Antwort verarbeitet).  Wenn ich gerade schlage, hereinkommen (ihm eine Antwort nicht geben), der Wert, der in der resultierenden Frage gezeigt wird, ist korrekt (das heißt, gerade der Wert ohne irgendeine Berechnung).  Aber warum bittet sie mich um den Parameter überhaupt?

What, das ich oben tun beenden werde (mindestens bis Sie Experten mir erklären können, was los ist) bin habe zwei Fragen und das recordsource des Reports gerade zu ändern, der an gegründet wird, ob die Form oder nicht im OnOpen des Reports Eigentum geöffnet ist.  Nicht so kühl, wie ich möchte.  :)

Anyway, ist hier eine meiner Preisberechnungen:
CHMQPrice: IIf (fIsLoaded („frmChoosePriceList“), IIf (, (RoundToLarger (RoundToLarger ( [CHMQ] *ELookup („WholesaleMultiplier“, „tblPriceListMarkups“, „ (((MarkupCode) = „“ u. [Formen]! [frmChoosePriceList]. [Choose] u. „")) "), 0) *ELookup („RetailMultiplier " , „tblPriceListMarkups“,“ (((MarkupCode) = „„u. [Formen]! [frmChoosePriceList]. [Choose] u.“ ")) "), 0)), Null), [CHMQ])

..... Wenn nicht die geladene Form, um Formen bittet! frmChoosePriceList.Choose, aber bringt andererseits den Wert von [CHMQ] richtig in die Frage result.

Striped von Berechnungen zurück, um alle jene Extraklammern aus dort heraus zu erhalten:
CheckingIffs: IIf (fIsLoaded („frmChoosePriceList“), IIf (, [DummyParameter], „LoadedAndNoPrice“), „NotLoaded“)

..... Wenn nicht die geladene Form, um DummyParameter bittet, aber andererseits, „NotLoaded“ richtig in die Frage result.


Striped, um wie möglich so einfach zu sein zurückbringt:
CheckingIffSimple: IIf (1=2, [WhyOhWhy], falsch)

..... Wenn nicht die geladene Form, um WhyOhWhy bittet, aber andererseits 0 richtig in die Frage result.


Oh und übrigens zurückbringt, tut sie sie noch mit der Rückseite:
CheckingIffs: IIf (fIsLoaded („frmChoosePriceList“) =0, „NotLoaded“, [DummyParameter] )

..... Wann bilden nicht geladen, bittet noch um DummyParameter, aber zurückbringt andererseits „NotLoaded“ richtig in die Frage result.


Why ist es nach jenen Parameterinhalten noch suchend?  Nicht dieser ist der vollständige Zweck einer IIf Aussage ist, calcs zu überbrücken, die Sie nicht wünschen?

Obviously, wünsche ich es nicht um den Fragenparameter bitten (und meine Benutzer verwirren) wenn sie irgendwie den Report öffnen, ohne die Form zu verwenden.  Oder, denn, wenn ich bilde, Wiederholungen auf dem Reportentwurf - ich möchte nicht die Form benutzen müssen, jedes Mal, das ich zur Druckvorbetrachtung wünsche, mein report.

I kennen, dass es eine Abhilfe gibt, aber dieses gerade mir sinnvoll nicht ist.  Wenn jemand erklären kann mir, dass dieses „als entworfen“ ist - okay.  Aber möglicherweise bin ich stumm und jemand kann dieses für mich regeln.  :)


Note:  fIsLoaded, sind ELookup und RoundToLarger kundenspezifische Funktionen, die alle using Google.
leicht gefunden werden können

Antwort : IIf - warum wertet es beide Antworten aus?

>, wie tut, dass Code ausgelöst erhalten

wenn Coldfusion ein CFINCLUDE sieht, stoppt es, die gegenwärtige Akte zu verarbeiten und vor dem Verfahren verarbeitet die Include-Datei.



Sie können dieses nehmen…

e ") >
 
   
   
     
    L, „@"),“ .") eq 0>
     
   


  >
      EMail VORWÄHLEN
        VON SubscriberTestEmailGroup
      WO eMail = >
   

   
     
   

   
 >
     Einsatz in SubscriberTestEmailGroup (eMail)
     Werte („#form.email#")
   


 
   
 

 





und sie zu dieses machen….


e ") >
 

     

 
   
 

 


1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
Dieses sein der Inhalt von SendEmail.cfm


    
    
      
    
      
    

  
      EMail VORWÄHLEN
        VON SubscriberTestEmailGroup
      WO eMail =  
    
    
      
     
    
    
     Einsatz in SubscriberTestEmailGroup  (eMail)
     Werte („#form.email#")
     
Weitere Lösungen  
 
programming4us programming4us