¿Como condicionar un cuadro combinado para que no permita el registro de duplicados?

La idea es un control de préstamo de un objeto el cual esta identificado por numero de serie. Lo que quiero es que cuando se intente cargar la Salida de un objeto que fue prestado, aparezca un mensaje que indique que seleccione otro objeto ya que el mismo no se encuentra disponible. Tengo una consulta e la cual se cargan los objetos que aún no se han devuelto, lo que quiero hacer es comparar los números de serie para que en caso que exista avise que este objeto no puede ser prestado (porque no esta) y desactive la opción de guardar. Hasta Ahora pude armar el código pero solo aparece el mensaje cuando compara con el primer elemento de la consulta.

No se si me explico bien. Les envio el código que arme

Private Sub Cuadro_Serie_AfterUpdate()
Dim sSerie As String

sSerie = DLookup("[Serie]", "[EquiposPrestados]", "Cuadro_Serie=" & Serie & "")

If Cuadro_Serie = sSerie Then
MsgBox "Este equipo todavia no a sido devuelto, seleccione otro", vbCritical, Atencion
Guardar.Enabled = False
Else
Guardar.Enabled = True
End If
End Sub

1 respuesta

Respuesta
1

En principio, no dices como sabes que no han devuelto un producto, así que voy a suponer todo.

Supongamos que tienes una tabla Productos con idproducto, producto, fechaentrega y fechadevolucion. Si, suponiendo, has hecho un formulario llamado Productos con esa tabla, en vista diseño del formulario, en las Propiedades del control Producto-en eventos-Antes de actualizar pon

If DCount("producto", "productos", "fechadevolucion is null and producto=forms!productos!producto") >= 1 Then
MsgBox "Lo siento, todavía no lo han devuelto", vbOKOnly, "Tendrás que elegir otro"
DoCmd.CancelEvent
End If

Así, cuando vayas a escribir o elegir un producto, mirará si hay algún registro con ese producto y sin fecha de devolución. Si es así te aparecerá el mensaje y el cursor no se moverá del control Producto.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas