Fråga : IIf - why den utvärderar båda svar?

Ställa in: förmiddagen för
I frambringar en prissätta, listar report.
I har en bilda var användaren kan välja ”kodifierar”, som motsvarar med den korrekta detaljhandeln, eller grossisten värderar för att befolka prissätta list.
If som, bilda INTE laddas, mig önskar att den precis ska ge mig, standarden värderar (som är grossisten prissätter).

I hoppas för att ha rapportrecordsourcen att vara en query var jag använder ELookup för att finna de korrekta markupsna som baseras på bilda selection.

So. I en query I-förmiddag using ett IIf meddelande som bestämmer, om bilda laddas.

What som jag önskar, är denna:
If som bilda laddas, då, använder informationen från det bildar för att beräkna sälja prissätter, ger annars precis mig värdera utan beräkningen (dvs. baseragrossisten prissätter).

What händer är att, när bilda inte laddas (de falska eval jämlikena), querystillbilden frågar mig för parametern på bilda på något sätt (som, fast den bearbetar det riktiga svaret).  Om hiten för I skriver in precis (inte ge det ett svar), värdera som visas i den resulterande queryen, är korrekt (som äger rum, precis värdera utan någon beräkning).  Men why den frågar mig för parametern alls? förmiddagen för

What I går att avsluta upp att göra (tills åtminstone du experter kan berätta mig vad går på), är har två queries, och precis att ändra recordsourcen av den baserade rapporten på huruvida bilda är öppet eller inte i rapport den OnOpen egenskapen.  Inte som kyler, som jag skulle något liknande.  :)

Anyway, är här en av mitt prissätter beräkningar:
CHMQPrice: fIsLoaded IIf ((”frmChoosePriceList”), IIf (, (RoundToLarger (RoundToLarger (*ELookup (”WholesaleMultiplier” för [CHMQ], ”tblPriceListMarkups”, ” (((MarkupCode) = ”” & [bildar]! [frmChoosePriceList]. [Choose] & ””))”), 0) *ELookup (”RetailMultiplier " , ”tblPriceListMarkups”,” (((MarkupCode) = ””& [bildar]! [frmChoosePriceList]. [Choose] &””))”), 0)), Ogiltigt), [CHMQ])

....., När bilda inte laddat, frågar för bildar! frmChoosePriceList.Choose, men går därefter värdera av [CHMQ] korrekt tillbaka i queryen result.

Striped av beräkningar för att få alla de extra parenteser ut ur där:
CheckingIffs: fIsLoaded IIf ((”frmChoosePriceList”), IIf (, [DummyParameter], ”LoadedAndNoPrice”), ”NotLoaded”)

....., När bilda inte laddat, frågar för DummyParameter, men går därefter ”NotLoaded tillbaka” korrekt i queryen result.


Striped för att vara så enkelt som möjlighet:
CheckingIffSimple: IIf (1=2, [WhyOhWhy] som, är falska)

....., När bilda inte laddat, frågar för WhyOhWhy, men går därefter 0 tillbaka korrekt i queryen result.


Oh, och för resten, den som är stilla, gör den med det omvänt:
CheckingIffs: IIf (fIsLoaded (”frmChoosePriceList”) =0, ”NotLoaded”, [DummyParameter] )

....., When bilda inte laddat, stilla frågar för DummyParameter, men går därefter ”NotLoaded tillbaka” i queryen result.


Why är som korrekt det, att söka efter för stillbild som är det parametern, värderar?  Är inte den helheten ämnar av ett IIf meddelande är att koppla förbi calcs som du inte önskar?

Obviously, jag önskar inte att den ska fråga för queryparametern (och att förväxla min användare) om de öppnar somehow rapporten, utan att använda bilda.  Eller for när upprepningar för I-förmiddagdanande på rapportdesignen - jag önskar inte att måste att använda bilda, varje gång som jag önskar att skriva ut granskar min report.

I vet att det finns en lösning, men detta rättvist inte gör avkänning till mig.  Om någon kan berätta mig att detta är ”som planlagt” - okt.  Men kanske jag förmiddagen som den är dum, och någon kan fixa denna för mig.  :)


Note:  fIsLoaded, ELookup och RoundToLarger är beställnings- fungerar som kan alla lätt finnas using Google.
" klar "

Svar : IIf - why den utvärderar båda svar?

>, hur gör som kodifierar, få startad

när Coldfusion ser en CFINCLUDE, den stoppar att bearbeta strömmen sparar och bearbetar det inklusive sparar för förfarande.



Du kan ta denna…,

e ") >
 
   
   
     
    l ”@”),”. ”) eq 0>
     
   


  >
      VÄLJ e-posten
        FRÅN SubscriberTestEmailGroup
      VAR e-post = >
   

   
     
   

   
 >
     mellanlägg in i SubscriberTestEmailGroup (e-posten)
     värderar (”#form.email#”)
   


 
   
 

 





och vänd den in i denna….,


e ") >
 

     

 
   
 

 


1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
Skulle detta är tillfredsställer av SendEmail.cfm


    
    
      
    
      
    

  
      VÄLJ e-posten
        FRÅN SubscriberTestEmailGroup
      VAR e-post =  
    
    
      
     
    
    
     mellanlägg in i SubscriberTestEmailGroup  (e-posten)
     värderar (”#form.email#”)
     
Andra lösningar  
 
programming4us programming4us