Como indicar que el valor esta duplicado

Estoy tratando de adaptar una rutina que encontré para que cuando capture un valor me indique si esta duplicado o no, el detalle es que en el ejemplo me ponen una sola tabla y yo lo quiero adaptar para el uso de 2 tablas es decir.

La primera tabla llamada Tticket en esta capturo toda la información que referente al incidente con los campos: idcontrol como llave principal, incidente (numérico), fecha, concepto, observaciones

Mi segunda tabla se llama controloperativo en esta tiene los campos

Idop (como llave principal) incidente, fechapresup, usuario, monto

Ambas tablas están relacionadas por el campo incidentes, y un formulario que se llama controloperativo

Lo que quiero hacer es que cuando capture el incidente me indique que no se duplique en la tabla controloperativo, aunque me surge la duda porque en la primera parte al teclear el incidente la búsqueda la hace en la tabla tickets, porque me presenta información de esta tabla como informativa y la segunda parte ya es para guardar en la tabla controlincidentes. Encontré esta rutina que se pone en el evento después de actualizar.

Private Sub incidente_AfterUpdate()
Dim vValor, vValorB As Variant
vValor = Me.incidente.Value
If IsNull(vValor) Then Exit Sub
vValorB = DLookup("[incidente]", "controloperativo", "[incidente]=" & vValor)
If vValorB = vValor Then
MsgBox "El incidente introducido ya existe", _
vbInformation, "AVISO"
Me.incidente.Value = Null
Me.Idop.SetFocus
Me.incidente.SetFocus
End If

End Sub

Y no me sale ningún mensaje de que este duplicado y lo pasa, sin poner la información que les comente de la primera parte y se va hasta la parte en que se captura la información.

Siento que tal vez le tengo que indicar que busque en la tabla controloperativo y si no existe entonces busque en la tabla de tickets para que me mande la información solicita, pero eh aquí problema porque no se como indicar que haga esto.

1 respuesta

Respuesta
1

Pruebe cambiando estas 2 líneas:

vValorB = DLookup("[incidente]", "controloperativo", "[incidente]=" & vValor)

If vValorB = vValor Then

Por

vValorB = DCount("[idcontrol]", "controloperativo", "[incidente]=" & vValor)

If vValorB >0 Then

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas