Destacar "nuevo registro" con formato condicional

Quiero destacar mediante un formato condicional, el control de un campo ID que muestra (Nuevo) al tratarse de un nuevo registro, pero no sé como indicarlo al crear la condición.

He probado con "El valor del campo es"...

Igual a ""
Igual a "(Nuevo)"
Null

...

Y no encuentro la forma ;)

3 Respuestas

Respuesta
1

Pruebe con este código en el evento Al activar registro

Private Sub Form_Current()
  If Me.NewRecord Then
    With Forms(Me.Name).Controls("id").FormatConditions _
        .Add(acFieldHasFocus)
        .BackColor = vbCyan
        .FontBold = True
        .ForeColor = vbRed
    End With
  Else
    With Forms(Me.Name).Controls("id").FormatConditions _
        .Add(acFieldHasFocus)
        .BackColor = vbWhite
        .FontBold = False
        .ForeColor = vbNormal
    End With
  End If
 End Sub

Asigne los colores a su gusto.

Hola,

Lo he probado, el caso es que solo me cambia el formato si me sitúo en el campo ID y lo que yo quiero es que me destaque el campo al pulsar "Nuevo registro", para que los usuarios no se equivoquen de registro...

Además, tengo nivel 0 de código :(

¡Gracias igualmente!

No comprendo... ¿Se refiere a todos los campos? O al título de un botón

Respuesta
1

Desde VBA se puede obtener ese dato, para utilizarlo en el formulario se puede utilizar una función que devuelva el estado, algo como:

Public Function EsNuevo() AS Boolean
EsActivo = Me.NewRecord
End Function

La función se ha de crear (o copiar / pegar) en el código del propio formulario a controlar.

La condición seria : EsNuevo()

Una pregunta: ¿y dónde añado este código?

En Eventos del formulario "Al activa registro" ya está "ocupado"... analfabeto en VBA

Entiendo que una vez pegado, puedo crear el formato condicional.

Gracias!

Con estar en la misma ubicación que están el resto de eventos del formulario le es suficiente.
Para hacerlo sencillo ... al final del ultimo o debajo del evento Current (su 'End Sub' y deja una línea en blanco de separación para que quede todo mas conjuntado)

Y ya en el formulario pones como condición lo que indicado en el anterior post, devolverá un True si es un registro nuevo o un False si no lo es.
Eso es lo que espera recibir: el resultado de evaluar la condición que si se cumple = True y si no se cumple = False)

Respuesta
1

Si lo que quieres es usar el formato condicional, construyo el formulario como

Es decir, le doy el color rojo a el cuadro de texto IdProducto y luego en formato condicional le digo

Que el color de fondo sea blanco si

De forma que cuando lo abro

Y en cuanto escriba algo, en este caso en Categorías

El color rojo pasa al siguiente

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas