Pergunta : IIf - por que está avaliando ambas as respostas?

Instalação: o
I am que gera uma lista de preço report.
I tem um formulário onde o usuário possa selecionar o “código” que corresponde com o varejo correto ou os valores por atacado para povoar o preço list.
If o formulário não são carregados, mim o queira me dar apenas os valores de defeito (que é o preço de grosso). o

I estava esperando mandar o recordsource do relatório ser uma pergunta onde eu uso ELookup para encontrar as margens de benefício corretas baseadas no formulário selection.

So. Em uma pergunta, eu estou usando uma indicação de IIf para determinar se o formulário é carregado. o

What que eu quero é este: o
If que o formulário é carregado, a seguir usa a informação desse formulário para calcular os preços de venda, mais apenas dá-me o valor sem o cálculo (isto é o preço de grosso baixo). o

What está acontecendo é que quando o formulário não está carregado (os iguais eval falsos), a pergunta ainda me pede o parâmetro no formulário de qualquer maneira (como se está processando a resposta verdadeira).  Se eu apenas bato entrar (não lhe dar uma resposta), o valor mostrado na pergunta resultante está correto (isto é, apenas o valor sem algum cálculo).  Mas por que está pedindo-me o parâmetro de todo? o

What que eu estou indo terminar acima fazer (pelo menos até que você peritos possa dizer me o que está indo sobre) sou tenho duas perguntas e para mudar apenas o recordsource do relatório baseado sobre se o formulário está aberto ou não na propriedade de OnOpen do relatório.  Tão fresco como eu gostaria.  :)o

Anyway, é aqui um de meus cálculos de preço:
CHMQPrice: IIf (fIsLoaded (“frmChoosePriceList”), IIf (, (RoundToLarger (RoundToLarger (*ELookup do [CHMQ] (“WholesaleMultiplier”, “tblPriceListMarkups”, “ (((MarkupCode) = “” & [formulários]! [frmChoosePriceList]. [Choose] & “")) "), 0) *ELookup (“RetailMultiplier " , “tblPriceListMarkups”,” (((MarkupCode) = ““& [formulários]! [frmChoosePriceList]. [Choose] &” ")) "), 0)), Zero), [CHMQ])

..... Quando o formulário não carregado, pedir formulários! frmChoosePriceList.Choose, mas por outro lado retorna o valor [CHMQ] de corretamente na pergunta result.

Striped dos cálculos para começ todos aqueles parênteses extra fora de lá:
CheckingIffs:

de IIf (fIsLoaded (“frmChoosePriceList”), IIf (, [DummyParameter], “LoadedAndNoPrice”), de “NotLoaded”) ..... Quando o formulário não carregado, pede DummyParameter, mas por outro lado retorna “NotLoaded” corretamente na pergunta result.


Striped para ser tão simples quanto possível:
CheckingIffSimple:

de IIf (1=2, [WhyOhWhy], falsos) ..... Quando o formulário não carregado, pede WhyOhWhy, mas por outro lado retorna 0 corretamente na pergunta result.


Oh, e pela maneira, ainda fá-la com o reverso:
CheckingIffs:

de IIf ((“frmChoosePriceList”) =0, “NotLoaded”, [DummyParameter] ) ..... Quando dar forma não carregado, ainda pede DummyParameter, mas por outro lado retorna “NotLoaded” corretamente na pergunta result.


Why é ele ainda que procura aqueles valores de parâmetro?  Não é essa a finalidade inteira de uma indicação de IIf é contornear calcs que você não quer? o

Obviously, eu não o quero pedir o parâmetro da pergunta (e para confundir meus usuários) se abrem de algum modo o relatório sem usar o formulário.  Ou, porque quando eu fizer iterações no projeto do relatório - eu não quero ter que usar o formulário cada vez que eu quero à inspeção prévia de cópia meu report.

I saber que há uma ac1ão alternativa, mas este apenas não me faz o sentido.  Se alguém pode me dizer que este é “como projetado” - aprovado.  Mas talvez eu estou sendo mudo e alguém pode reparar este para mim.  :)


Note:  fIsLoaded, ELookup, e RoundToLarger são as funções feitas sob encomenda que podem tudo facilmente ser encontradas using Google.
class= do

Resposta : IIf - por que está avaliando ambas as respostas?

> como faz que o código começ provocado

quando Coldfusion vê um CFINCLUDE, para de processar a lima atual e processa a lima incluída antes de prosiguer.



Você pode tomar este…

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


  >
      SELECIONAR o email
        De SubscriberTestEmailGroup
      ONDE email = >
   

   
     
   

   
 >
     inserção em SubscriberTestEmailGroup (email)
     valores (“#form.email#")
   


 
   
 

 





e transformá-lo neste….


e ") >
 

     

 
   
 

 


1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
Este seria os índices de SendEmail.cfm


    
    
      
    
      
    

  
      SELECIONAR o email
        De SubscriberTestEmailGroup
      ONDE email =  
    
    
      
     
    
    
     inserção em SubscriberTestEmailGroup  (email)
     valores (“#form.email#")
     
Outras soluções  
 
programming4us programming4us