Consulta de código de formulario en access para buscar un registro y si es nuevo ingresarlo en tabla
He creado un formulario basado en una tabla con un campo clave (fId autonumérico), y otra clave sin duplicados llamada fClaveCliente (Entero Largo), además de otros datos como fNombre, fApellidos, etc.
Mi idea es que al abrir el formulario para añadir un nuevo registro en la tabla y rellenar el campo fClaveCliente, si no existe previamente me continúe permitiendo rellenar campos (eso lo hace sin poner nada ;)) Pero si meto una clave en fClaveCliente que previamente ya existía, en vez de que me dé el error "(...)cambios no realizados porque se crearían valores duplicados en el índice(...)", me localice ese registro en cuestión para poder editarlo. He intentado con este código pero me da error en la instrucción Bookmark.
Private Sub fSIP_AfterUpdate()
' Buscar el registro que coincida con el control.
Dim rs As Object
Set rs = Me.Recordset.Clone
rs.FindFirst "[fSIP] = " & Str(Nz(Me![fSIP], 0))
If rs.EOF Then
Exit Sub
Else
Me.Bookmark = rs.Bookmark
End If
End Sub
¿Se te ocurre algo mejor?
Mi idea es que al abrir el formulario para añadir un nuevo registro en la tabla y rellenar el campo fClaveCliente, si no existe previamente me continúe permitiendo rellenar campos (eso lo hace sin poner nada ;)) Pero si meto una clave en fClaveCliente que previamente ya existía, en vez de que me dé el error "(...)cambios no realizados porque se crearían valores duplicados en el índice(...)", me localice ese registro en cuestión para poder editarlo. He intentado con este código pero me da error en la instrucción Bookmark.
Private Sub fSIP_AfterUpdate()
' Buscar el registro que coincida con el control.
Dim rs As Object
Set rs = Me.Recordset.Clone
rs.FindFirst "[fSIP] = " & Str(Nz(Me![fSIP], 0))
If rs.EOF Then
Exit Sub
Else
Me.Bookmark = rs.Bookmark
End If
End Sub
¿Se te ocurre algo mejor?
1 Respuesta
Respuesta de luis45ccs
1