Cuestión : ¿IIf - por qué está evaluando ambas respuestas?

Disposición: el
I que genera una lista de precios report.
I tiene una forma donde el usuario puede seleccionar el “código” que corresponde con la venta al por menor correcta o los valores al por mayor para poblar el precio list.
If la forma no se cargan, yo quisiera que apenas me diera los valores prefijados (que sea el precio al por mayor). el

I esperaba hacer que el recordsource del informe sea una pregunta donde utilizo ELookup para encontrar los márgenes de beneficio correctos basados en la forma selection.

So. En una pregunta, estoy utilizando una declaración de IIf para determinar si se carga la forma. el

What que quiero es éste: el
If que la forma se carga, después que utiliza la información de esa forma para calcular los precios de venta, apenas me da el valor sin el cálculo (es decir el precio al por mayor bajo). el

What está sucediendo es que cuando la forma no se carga (los iguales eval falsos), la pregunta todavía me pide el parámetro en la forma de todos modos (como si está procesando la respuesta verdadera).  Si apenas golpeo introducir (no darle una respuesta), el valor demostrado en la pregunta resultante está correcto (es decir, apenas el valor sin cualquie cálculo).  ¿Pero por qué me está pidiendo el parámetro en absoluto? el

What que voy a terminar para arriba hacer (por lo menos hasta que usted los expertos pueda decirme qué se está encendiendo) soy tengo dos preguntas y apenas cambiar el recordsource del informe basado encendido si la forma está abierta o no en la característica de OnOpen del informe.  Tan fresco como quisiera.  :)el

Anyway, aquí es uno de mis cálculos de precio:
CHMQPrice: ¡IIf (fIsLoaded (“frmChoosePriceList”), IIf (, (RoundToLarger (RoundToLarger *ELookup (“WholesaleMultiplier” (del [CHMQ], “tblPriceListMarkups”, “ (((MarkupCode) = “” y [formas]! [frmChoosePriceList]. ¡[Choose] y “")) "), 0) *ELookup (“RetailMultiplier " , “tblPriceListMarkups”,” (((MarkupCode) = ““y [formas]! [frmChoosePriceList]. [Choose] y” ")) "), 0)), Falta de información), [CHMQ])

..... ¡Cuando la forma no cargada, pide formas! frmChoosePriceList.Choose, pero por otra parte vuelve el valor [CHMQ] de correctamente en la pregunta result.

Striped de cálculos para salir todos esos paréntesis adicionales de allí:
CheckingIffs:

de IIf (fIsLoaded (“frmChoosePriceList”), IIf (, [DummyParameter], “LoadedAndNoPrice”), de “NotLoaded”) ..... Cuando la forma no cargada, pide DummyParameter, pero por otra parte vuelve “NotLoaded” correctamente en la pregunta result.


Striped para ser tan simple como sea posible:
CheckingIffSimple:

de IIf (1=2, [WhyOhWhy], falsos) ..... Cuando la forma no cargada, pide WhyOhWhy, pero por otra parte vuelve 0 correctamente en la pregunta result.


Oh, y a propósito, todavía la hace con el revés:
CheckingIffs:

de IIf ((“frmChoosePriceList”) =0, “NotLoaded”, [DummyParameter] ) ..... ¿Cuándo formar no cargado, todavía pide DummyParameter, pero por otra parte vuelve “NotLoaded” en la pregunta result.


Why es correctamente él todavía que busca esos valores de parámetro?  ¿No es ese el propósito entero de una declaración de IIf es puentear calcs que usted no quiere? el

Obviously, no quisiera que pidiera el parámetro de la pregunta (y confundir a mis usuarios) si abren de alguna manera el informe sin usar la forma.  O, porque cuando estoy haciendo iteraciones en el diseño del informe - no quiero tener que utilizar la forma que quiero cada vez a la inspección previo de impresión mi report.

I saber que hay una solución alternativa, pero éste apenas no me tiene sentido.  Si alguien puede decirme que esto está “como diseñado” - aceptable.  Pero estoy siendo quizá mudo y alguien puede fijar esto para mí.  :)


Note:  fIsLoaded, ELookup, y RoundToLarger son las funciones de encargo que se pueden todos encontrar fácilmente usar Google.
class= del

Respuesta : ¿IIf - por qué está evaluando ambas respuestas?

> cómo hace que el código consigue accionado

cuando Coldfusion ve un CFINCLUDE, para el procesar del archivo actual y procesa el fichero incluido antes de proceder.



Usted puede tomar esto…

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


  >
      SELECCIONAR el email
        De SubscriberTestEmailGroup
      DONDE email = >
   

   
     
   

   
 >
     parte movible en SubscriberTestEmailGroup (email)
     valores (“#form.email#")
   


 
   
 

 





y darle vuelta en esto….


e ") >
 

     

 
   
 

 


1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
Éste sería el contenido de SendEmail.cfm


    
    
      
    
      
    

  
      SELECCIONAR el email
        De SubscriberTestEmailGroup
      DONDE email =  
    
    
      
     
    
    
     parte movible en SubscriberTestEmailGroup  (email)
     valores (“#form.email#")
     
Otras soluciones  
 
programming4us programming4us