Busqueda en access...

Hola experto, el problema que tengo es el siguiente:
Tengo un cuadro de texto independiente (cedu) donde introduzco una secuencia numérica a buscar (cedula), pero no me esta funcionando.
Ej:
Dim sMystring As String
Dim nMyMsg As Integer
sMystring = cedu
Me.RecordsetClone.FindFirst "[cedula]=" & cedu & ""
Me.Bookmark = Me.RecordsetClone.Bookmark
If sMystring <> [cedula] Then
Exit Sub
Else
nMyMsg = MsgBox("YA EXISTE OTRO CLIENTE CON ESTE NUMERO DE CEDULA, ¿DESEA CONTINUAR? ", vbYesNo, Title:="Cédula duplicada")
No me esta saliendo el mensaje, porque no esta identificando el campo.
Por favor, dame una idea de como solucionar esto...
Gracias anticipadas.

1 Respuesta

Respuesta
1
Perdona que me haya retrasado. Mira, la primera parte de la instrucción le está diciendo que te busque el primer registro en que Cedu coincida con Cedula. Vamos a suponer que hay una. De acuerdo a lo escrito se irá al primer registro que cumpla la condición. Vamos a suponer que lo que has escrito no coincide con Cedula (If smystring<>cedula) entonces le estas diciendo que salga del procedimiento, y eso es lo que hace, por tanto no da oportunidad a llegar a Else.
Yo te aconsejaría algo así como poner en el evento Antes de actualizar de Cedu
If DCount("cedula", "nombredelatabla", "[cedula]=[cedu]") >= 1 Then
MsgBox "Esa cédula ya existe. Desea continuar", vbYesNo, "Cedula duplicada"
If vbyes then
Lo que quieres que haga en este caso
ElseIf vbNo Then
DoCmd. CancelEvent
End If
End If
Así, cuando hayas escrito algo, lo primero que hará será comprobar si hay alguna cédula igual en la tabla, en caso de que la haya te lo dice. ¿Qué quieres continuar? En el código le dices que quieres que haga en caso de VBYES, que no quieres que siga, la instrucción Docmd. Cancelevent no te deja pasar del cuadro Cedu.
No sé si me he explicado bien.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas