Necesito información para insertar registro en base de datos access utilizando botón en visual basic

Hola, mi pregunta es la siguiente, tengo una base de datos en access, en la cual tengo 2 formularios ( "ficha" y "ficha1" ), en ambos saque la barra de herramientas de navegación en registros y le puse mis propios botones, el problema que tengo es cuando quiero agregar un nuevo registro, apretó el botón de agregar registro (esta en "ficha", al apretar me abre el formulario "ficha1", hasta ahí todo ok!), y se abre el formulario con todos los campos para su llenado, lleno los campos!, y cuando le doy agregar, que es un botón que tiene este código "DoCmd.GoToRecord,, acNewRec" en vez de agregar me actualiza el ultimo registro y no me agrega uno nuevo!, pero luego si repito la operación sin cerrar el formulario los empieza a agregar normalmente.
¿Alguna ayuda?
De antemano gracias por la ayuda!

1 Respuesta

Respuesta
1
Yo probaría a poner un "me.refresh" antes de moverme a un registro nuevo.
Es posible que no lo haya reflejado en la tabla y por eso no lo reconozca.
Si no te sirve, prueba a que te avise de cual es el nombre del formulario activo justo antes de moverte de registro (a ver si está actuando sobre el otro formulario). Incluso ponle la instrucción de moverte de registro completa:
    msgbox me.name
    Docmd. GoToRecord acDataForm, me. Name, acNewRec
Sin poder manejar la base de datos no se me ocurre mucho más.
Gracias por tu pronta respuesta, pero NO he logrado solucionarlo, te paso más datos a ver si te ocurre otra opción...
Desde "ficha" monitoreo el id del registro que por ejemplo esta en 15, cuando apretó el botón me abre la "ficha1" y si monitoreo el id de registro sigue diciendo 15, justamente creo que ahí esta el problema, porque a mi entender debería colocarse en (Autonumérico) osea quedarse en blanco listo para que cuando apreté el botón de agregar registro se sume uno nuevo y este pasaría a ser el numero id 16 y así sucesivamente pero NO pasa.. ¿se te ocurre algo?, ya me mude de pc y probé con otro access y me hace lo mismo a si que descarto problema de sistema..
Gracias!
Cópiame la código que tiene el botón (y procesos a los que llame) o bien enviame una copia de la base comprimida en zip con una clave (importante la clave porque sino hotmail rechaza el fichero) a mi correo: [email protected]
Si me lo mandas por correo avisame por aquí para que lo consulte. SIno no suelo abrirlo mucho.
Hola experto! Ahí te envíe la base...! Gracias. Cheque tu mail..!
Saludos
Cambios a realizar:
Cuando tengas un campo de tipo 'autonumérico', en los formularios debes ponerlo como 'activado = falso'. Piensa que son campos que no se puede escribir en ellos, por lo que mejor no tocarlos.
El botón 'va_hacia_ficha1', en el evento 'al hacer click' pon lo siguiente:
Private Sub va_hacia_ficha1_Click()
    DoCmd. OpenForm "Ficha1"
    DoCmd. GoToRecord acDataForm, "ficha1", acNewRec
End Sub
De esa forma te lleva a un nuevo registro de la ficha1.
Creo que con eso se soluciona lo que buscas.
Por eso sos un experto! MAESTRO! GRACIAS! Se soluciono!, una cosita más, y no jodo más, para cuando vuelvo al formulario "ficha", no se me actualizan los datos, osea tengo que salir y volver a abrir.. donde me conviene poner el me. ¿refresh? O como hago para que me muestre los registros que acabo de dar de alta!?
Gracias
En este caso en lugar de un 'refresh' (repinta los datos de la pantalla) necesitas un 'requery' del primer formulario (volver a ejecutar la consulta).
Supongo que vuelves al formulario inicial cerrando el otro. Por ello, en el botón de cerrar deberías poner delante del 'docmd.close...' lo siguiente:
Me. Refresh
Forms("ficha"). Requery
DoCmd. GoToRecord acDataForm, "ficha", acLast
Creo que con eso será suficiente.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas