¿Cómo puedo modificar un registro activo en Access?

De nuevo otra ves por aquí molestándote pero he consultado algunos ejemplos de como modificar registros y aun no he encontrado nada útil me podrías ayudar mi problema es aun no se como modificar un registro activo es decir que se cargue en un formulario y que io al presionar un botón(modificar) se active el registro para poder realizarle eso por fa es lo único que me falta agradecería mucho tu ayuda es de la misma bd que te envíe

1 respuesta

Respuesta
1
La base que me mandaste ya la borré... Pero no importa, no se si entiendo bien la pregunta... Se supone que en Access no es necesario guardar los cambios con un botón en el formulario, si no que se guarda solo al cerrar el formulario. Lo que yo noté en tus formularios es que no los estás asociando a ninguna tabla ni consulta, por lo tanto los datos no se van a guardar... En las propiedades del formulario hay una opción, quizás la más importante, "ORIGEN DE REGISTRO". Ahí es donde asociás el formulario a alguna de tus tablas o consultas para que al realizar modificaciones en el formulario, se hagan también en las tablas. Una vez puesto el Origen de Registro en tu tabla o consulta, tendrás que verificar que el Origen de Control de cada uno de los controles de tu formulario (cuadros de texto ... ...) coincida con los campos correspondientes (En vez de ser Independientes, como vi que estabas usando). Un ejemplo de esto puede ser el formulario de Resultados que yo te hice, que tiene el origen de registro en la consulta de ejemplo y cada uno de los cuadros de texto tienen el origen de control en los campos de la consulta, la que a su vez está hecha a partir de la tabla... ¿Se entiende?
¿Mm si estoy guardando los datos en una tabla con la intrucion de sql y tengo una tabla de consultas que use para hacer consultas de los registros más aparte hice la que tu me enviaste lo que quiero saber es si hay una forma mediante un botón con código modificar registros me explique?
¿Cuándo decís modificar registros, es que querés hacer modificaciones en los registros, desde el formulario y que los cambios se guarden en una tabla?
Me parece que te estás complicando mucho. A mi parecer, la instrucción SQL y el botón de guardar están de más, basta con asociar correctamente el formulario a la tabla (poner el "origen de registro" del formulario en la tabla, y el "origen de control" de los cuadros de texto en los campos de la tabla) para que cada vez que modifiques un registro se modifique automáticamente en la tabla.
Si querés, volveme a mandar la BD y te hago otro ejemplo... Si me la mandás, fíjate de poner las imágenes como incrustadas, o quitarlas para que pueda ver bien los formularios y acordate de mandarla en modo compatible...
Fíjate en el ejemplo que te envié anteriormente. Hacé una búsqueda sin completar ningún cuadro para que te entregue todos los registros de la tabla en el formulario de resultados. Modificá en ese formulario todos los registros que quieras y verás que al ir a la tabla, los cambios se han guardado sin necesidad de ningún botón.
Gracias por tus aclaraciones ya lo cheque y tienes razón pero ahora si en la consulta no encuentra el registro como le hago para que mande algún mensajillo de no se encontró el registro o algo así por el estilo gracias por contestar :)
De nada...
Bueno, te respondo ésta y por favor finalizá la pregunta y si necesitás más ayuda abrite una pregunta nueva, con titulo nuevo...
La forma más fácil de hacer eso es mediante tratamiento de error, de la siguiente manera:
Abrite el formulario de resultados en vista de diseño, andá a las propiedades, pestaña Datos y poné la propiedad Agregar en NO.
Ahora, en el código del evento "Al Abrir" ponés lo siguiente:
Private Sub Form_Open(Cancel As Integer)
On Error GoTo MSG
If me.desecho = zzz Then
End If
exit_Form_Open:
Exit Sub
MSG:
MsgBox "No se encontraron resultados", vbInformation, "Título Mensaje"
Cancel = True
End Sub
Bueno, te explico un poco cómo funciona:
On Error GoTo MSG
Si se produce un error pega un salto y continúa ejecutando el código desde la etiqueta "MSG:"
If me.desecho = zzz Then
End If

Acá se puede poner cualquier expresión, sin importar si se cumple o no, ya que no vamos a asignarle ninguna acción. Lo importante es que estamos involucrando un campo de la consulta representado como un cuadro de texto en el formulario, el cual no se podrá encontrar si no hay resultados en la consulta. De forma que si no hay resultados se produce un error.
exit_Form_Open:
Exit Sub
MSG:

Salimos del Sub y abrimos la etiqueta MSG
MsgBox "No se encontraron resultados", vbInformation, "Título Mensaje"
Salta el mensaje
Cancel = True
Se cancela la acción de abrir el formulario
Bueno, eso es todo, pruébalo y cualquier cosa preguntame.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas