Access - IIF

 
Vista:
sin imagen de perfil
Val: 266
Bronce
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

IIF

Publicado por Pablo (328 intervenciones) el 09/03/2023 18:10:56
Hola a todos
Estoy haciendo pruebas con la función iif, en el cuadro de texto de un formulario,ct15, en su evento clic tengo:
MsgBox "Me.tienda_muestra=" & Me.tienda_muestra
MsgBox "iif(isempty(tienda_muestra),numero,NoNumero)=" & IIf(IsEmpty(tienda_muestra), "vacio", "Novacio")
Aclaro que tienda_muestra es un campo del formulario
Tengo 5 registros, estoy en el 5 , hago clic en ct15 y responde con Me.tienda_muestra=5 y después con Novacio, de acuerdo, avanzo un registro, a uno vacío, hago clic en ct15 otras vez y responde con Me.tienda_muestra=, de acuerdo, y después con Novacio no estoy de acuerdo, tienda_muestra está vacio!!
Alguien podría explicarme por qué pasa esto?
Gracias
Pablo
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

IIF

Publicado por Anonimo (3316 intervenciones) el 09/03/2023 19:10:08
Lo primero:
.- Tener claro que es una cadena de texto vacía.
.- Tener mas claro lo que es un NULL (y como se comporta a lo largo de su vida ..¿inútil?).
.- Tener super claro que es Empty y cuanto le dura ese estado feliz.

Y cuando se esta experimentando hay que tener muy claro lo que se tiene y lo que se espera para verificar el éxito o aprender del fracaso.
La maquina es repetitivamente sincera y cuanto 'mas abajo' (mas cerca de donde solo entiende de ceros y unos) mas rápida y mas simple.
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
sin imagen de perfil
Val: 266
Bronce
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

IIF

Publicado por Pablo (328 intervenciones) el 10/03/2023 17:17:46
cadena de texto vacía, null y empty
vacia y empty supongo que son iguales, cadenas vacias: " "," "
Null, puede ser "", 2 comillas sin espacios?
Gracias
Pablo
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

IIF

Publicado por Anonimo (3316 intervenciones) el 10/03/2023 19:27:56
No son iguales si lo fueran sobrarían dos.

Empty es un estado no un valor, es el estado en que puede estar un objeto hasta que se le inicializa, tras ello ese estado no lo recupera, tendrá o no valor pero nunca mas volverá a ser empty (solo se nace una vez).

Null, es un estado que requiere que el objeto exista, algunos objetos lo soportan de forma natural, es muy contaminante, pues cualquier operación que se haga con un NULL se vuelve un NULL (como el cero en la multiplicación), si el objeto existe y lo soporta: si no tiene asignado un valor es NULL y si lo soporta puede volver a el (no todos lo aceptan).

Una cadena de texto vacía no es un NUL es como un libro sin paginas (pero las puede tener) si el libro tiene cero paginas sigue siendo un libro (habrá que imaginar su contenido, pero eso es otro tema), funcionalmente equivale al cero matemático.

No confundamos que porque visualmente no se diferencia a un objeto (que puede soportar un NULL y lo tiene) de una cadena de texto vacía, ambos son iguales, si acaso se les 'iguala' con la función NZ (para evitar los desastres que puede hacer un NULL.).

Utilizar Empty en los ejemplos no ha sido lo mas acertado.
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