Consulta de código para recorrer valores obtenidos de consulta a la base de datos access

Tengo un problema y quisiera que me ayudaras...
Tengo un formulario que contiene varios campos y tengo un botón "agregar" que es del asistente de access y cuando se cliquea limpia los campos y recorre su posición para introducir un nuevo registro(eso esta bien), pero al darle click al botón "guardar" yo programe un msgbox vbYseNo preguntando si deseamos agregar otro registro (vamos a llamarle del registro actual), y si damos "si" limpia los campos que yo quiero para volver a ser llenados por el usuario, pero no he programado recorrer su posición de ese registro, osea que los sobreescribe en el mismo campo, te dejo el código para que me ayudes.
Nota: no quiero usar el asistente del botón docmd. Gotorecord,, acnewrec por que así me limpiaría todos y yo quiero tener unos activos para no volver a ser llenados.
*** MI FORMULARIO SE LLAMA Servicios***
*******CON EL BOTON GUARDAR********
Private Sub B_GUARDAR_Click()
On Error GoTo Err_B_GUARDAR_Click
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
cmb_region.Locked = False
cmb_cliente.Locked = False
cmb_servicio.Locked = False
nu_servicio.Locked = False
txt_posicion.Locked = False
'txt_clave_auxiliar.Locked = False 'True = pone los campos inactivos
cmbCategoria.Locked = False 'False = pone los campos activos para ser
cmb_turno.Locked = False editados
txt_total_turnos.Locked = False
cmb_sueldo_mensual.Locked = False
txt_precio_venta.Locked = False
cmb_iva.Locked = False
'txt_pr_total.Locked = False
If MsgBox(" Guardar y Agregar Otro Registro? ", vbYesNo + vbQuestion, "Confirmación") = vbYes Then
DoCmd.DoMenuItem acFormBar, acRecordsMenu = 0, acSaveRecord, , acMenuVer70
cmbCategoria = cmbCategoria
cmb_turno = ""
txt_total_turnos = ""
txt_precio_venta = "" 'LIMPIA LOS CAMPOS PERO NO RECORRE
cmb_iva = "" POSICION
Else
MsgBox ("Tus datos han sido guardados exitosamente...")
End If
Exit_B_GUARDAR_Click:
Exit Sub
Err_B_GUARDAR_Click:
MsgBox Err.Description
Resume Exit_B_GUARDAR_Click
End Sub
Como ves si digo que si al msgbox solo limpia los registros pero no he logrado programar que se recorra una posición(LOS SOBREESRIBE).
Te mando mi correo para que te explique mejor [email protected] y por favor mandame tu mail para mandarte mi base con los formularios y se te haga más entendible.

1 respuesta

Respuesta
1
Representa que deseas agregar un nuevo registro y conservar en el nuevo
registro los valores de campos de un registro que acabas de guardar
... ¿Es eso?
Access guarda automáticamente un registro en el momento que nos desplazamos
a otro registro distinto del formulario.
Siempre hay muchas maneras de hacer las cosas. Yo te propongo...
-Guarda el valor de los campos que quieras mantener en una variable, crea un
nuevo registro(docmd. Gotorecord,, acnewrec)e introduces los valores de
las variables a los campos del nuevo registro.
O bien...
-Guarda el valor del campo clave que define el registro que vas a cerrar
, crea un nuevoregistro(docmd. Gotorecord,, acnewrec )
Y recupera los campos con la función DLookup()situándote al registro que
habías abandonado y los rellenas en este nuevo registro.
O bien...
Crea una tabla temporal con los valores a guardar, crea un nuevo registro y
recupera los valores.
Espero que sea esto. Te mando mi mail como pides.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas