Access - Añadir registro en blanco.

 
Vista:

Añadir registro en blanco.

Publicado por Marta (47 intervenciones) el 13/05/2006 13:13:56
Hola a todos:

Tengo una tabla de contactos. Para mostrar un contacto en el formulario me sirvo de un ComboBox. El contacto lo muestro la hacer clic en el ComboBox, que me muestra todos mis contactos, por medio de un filtro. Éste es el código que utilizo.


Private Sub cboBuscaContacto_AfterUpdate()
On Error Resume Next

cboBuscaContacto.SetFocus
If cboBuscaContacto.Value > 0 Then
Me.Filter = "[IdContacto]=" & cboBuscaContacto.Value
Me.FilterOn = True
End If

End Sub

El problema surge cuando quiero añadir un nuevo registro. Para ello utilizo el siguiente código:

Private Sub cbtAgregar_Click()
Dim db As Database
Dim rstContactos As DAO.Recordset
Dim sqlContactos As String
Dim N_Reg As Integer
Dim varMarcador As String

Set db = CurrentDb()

sqlContactos = "Select * From Contactos"

Set rstContactos = db.OpenRecordset(sqlContactos, dbOpenDynaset)

'Añadir un nuevo registro (Contacto) con el valor almacenado en la variable NewData.
rstContactos.AddNew
rstContactos.Update


'Voy al último registro y muestro el número de registros que contiene la tabla.
rstContactos.MoveLast
N_Reg = rstContactos.RecordCount
Me.lblNumReg.Caption = N_Reg

rstContactos.Move N_Reg


rstContactos.Close 'Cierro el recordset

Set rstContactos = Nothing



' Me.Filter = "[IdContacto]=" & Null
'Me.FilterOn = True

End Sub

El código anterior me añade el nuevo registro. Lo que no consigo es ir a ese registro nuevo y que me aparezcan todos los campos en blanco para poder rellenarlos. He probado varios códigos sin éxito alguno. También he probado con

On Error GoTo Err_Comando108_Click

DoCmd.GoToRecord , , acLast

Exit_Comando108_Click:
Exit Sub

Err_Comando108_Click:
MsgBox Err.Description
Resume Exit_Comando108_Click


pero no hay forma. No me aparece el registro en blanco que he añadido, sino otro distinto.

¿Alguien sabe cómo puedo hacerlo?

Gracias anticipadas,
Marta
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

RE:Añadir registro en blanco.

Publicado por Chea (1015 intervenciones) el 13/05/2006 16:51:14
Ten en cuenta que el último registro de un recordset dependerá del orrden de éste, por lo que no tiene porqué coincidir con el último registro Por otro lado, el recorset que abres al margen del formulario, tampoco tiene porqué c oincidir con el formulario.

¿No sería mucho más sencillo que añadieras un nuevo registro usando docmd.GoToRecord ,,acNewRec ?

Saludos
José Bengoechea Ibaceta
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

RE:Añadir registro en blanco.

Publicado por Marta (47 intervenciones) el 13/05/2006 17:09:57
Hola, José:

Acabo de probar tu sugerencia pero no me añada registro alguno. Está claro que el código que me recomiedas tendría que añadir un nuevo registro pero, no s´´e por qué razón, no lo hace.

¿Tendrías inconveniente en que te mande el archivo .mdb para que le eches un vistazo?

Saludos,
Marta Bocanegra
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