crystal report manual 5

34
Crystal Reports para Visual Basic Introducción Este capítulo trata en profundidad todos los operadores de Crystal Reports. Los operadores son símbolos o palabras especiales que describen una operación o una acción que se va a realizar entre dos o más valores. Los operadores se usan en las fórmulas. Crystal Reports lee los operadores de una fórmula y realiza las acciones especificadas. Este capítulo explica en profundidad cada operador. La lista de operadores está ordenada alfabéticamente. Nota Los operadores de Crystal Reports (Equal, In string, etc.) distinguen entre minúsculas y mayúsculas. Por ello, "ABC" no es igual a "abc", "abc" no está en la cadena "ABCDEF", etc. 1 Suma (+) Uso x + y «Suma los valores x e y.» Ejemplo(s) 5 + 6 {file.QTY1} + {file.QTY2} 2 «Devuelve 1487, donde Qty1 = 366 y Qty2 = 1121.» {file.AMT1} + {file.AMT2} + {file.AMT3} + {file.AMT4} 3 «Devuelve 20, donde Amt1 = 2, Amt2 = 4, Amt3 = 6, Amt4 = 8.» {file.CLASS1} + 25 4 CAPÍTULO 5 Operadores y variables Filename: document.doc Project: CHAPTER 0 Template: Author: Kirsten Sutton Last Saved By: Carmen Revision #: 31 Page: 59 of 34 Printed:

Upload: wilson-velarde

Post on 16-Apr-2015

136 views

Category:

Documents


1 download

DESCRIPTION

operadores

TRANSCRIPT

Page 1: Crystal Report Manual 5

Crystal Reports para Visual Basic

IntroducciónEste capítulo trata en profundidad todos los operadores de Crystal Reports.

Los operadores son símbolos o palabras especiales que describen una operación o una acción que se va a realizar entre dos o más valores. Los operadores se usan en las fórmulas. Crystal Reports lee los operadores de una fórmula y realiza las acciones especificadas.

Este capítulo explica en profundidad cada operador. La lista de operadores está ordenada alfabéticamente.

Nota Los operadores de Crystal Reports (Equal, In string, etc.) distinguen entre minúsculas y mayúsculas. Por ello, "ABC" no es igual a "abc", "abc" no está en la cadena "ABCDEF", etc.

1

Suma (+) Usox + y

«Suma los valores x e y.»

Ejemplo(s)5 + 6{file.QTY1} + {file.QTY2}

2«Devuelve 1487, donde Qty1 = 366 y Qty2 = 1121.»

{file.AMT1} + {file.AMT2} + {file.AMT3} + {file.AMT4}3

«Devuelve 20, donde Amt1 = 2, Amt2 = 4, Amt3 = 6, Amt4 = 8.»

{file.CLASS1} + 254

C A P Í T U L O 5

Operadores y variables

Filename: document.doc Project: CHAPTER 0 Template: Author: Kirsten Sutton Last Saved By: CarmenRevision #: 31 Page: 59 of 28 Printed:

Page 2: Crystal Report Manual 5

Crystal Reports para Visual Basic

Capítulo 5 Operadores y variables

«Devuelve 37, donde Class1 = 12.»

Date(1991,04,15) + 12 5

«Devuelve Apr 27 91»

Y (and) Usox and y

· False and False = False

· False and True = False

· True and False = False

· True and True = True1

Ejemplo(s)If {file.CREDIT LIMIT} = 5000 And {file.SALESMAN} = "SP" Then

{file.AMOUNT} Else

0;6

«Si el límite de crédito es 5000 y el representante de ventas es SP (ambas condiciones son verdaderas), entonces se devuelve el valor del campo Amount. De lo contrario, se devuelve cero.»

A > B and B > C 7

«Devuelve TRUE, donde A = 10, B = 6 y C = 3 (ambas condiciones son verdaderas).»

A > B and B > C 8

«Devuelve FALSE, donde A =10, B =6 y C =7 (sólo una de las dos condiciones es verdadera).»

(A>B) and (A*C-D>E) and (E/D<=B)9

«Devuelve TRUE, donde A = 7, B = 5, C = 3, D = 2, E = 10 (las tres condiciones son verdaderas).»

Asignación (:=)

Uso

Filename: document.doc Project: CHAPTER 0 Template: Author: Kirsten Sutton Last Saved By: CarmenRevision #: 31 Page: 60 of 28 Printed:

Page 3: Crystal Report Manual 5

Crystal Reports para Visual Basic

Capítulo 5 Operadores y variables

x := n

«Asigna el valor n a la variable x. (x tiene que estar previamente declarada en la misma fórmula.)»

Filename: document.doc Project: CHAPTER 0 Template: Author: Kirsten Sutton Last Saved By: CarmenRevision #: 31 Page: 61 of 28 Printed:

Page 4: Crystal Report Manual 5

Crystal Reports para Visual Basic

Capítulo 5 Operadores y variables

Ejemplo(s)Amount := 0

10«Inicializa (pone a cero) la variable Amount.»

Amount := 100 11

«Asigna el valor 100 a la variable Amount.»

Amount := Amount + {detail.QTY} 12

«Asigna el resultado de un cálculo a la variable Amount. El cálculo agrega el valor del campo de cantidad ({detail.QTY}) al valor actual de la variable Amount.»

Amount := {detail.QTY1} + {detail.QTY2} + {detail.QTY3} 13

«Calcula el total de los tres campos de cantidad y asigna este total a la variable Amount.»

Customer := "Westside Motors" 14

«Asigna la cadena "Westside Motors" a la variable Customer.»

Customer := TrimRight({customer.FIRST NAME}) + " " + {customer.LAST NAME} 15

«Elimina los espacios en blanco a la derecha del campo de nombre {customer.FIRST NAME}, agrega un espacio en blanco, concatena el campo de apellido {customer.LAST NAME} y asigna el valor concatenado de ambos campos a la variable Customer.»

Customer:= "Sr. " + {customer.LAST NAME} 16

«Concatena la cadena "Sr. " con el valor del campo de apellido {customer.LAST NAME} y asigna el valor concatenado a la variable Customer.»

Amount := 100; Customer := "Westside Motors" 17

«Asigna la constante 100 a la variable numérica Amount y asigna la cadena "Westside Motors" a la variable de cadena Customer. Puede asignar valores a múltiples variables si separa las instrucciones de asignación con signos de punto y coma.»

Comentario (//) Uso// texto

«El texto que figura a la derecha del operador es un comentario; no se trata como

parte de la fórmula y no se imprime.»

Filename: document.doc Project: CHAPTER 0 Template: Author: Kirsten Sutton Last Saved By: CarmenRevision #: 31 Page: 62 of 28 Printed:

Page 5: Crystal Report Manual 5

Crystal Reports para Visual Basic

Capítulo 5 Operadores y variables

Ejemplo(s){file.SALES} - {file.COST}// calcula el beneficio bruto

18«{file.SALES} - {file.COST} es la fórmula; el Editor de fórmulas pasa por alto todo lo demás.»

({file.SALES} - {file.QUOTA}) * .06 //calcula la comisión de ventas

19«({file.SALES} - {file.QUOTA}) * .06 es la fórmula; el Editor de fórmulas pasa por alto todo lo demás.»

// A continuación aparece // una fórmula. Observe que cuando // forzamos un salto de línea debemos // comenzar la siguiente línea con un // operador de comentarioIf {file.COST} > {file.SELLPRICE} Then

"Loss" Else

"";//Eso era una fórmula

20«Todas las líneas que aparecen como comentarios antes y después de la fórmula se pasan por alto.»

Concatenación (+) Usox + y

«Concatena (conecta) la cadena x a la cadena y para crear una única cadena contigua.»

Ejemplo(s)"Pan " + "y " + "mantequilla"

21«Devuelve "Pan y mantequilla".»

"Su número de cliente es " + ({customer.CUSTOMER ID}) + " y la persona de contacto de la empresa es " + ({customer.FIRST NAME}) + "."

22«Devuelve "Su número de cliente es 64 y la persona de contacto de la empresa es Benito.", donde CustomerID = 64 y First Name = Benito.»

Filename: document.doc Project: CHAPTER 0 Template: Author: Kirsten Sutton Last Saved By: CarmenRevision #: 31 Page: 63 of 28 Printed:

Page 6: Crystal Report Manual 5

Crystal Reports para Visual Basic

Capítulo 5 Operadores y variables

División (/) Usox/y

«Divide el valor x entre el valor y.»

Ejemplo(s)25/5

23«Devuelve 5.»

1/324

«Devuelve .33333.»

{file.SALES} / {file.FORECAST}25

«Devuelve .875, donde Sales = 52533, Forecast = 60000.»

{file.DAYSDUE} / 526

«Devuelve 22, donde DaysDue = 110.»

Nota Si el denominador = 0, el informe se verá detenido por una advertencia de división por cero. Si desea evitar este problema, debe incluir una comprobación de este tipo:

27If {file.FORECAST} = 0 Then

0Else

{file.SALES} / {file.FORECAST} 28

Igual (=) Usox = y

«x es igual a y.»

El operador Equal pide a Crystal Reports que evalúe una expresión (x=y) y devuelva TRUE (si x es igual a y) o FALSE (si x no es igual a y).

Filename: document.doc Project: CHAPTER 0 Template: Author: Kirsten Sutton Last Saved By: CarmenRevision #: 31 Page: 64 of 28 Printed:

Page 7: Crystal Report Manual 5

Crystal Reports para Visual Basic

Capítulo 5 Operadores y variables

Ejemplo(s){file.QUANTITY} = 3

29«True, por tener Quantity el valor 3.»

{file.QUANTITY} = 330

«False, en todas las demás situaciones posibles.»

{file.YTD} = {file.LAST YEAR YTD}31

«True, donde el valor del campo YTD idéntico al valor del campo Last Year YTD.»

{file.YTD} = {file.LAST YEAR YTD}32

«False, en todas las demás situaciones posibles.»

({file.SALES} - {file.COGS}) = 22,55433

«True, donde Sales = 109,986 y COGS = 87,332.»

({file.SALES} - {file.COGS}) = 22,65434

«False, en todas las demás situaciones posibles.»

{customer.LAST NAME} = "Johnson"35

«True, donde la cadena de texto del campo Last Name es Johnson.»

{customer.LAST NAME} = "Johnson"36

«False, en todas las demás situaciones posibles.»

Mayor que (>) Usox > y

«x es mayor que y.»

Ejemplo(s){file.WEIGHT} > 200

37«False, donde Weight = 150, Weight = 199 o Weight = 200.»

{file.WEIGHT} > 20038

«True, donde Weight = 400 o Weight = 201.»

{file.COST} > {file.PRICE}39

«True, donde Cost = 350 y Price = 325.»

Filename: document.doc Project: CHAPTER 0 Template: Author: Kirsten Sutton Last Saved By: CarmenRevision #: 31 Page: 65 of 28 Printed:

Page 8: Crystal Report Manual 5

Crystal Reports para Visual Basic

Capítulo 5 Operadores y variables

Mayor o igual que (>=) Usox >= y

«x es mayor o igual que y.»

Ejemplo(s){file.WEIGHT} >= 200

40«False, donde Weight = 150 o Weight = 199.»

{file.WEIGHT} >= 20041

«True, donde Weight = 400, Weight = 200 o Weight = 201.»

{file.COST} >= {file.PRICE}42

«False, donde Cost = 350, Price = 400.»

If-Then-Else UsoIf x Then y Else z

«Si x es verdadero, entonces (Then) realiza y. Si x no es verdadero, entonces (Else) realiza z.»

Ejemplo(s)If {customer.POSTAL CODE} <= "49999" Then

"Etiqueta azul" Else

"Tierra";43

«Asigna el modo de transporte en función de la distancia al remitente.»

If ToNumber({file.ITEM}) >= 2500 And ToNumber({file.ITEM}) < 2600 Then

"Estacional" Else

"";44

«La instrucción If incluye un operador And.»

If {file.COUNT} >= 25 Then{file.DISTRIBUTOR} * {file.COUNT}

Filename: document.doc Project: CHAPTER 0 Template: Author: Kirsten Sutton Last Saved By: CarmenRevision #: 31 Page: 66 of 28 Printed:

Page 9: Crystal Report Manual 5

Crystal Reports para Visual Basic

Capítulo 5 Operadores y variables

Else{file.DEALER} * {file.COUNT};

45

Filename: document.doc Project: CHAPTER 0 Template: Author: Kirsten Sutton Last Saved By: CarmenRevision #: 31 Page: 67 of 28 Printed:

Page 10: Crystal Report Manual 5

Crystal Reports para Visual Basic

Capítulo 5 Operadores y variables

«Dependiendo de la cantidad pedida se elige la lista de precios que se va a usar.»

If {file.ONHAND} > 10 Then{file.ORDERED}

ElseIf {file.ORDERED} < 5 Then

{file.ORDERED}Else

2;46

«Asignación basada en la cantidad pedida mediante instrucciones If-Then-Else anidadas.»

En matriz (in) Usox in [y]

«¿Está x en la matriz y?»

Ejemplo(s){customer.REGION} in ["CA","HI","AK"]

47«¿Está el valor del campo Region entre las abreviaturas que figuran entre corchetes?»

{file.COLOR} in ["Rojo","Blanco","Azul"] 48

«¿Está el valor del campo Color en la matriz de colores que figura entre corchetes?»

DayofWeek({orders.ORDER DATE}) in [2,4,6] 49

«¿Figura el valor del campo Order Date, una vez convertido a un número que representa el día de la semana, entre la matriz de números que aparece entre corchetes? (Domingo = 1, Sábado = 7)»

En intervalo (in) Usox in y

«Prueba un intervalo de valores (y) para ver si un valor (x) se encuentra dentro del intervalo especificado.»

Ejemplo(s)

Today in Date(1990,09,01) to Date(1990,09,20)

Filename: document.doc Project: CHAPTER 0 Template: Author: Kirsten Sutton Last Saved By: CarmenRevision #: 31 Page: 68 of 28 Printed:

Page 11: Crystal Report Manual 5

Crystal Reports para Visual Basic

Capítulo 5 Operadores y variables

50«True, donde Today = September 15, 1990.»

Today in Date(1990,09,01) to Date(1990,09,20)51

Filename: document.doc Project: CHAPTER 0 Template: Author: Kirsten Sutton Last Saved By: CarmenRevision #: 31 Page: 69 of 28 Printed:

Page 12: Crystal Report Manual 5

Crystal Reports para Visual Basic

Capítulo 5 Operadores y variables

«False, donde Today = September 21, 1990.»

{file.QTY} in {file.ONHAND} to ({file.BACKORDER} + {file.ONORDER})52

«True, donde Qty=20, OnHand=10, Backorder=5, OnOrder=25. (¿Está 20 dentro del intervalo que comienza con 10 y termina con la suma de 5 y 25?)»

{file.QTY} in {file.ONHAND} to ({file.BACKORDER} + {file.ONORDER})53

«False, donde Qty=31, OnHand=10, Backorder=5, OnOrder=25. (¿Está 31 en el intervalo que comienza con 10 y termina con la suma de 5 y 25?)»

En cadena (in) Usox in y

«Comprueba si la cadena x está en la cadena y.»

Ejemplo(s)"Elm" in {customer.ADDRESS1}

54«True, donde Address es 1335 Elm Street.»

"elm" in {customer.ADDRESS1}55

«False, donde Address es 1335 Elmer Street.»

"elm" in {file.MOTTO}56

«False, donde Motto = "Sienta más energía".»

(La terminación "ta" de "sienta" y el comienzo "m" de la palabra "más" están separados por un espacio en blanco que también cuenta como un elemento.)

"el m" in {file.MOTTO}57

«True, donde Motto = "Sienta más energía".»

(Esta vez, la cadena de búsqueda "ta m" contiene el espacio en blanco entre la a y la m, por lo que sí se produce la coincidencia.)

Nota El operador "in" también puede usarse para probar la presencia de una cadena dentro de un intervalo de texto (por ejemplo, "V5B" in "V0A" to "V9Z").

58

Filename: document.doc Project: CHAPTER 0 Template: Author: Kirsten Sutton Last Saved By: CarmenRevision #: 31 Page: 70 of 28 Printed:

Page 13: Crystal Report Manual 5

Crystal Reports para Visual Basic

Capítulo 5 Operadores y variables

Menor que (<) Usox < y

«x es menor que y.»

El operador menor que pide al Editor de fórmulas que evalúe una expresión (x < y) y devuelva TRUE (si x es menor que y) o FALSE (si x es igual o mayor que y).

Ejemplo(s){file.WEIGHT} < 200

59«True, donde Weight = 150 o Weight = 199.»

{file.WEIGHT} < 20060

«False, donde Weight = 200 o Weight = 400.»

{file.COST} < {file.PRICE}61

«True, donde Cost = 350 y Price = 400.»

{file.COST} < {file.PRICE}62

«False, donde Cost=350 y Price=350, o donde Cost=350 y Price=325.»

Menor o igual que (<=)Usox <= y

«x es menor o igual que y.»

Ejemplo(s){file.WEIGHT} <= 200

63«True, donde Weight = 150, Weight = 200 o Weight = 199.»

{file.WEIGHT} <= 20064

«False, donde Weight = 400.»

{file.COST} <= {file.PRICE}65

«True, donde Cost=350, Price=400, o donde Cost=350 y Price=350.»

{file.COST} <= {file.PRICE}

Filename: document.doc Project: CHAPTER 0 Template: Author: Kirsten Sutton Last Saved By: CarmenRevision #: 31 Page: 71 of 28 Printed:

Page 14: Crystal Report Manual 5

Crystal Reports para Visual Basic

Capítulo 5 Operadores y variables

66«False, donde Cost = 350 y Price = 325.»

Filename: document.doc Project: CHAPTER 0 Template: Author: Kirsten Sutton Last Saved By: CarmenRevision #: 31 Page: 72 of 28 Printed:

Page 15: Crystal Report Manual 5

Crystal Reports para Visual Basic

Capítulo 5 Operadores y variables

LikeUsox like y

{file.FIELD} like "c?n*"

«Este operador comprueba si el contenido de {file.FIELD} coincide con el modelo especificado en la cadena de caracteres "c?n*". Si el contenido del campo coincide con el modelo "c?n*", la fórmula devuelve el valor True. Si el campo comienza con cualquier otra cosa, la fórmula devuelve False.

Puede usar los caracteres comodín ? y * para tener en cuenta caracteres variables. El símbolo ? representa un único carácter, mientras que el símbolo * representa cualquier número de caracteres.»

Ejemplo(s){customer.FIRST NAME} like "D?n"

67«True, donde {customer.FIRST NAME} es Dan o Don.»

{customer.FIRST NAME} like "D?n"68

«False, donde {customer.FIRST NAME} es Doug o Rick.»

{customer.LAST NAME} like "*s?n*"69

«True, donde {customer.LAST NAME} es Johnson, Olson u Olsen.»

{customer.LAST NAME} like "*s?n*"70

«False, donde {customer.LAST NAME} es Johnston o Smith.»

Crear matriz ([,]) Uso[x, y, z,...n]

«Construye una matriz con los elementos x, y, z, ... n.»

Ejemplo(s)[100,200,300,400] [{file.QTYA}, {file.QTYB}, {file.QTYC}] [({file.AMT1} *.5),({file.AMT2} *.5), ({file.AMT3} .25)][500,({file.QTY} /3)]

71

Filename: document.doc Project: CHAPTER 0 Template: Author: Kirsten Sutton Last Saved By: CarmenRevision #: 31 Page: 73 of 28 Printed:

Page 16: Crystal Report Manual 5

Crystal Reports para Visual Basic

Capítulo 5 Operadores y variables

Nota No puede tener más de un tipo de datos en una matriz.72

Filename: document.doc Project: CHAPTER 0 Template: Author: Kirsten Sutton Last Saved By: CarmenRevision #: 31 Page: 74 of 28 Printed:

Page 17: Crystal Report Manual 5

Crystal Reports para Visual Basic

Capítulo 5 Operadores y variables

Establecer intervalo (to) Usox to y

«Establece el intervalo desde x hasta y.»

Ejemplo(s)100.00 to 250.00

73«El intervalo de valores numéricos consecutivos comenzando con 100.00 y finalizando con 250.00, incluyendo los valores inicial y final.»

Date(1990,09,01) to Date(1990,09,20) 74

«El intervalo de fechas consecutivas que comienza el 1 de septiembre de 1990 y termina el 20 de septiembre de 1990. El 1 de septiembre y el 20 de septiembre están ambos incluidos en el intervalo.»

"Aaron" to "Lusk" 75

«El intervalo de valores de cadena consecutivos que empieza con Aaron y termina con Lusk, incluyendo los valores inicial y final.»

Multiplicar (*) Usox * y

«Multiplica el valor x por el valor y.»

Ejemplo(s)2883 * 1999

76«Devuelve 5,763,117.»

{file.EXMPT} * 356.0077

«Devuelve, 152,012, donde Exmpt = 427.»

Negar (-()) Uso

(-(x))

Filename: document.doc Project: CHAPTER 0 Template: Author: Kirsten Sutton Last Saved By: CarmenRevision #: 31 Page: 75 of 28 Printed:

Page 18: Crystal Report Manual 5

Crystal Reports para Visual Basic

Capítulo 5 Operadores y variables

«Multiplica el valor del interior del paréntesis por -1.»

Filename: document.doc Project: CHAPTER 0 Template: Author: Kirsten Sutton Last Saved By: CarmenRevision #: 31 Page: 76 of 28 Printed:

Page 19: Crystal Report Manual 5

Crystal Reports para Visual Basic

Capítulo 5 Operadores y variables

Ejemplo(s)-(-1)

78«Devuelve 1; negativo por negativo = positivo.»

-(1)79

«Devuelve -1; negativo por positivo = negativo.»

-({file.QTYONHND})80

«Devuelve 144, donde QtyOnHnd = -144.»

-(-(15-18))81

«Devuelve -3; 15-18 = -3, -(-3)= +3, -(+3)= -3»

No (not) UsoNot (x)

«Invierte el valor True o False de x.»

· Not (True) = False

· Not (False) = True

· Not (Not(False)) = False

· Not (Not(True)) = True2

Ejemplo(s)not (A > B and B > C)

82«Si A = 5, B = 4, C = 3, la expresión (A > B and B > C) es TRUE. Las dos condiciones unidas por el operador booleano And son TRUE. Por ello, la instrucción completa tiene un valor TRUE. El operador Not cambia el valor de la expresión a FALSE.»

not (A > B and B > C) 83

«Si A = 3, B = 4, C = 3, la expresión (A > B and B > C) es FALSE. Una de las dos condiciones unidas por el operador booleano And es FALSE. El operador Not cambia el valor de la expresión a TRUE.»

not ({file.ONHAND} - {file.ORDER} > 0) = TRUE 84

«Donde OnHand = 10 y Order = 11.»

not ({file.ONHAND} - {file.ORDER} > 0) = FALSE

Filename: document.doc Project: CHAPTER 0 Template: Author: Kirsten Sutton Last Saved By: CarmenRevision #: 31 Page: 77 of 28 Printed:

Page 20: Crystal Report Manual 5

Crystal Reports para Visual Basic

Capítulo 5 Operadores y variables

85«Donde OnHand = 10 y Order = 9.»

Filename: document.doc Project: CHAPTER 0 Template: Author: Kirsten Sutton Last Saved By: CarmenRevision #: 31 Page: 78 of 28 Printed:

Page 21: Crystal Report Manual 5

Crystal Reports para Visual Basic

Capítulo 5 Operadores y variables

No igual (<>) Usox <> y

«x no es igual a y.»

El operador No igual pide a Crystal Reports que evalúe la expresión (x<>y) y devuelva TRUE(si x no es igual a y) o FALSE(si x es igual a y).

Ejemplo(s){order.ORDER AMOUNT} <> 400

86«True, donde Amount es 200 o Amount es 401, etc.»

{order.ORDER AMOUNT} <> 40087

«False, donde Amount es 400.»

{file.DAY} <> "Jueves"88

«True, donde Day = Viernes.»

{file.DAY} <> "Jueves"89

«False, donde Day = Jueves.»

{file.ONHAND} <> 0 90

«True, donde el valor de OnHand es 10.»

{file.ONHAND} <> 091

«False, donde el valor de OnHand es 0.»

{file.AVAILABLE} - {file.USED} <> 1092

«True, donde el valor del campo Available menos el valor del campo Used es diferente a 10.»

{file.AVAILABLE} - {file.USED} <> 1093

«False, cuando devuelve un valor igual a 10.»

Filename: document.doc Project: CHAPTER 0 Template: Author: Kirsten Sutton Last Saved By: CarmenRevision #: 31 Page: 79 of 28 Printed:

Page 22: Crystal Report Manual 5

Crystal Reports para Visual Basic

Capítulo 5 Operadores y variables

O (or) Usox or y

«x, y o ambos son verdaderos.»

· False or False = False

· False or True = True

· True or False = True

· True or True = True

Ejemplo(s)If {file.CREDIT LIMIT} = 5000 or {file.SALESMAN} = "SP" Then

{file.AMOUNT}Else

094

«Esto significa que en caso de que el límite de crédito sea 5000 o el representante de ventas sea SP (cualquiera de las dos condiciones sea verdadera) se devuelve el valor del campo Amount; de lo contrario no se devuelve nada.»

A > B or B > C 95

«True, donde A = 10, B = 6 y C = 3 (ambas condiciones son TRUE).»

A > B or B > C 96

«False, donde A = 5, B = 6 y C = 7 (ninguna de las dos condiciones es TRUE).»

(A > B) or (A * C - D > E) or (E / D <= B)97

«True, donde A = 5, B = 5, C = 3, D = 2, E = 12. Al menos una de las tres condiciones es verdadera. En este caso, únicamente una de las condiciones (A * C - D > E) es verdadera.»

Filename: document.doc Project: CHAPTER 0 Template: Author: Kirsten Sutton Last Saved By: CarmenRevision #: 31 Page: 80 of 28 Printed:

Page 23: Crystal Report Manual 5

Crystal Reports para Visual Basic

Capítulo 5 Operadores y variables

Paréntesis (()) Uso(x + y) * z

«Realiza primero los cálculos del interior del paréntesis.»

Los paréntesis se usan para controlar el orden en el que el Editor de fórmulas calcula una fórmula.

Ejemplo(s)8 + 6 * 3 - 6 / 2 = 23 (8 + 6) * 3 - 6 / 2 = 39 (8 + 6) * (3 - 6 / 2) = 0 (8 + 6 * 3 - 6) / 2 = 10{file.SALES} - {file.COGS} - {file.T&E} *.8

98«Devuelve 11,800, donde Sales = 25,000, COGS = 12,000 y T&E = 1500.»

{file.SALES}-(({file.COGS}-{file.T&E}) *.8)99

«Devuelve 16,600, donde Sales = 25,000, COGS = 12,000 y T&E = 1500.»

({file.SALES} - {file.COGS} - {file.T&E}) *.8100

«Devuelve 9200, donde Sales = 25,000, COGS = 12,000 y T&E = 1500.»

Porcentaje (%) Usox % y

«Calcula el valor x como porcentaje del valor y [(x / y) * 100].»

Ejemplo(s)Balance outstanding % Credit Limit calcula el porcentaje que representa Balance Outstanding del valor Credit Limit.

{file.BALANCE OUTSTANDING} % {file.CREDIT LIMIT}

101«Devuelve 30.00, donde Balance outstanding = $1500 y Credit Limit = $5000.»

Amount % Credit Limit calcula el porcentaje que representa el valor Amount del valor de Credit Limit.

{file.AMOUNT} % {file.CREDIT LIMIT}

Filename: document.doc Project: CHAPTER 0 Template: Author: Kirsten Sutton Last Saved By: CarmenRevision #: 31 Page: 81 of 28 Printed:

Page 24: Crystal Report Manual 5

Crystal Reports para Visual Basic

Capítulo 5 Operadores y variables

102

Filename: document.doc Project: CHAPTER 0 Template: Author: Kirsten Sutton Last Saved By: CarmenRevision #: 31 Page: 82 of 28 Printed:

Page 25: Crystal Report Manual 5

Crystal Reports para Visual Basic

Capítulo 5 Operadores y variables

«Devuelve 32.26, donde Amount =2257.87 y Credit Limit =7000.»

Nota Si el denominador = 0, el informe se verá detenido por una advertencia de división por cero. Si desea evitar este problema, debe incluir una comprobación de este tipo:

103If {file.FORECAST} = 0 Then

0 Else

{file.SALES} % {file.FORECAST}104

startswithUsox startswith y

{file.FIELD} startswith "abc"

«Este operador analiza el contenido de {file.FIELD} para ver si comienza con la cadena de caracteres especificada: "abc". Si el contenido de una campo comienza con la cadena especificada, la fórmula devuelve el valor True. Si el campo comienza con cualquier otra cosa, la fórmula devuelve False.»

Ejemplo(s){customer.CUSTOMER NAME} startswith "A"

105«True, donde {customer.CUSTOMER NAME} = ABC Inc.»

{customer.CUSTOMER NAME} startswith "XYZ"106

«False, donde {customer.CUSTOMER NAME} = ABC Inc.»

Separador de instrucciones (;) Uso1 + 1; "abc";

«1 + 1 y "abc" son dos instrucciones de fórmula diferentes, dentro de una instrucción de múltiples fórmulas. El punto y coma que hay entre ambas instrucciones especifica dónde termina una instrucción y dónde comienza la siguiente. Sin el punto y coma las instrucciones se tratarían como una única instrucción.»

Filename: document.doc Project: CHAPTER 0 Template: Author: Kirsten Sutton Last Saved By: CarmenRevision #: 31 Page: 83 of 28 Printed:

Page 26: Crystal Report Manual 5

Crystal Reports para Visual Basic

Capítulo 5 Operadores y variables

Subíndice ([ ])Usox[y]

«Extrae el elemento y de la cadena x.»

x[y to z]

«Extrae el intervalo de elementos y to z de la cadena x.»

x[n]

«Extrae el elemento n de la matriz x.»

Nota El intervalo de los subíndices tiene su origen en 1; comienza en 1 en vez de en 0.107

Los subíndices se usan para extraer uno o más caracteres de una cadena de texto o para extraer un elemento de una matriz.

Ejemplo(s)[100,233,466,998][3]

108«Devuelve 466; 466 es el tercer elemento de la matriz.»

LASTNAME [1]109

«Devuelve S, donde Last Name = Smith.»

Postal Code [6]110

«Devuelve V, donde Postal Code = T5A 9V2 (el espacio entre A y 9 también cuenta como un elemento).»

{customer.POSTAL CODE} [5 to 7] 111

«Devuelve 9V2, donde Postal Code = T5A 9V2.»

{file.ITEMNUMBER} [4 to 5]112

«Devuelve 40, donde ItemNumber es A1/4020/B10.»

Resta (-) Usox-y

«Resta el valor y del valor x.»

Filename: document.doc Project: CHAPTER 0 Template: Author: Kirsten Sutton Last Saved By: CarmenRevision #: 31 Page: 84 of 28 Printed:

Page 27: Crystal Report Manual 5

Crystal Reports para Visual Basic

Capítulo 5 Operadores y variables

Ejemplo(s)244 - 112

113«Devuelve 132.»

{file.SALES} - {file.COGS} - {file.S&A}114

«Devuelve 214,972, donde Sales = 455,031, COGS = 188,213 y S&A = 51,846.»

{file.ONHAND} - 877115

«Devuelve 114, donde OnHand = 991.»

Date(1991,04,15) - 12116

«Devuelve Apr 03 91.»

A moneda ($)Uso$x

«Convierte el número x al formato de moneda.»

Ejemplo(s)En los ejemplos siguientes se supone el formato siguiente: posiciones decimales = (1.00), signo negativo = (345.00-), símbolo de moneda = (flotante), separador de miles = (1,000.00).

$12345678 117

«Devuelve $12,345,678.00.»

$(123 * 456) 118

«Devuelve $56,088.00.»

$({file.QUANTITY} * 3)119

«Devuelve $42.00, donde Quantity = 14.»

$({file.MILES} * {file.PLEDGE})120

«Devuelve $363.35, donde Miles = 169 y Pledge = 2.15.»

Nota $ * $ = error. No puede multiplicar un dólar por un dólar.121

Filename: document.doc Project: CHAPTER 0 Template: Author: Kirsten Sutton Last Saved By: CarmenRevision #: 31 Page: 85 of 28 Printed:

Page 28: Crystal Report Manual 5

Crystal Reports para Visual Basic

Capítulo 5 Operadores y variables

Declaradores de variables Uso· NumberVar x;

· CurrencyVar x;

· StringVar x;

· BooleanVar x;

· DateVar x;3

«Declara una variable x que puede contener datos del tipo correspondiente al declarador de variables usado.»

Ejemplo(s)NumberVar Amount;«Declara una variable llamada Amount que puede contener cualquier valor de tipo de datos entero o decimal.»

BooleanVar Outstanding;«Declara una variable llamada Outstanding que puede contener un valor TRUE o FALSE.»

StringVar LastName := "Adams";«Declara una variable llamada LastName que puede contener un valor de cadena y asigna la cadena "Adams" a esa variable.»

1

Filename: document.doc Project: CHAPTER 0 Template: Author: Kirsten Sutton Last Saved By: CarmenRevision #: 31 Page: 86 of 28 Printed: