Access - VBA TRATAMIENTO DE VARIABLE

 
Vista:

VBA TRATAMIENTO DE VARIABLE

Publicado por jose (5 intervenciones) el 08/06/2020 15:57:26
TENGO una variable que contiene
nombreVariable=">="

y queria hacer un bucle if


if variablea nombreVariable variableb then ....


alguien sabe como hacerlo , se lo agradecere
Lo he visto antes pero no recuerdo cual era la instrucción para transformar la variable en su contenido
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

VBA TRATAMIENTO DE VARIABLE

Publicado por Anonimo (3316 intervenciones) el 08/06/2020 17:41:16
Considera que una variable es como una cesta (que puede contener solidos) o un envase (para contener líquidos).

A la variable (sea del tipo que sea) le llamas como quieras (cesta1, cesta2 …La_caja_azul … ) con que tu sepas de que va la variable es
suficiente.

Trasformar 'la variable en su contenido' es lo mismo que quédate con el contenido de la caja (así de sencillo) y eso se hace con el signo de igualdad:

Ahora bien …. si lo que se desea es 'trasformar' una expresión en 'su contenido' se hace con la función EVAL y si es una variable de texto que contiene la expresión de texto pues lo mismo:

1
2
3
4
5
6
7
mi_campo = Eval ("1 + 2")
 
Mi-Variable = 1
Mi-Variable = Mi-Variable & " + "
Mi-Variable = Mi-Variable & " 2 "
 
mi_campo = Eval (Mi-Variable)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

VBA TRATAMIENTO DE VARIABLE

Publicado por jose (5 intervenciones) el 08/06/2020 19:22:41
GRACIAS ANONIMO

PERO siento decirte que no funciona lo he probado y nada

A = ">"
B = 17
C = 8

' ESTO NO FUNCIONA
IF B Eval(A) C THEN MSGBOX " B ES MAYOR MAYOR QUE C"

' ESTO TAMPOCO FUNCIONA
IF B Eval("Chr$(62)") C THEN MSGBOX " B ES MAYOR MAYOR QUE C"

GRACIAS de todas formas por tu interes.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

VBA TRATAMIENTO DE VARIABLE

Publicado por Anonimo (3316 intervenciones) el 08/06/2020 21:00:15
Comparar es obtener un verdadero o falso

Si en la comparación se pregunta 'si es mayor' la respuesta será si/no (verdadero/falso)

Y una lectura tranquila, un planteamiento bien hecho: obtendría resultado …. amontonar o manipular no lleva a ninguna parte

Variable 'A' : la comparación (mayor, menor … etc)
variable 'B' : comparando uno
variable 'C' : comparando dos

Con los datos publicados:
A= ">"
B= 17
C= 8

En la ventana de inmediato:

A= ">"
B= 17
C= 8
?Eval ( B & A & C)
-1

Supongo que admitirás a -1 como verdadero en Access y por cierto la expresión que se evalúa es:

?B & A & C
17>8

Lo que has expuesto no lo entiendo ni le veo lógica ni tampoco que tenga relación con mi exposición
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

VBA TRATAMIENTO DE VARIABLE

Publicado por jose (5 intervenciones) el 08/06/2020 21:23:05
A = ">"
B = 17
C = 8

MsgBox Eval(B & A & C)

If Eval(B & A & C) = -1 Then MsgBox " B ES MAYOR MAYOR QUE C"

esto si funciona
lo que pasa que complicara mucho el entendimiento del codigo

gracias nuevamente
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

VBA TRATAMIENTO DE VARIABLE

Publicado por Anonimo (3316 intervenciones) el 09/06/2020 00:35:43
Esa respuesta no la entiendo....

El código lo entenderá quien tenga el mínimo conocimiento indispensable, el que no lo entienda pues a por un libro

Si un código funciona y es adecuado a la necesidad que lo diseño, que lo entienda un recién llegado no es problema de la codificación.

Además … ¿Por qué lo complicáis mas de lo indispensable? ….

Un IF espera una comparación y una comparación es una respuesta única a una pregunta, en definitiva: tras el IF hay un verdadero o un false (o se cumple o no se cumple)

IF Eval(…..) Then Msgbox "Se cumple la condición" Else Msgbox "La condición no se cumple"

o asi
Msgbox IIF (Eval(….), "Se cumple la condición", "La condición no se cumple")

En la ventana de inmediato:

Expresion= "4>5"
Msgbox iif (eval(expresion), "Se cumple la condición", "La condición no se cumple")
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar