Formato condicional

Formato condicional (9/7/2002)
Hola, tengo una base de datos con un formulario llamado [pedidos], con los campos [ref] y [articulo], utilizo la función dbusq para actualizar [articulo] después del evento después de actualizar en [ref], com podría hacer para que el color de fondo cambiara, o me de un mensaje, de [articulo], cuando [ref]es erróneo o no existe. Gracias

2 Respuestas

Respuesta
1
Lo que necesitas es bastante sencillo...
Guarda en primer lugar el resultado de dBusq en una variable de tipo texto...
Dim strArticulo as string
strArticulo=Nz(Dbusq("CodigoArticulo","T_Articulos","Ref=" & me.Ref),"")
if strArticulo="" then
'Articulo no encontrado
msgbox "La referencia indicada no es válida",vbcritical
CampoArticulo.BackColor=255 'Rojo
else
'Artículo encontrado
'Agrega aquí tu código..
CampoArticulo.BackColor=16777215 'Color Blanco
end if
Respuesta
1
La función que usas, dbusq, devuelve un valor de retorno.
Ese valor de retorno es en tu caso el contenido del campo [articulo] para el registro de la referencia [ref].
Cuando dbusq no encuentra ningún registro que coincida con el criterio de búsqueda (es erróneo o no existe es lo mismo para la función, el caso es que no lo encuentra) lo que devuelve es null. Por tanto, comprobando si el resultado devuelto es o no null mediante la función IsNull( ... ) puedes hacer lo que quieras para hacer notar que no existe la referencia buscada.
Un breve ejemplo:
Dim Valor
Valor = DLookup("[Articulo]", "NombreTabla", "[Ref] = 45")
if IsNull(Valor) then
Articulo.BackColor = RGB(255,0,0)
else
Articulo.BackColor = RGB(255,255,255)
end if
Es importante poner la parte else porque sino, una vez se introduzca una ref errónea y se ponga rojo, no recuperara su color original.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas