Access - Ayuda con Formulario - Dificil -

 
Vista:

Ayuda con Formulario - Dificil -

Publicado por Demo (1 intervención) el 04/11/2003 22:30:24
Hola Amigos(as)
Quiero hacer lo siguiente:
Al abrir un formulario en un registro nuevo e ingresar un dato (y ver si este ya esta ingresado, mostrandose un mensaje.) esto lo solucione con un recordet. (ver abajo) pero ademas que me avise que ya esta ingresado ME UBIQUE EN ESE REGISTRO (para modificar o eliminar datos).
Sino
Si el dato no esta (es nuevo) lo ingrese normalmente el registro
---
el recordset que use es este.
Dim Var As String
Dim Rec As Recordset
Var = "Select * from FacturaV Where [NroFV]=" & Me.NroFV & ""
Set Rec = CurrentDb.OpenRecordset(Var)
If Rec.RecordCount > 0 Then
MsgBox "El Nº de Factura ya Existe ....", , "Error!!!"
End If
Rec.Close
---------
De antemano Gracias
Demo

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Ayuda con Formulario - Dificil -

Publicado por Alejandro (4142 intervenciones) el 03/05/2023 16:51:49
Para hacer lo que estás pidiendo, necesitas agregar algunas líneas adicionales a tu código actual. Después de mostrar el mensaje de error, puedes usar el método `.FindFirst` del objeto Recordset para ubicar el registro existente y luego usar el método `.Bookmark` para mover el formulario a ese registro. Si el registro no existe, simplemente puedes dejar que el usuario ingrese el registro como lo hace actualmente.

Aquí hay un ejemplo de cómo se podría modificar tu código actual para hacer lo que necesitas:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Dim Var As String
Dim Rec As Recordset
Var = "Select * from FacturaV Where [NroFV]=" & Me.NroFV & ""
Set Rec = CurrentDb.OpenRecordset(Var)
If Rec.RecordCount > 0 Then
    ' El registro ya existe, mostrar mensaje de error
    MsgBox "El Nº de Factura ya Existe ....", , "Error!!!"
 
    ' Ubicar el registro existente
    Rec.FindFirst "[NroFV]=" & Me.NroFV
    If Not Rec.NoMatch Then
        ' Mover el formulario al registro existente
        Me.Recordset.Bookmark = Rec.Bookmark
    End If
Else
    ' El registro no existe, permitir ingreso normal
    Rec.Close
    ' Código adicional para ingresar el registro
End If

En este código, después de mostrar el mensaje de error, el método `.FindFirst` busca el registro existente y el método `.Bookmark` mueve el formulario a ese registro. Si el registro no existe, el código simplemente cierra el objeto Recordset y deja que el usuario ingrese el registro normalmente.

Espero que esto te ayude a lograr lo que necesitas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar