¿Código para poner un botón en el formulario de modificación que guarde el registro?

Tengo un formulario con un cuadro de lista donde selecciono un registro y con un botón modificar me abre un formulario con los datos del registro que seleccione, bien, que código puedo ponerle a un botón en el formulario de modificación para que me guarde el registro en la tabla donde estaba pero modificado

1 respuesta

Respuesta
1
Haber... dime el formulario de modificación, ¿no esta amarrado a la tabla?, ¿Solo es de lectura?.. porque lo puedes abrir FILTRANDO los datos,... y así todo lo que modifiques queda guardado automáticamente...
Att:telemaco
No en base a un ejemplo de otro lado le puse un código a un botón modificar:
Private Sub CmdModificar_Click()
'Abre y Carga a Modificaciones el registro seleccionado
DoCmd.OpenForm "FrmModProductos"
Form_FrmModProductos.Cod_Prod = LstProd.ItemData(LstProd.ListIndex)
DoCmd.Close acForm, "FrmProductos"
SendKeys "{ENTER}", True
End Sub
y al formulario modificaciones:
Private Sub Cod_Prod_LostFocus()
'Recibe y rellena los campos para modificar
On Error GoTo Err
Dim rst As DAO.Recordset
Set rst = CurrentDb.OpenRecordset("Select * From TbdProductos Where Cod_Prod='" & Cod_Prod & "'")
Nom_Prod = rst!Nom_Prod
Nom_Prod.SetFocus
Err:
Exit Sub
End Sub
Pero si tu me dices que existe otra forma te lo voy a agradecer esto me funciona como yo quiero solo que no se que poner en el botón modificar del frmModProductos para guardar los cambios la verdad apenas me estoy metiendo con programación porque me gustaría aprender entonces en base a los ejemplos que encuentro lo voy diseñando
gracias
Lo que debes hacer es crear un formulario basado en tu tabla... como sabes para eso son los formularios... el te visualizara todos los registros... ahora podemos utilizar este formulario para abrir en modo "modificar", pero que solo me muestre el registro que quiero arreglar, como sabes los formularios me muestran TODOS LOS REGISTROS... ahora solo necesito utilkizar este formulario, para no crear más y desperdiciar rendimiento y tamaño de disco, entonces este seria el código del botón:
*********************
Private Sub CmdModificar_Click()
DoCmd.OpenForm "FrmModProductos",,,"cod_prod=" & LstProd.ItemData(LstProd.ListIndex) & "")
DoCmd.Close acForm, "FrmProductos"
End Sub
*********************
Y listo... no necesitas del otro código en el formulario... YA QUE COMO ESTA AMARRADO A UNA TABLA, MOSTRARA LOS DATOS "FILTRADOS", SEGÚN LO QUE SELECCIONES EN EL CUADOR DE LISTA...
COMO TEPUEDES DAR CUENTA en el método OpenForm, ademas de mandar el nombre del formulario, lemando el filtro.. que es el tercer criterio delmetodo OpenForm (mira las comas)...
OJO: EL FORMULARIO "FrmModProductos" debe estar amarrado a la tabla que mostrara los datos... sino te mostrara todo vacío... ademas las cajas de texto.. estarán amarradas a los campos de esta tabla..
Att:telemaco
Hola
Disculpa la molestia pero cuando escribo el código en la primer linea me dice que se esperaba fin de la instrucción
Gracias
El código te mande lo debes colocar sin los asteriscos, Y REEMPLAZAR EL QUE TENIAS, osea quedaría:
Private Sub CmdModificar_Click()
DoCmd.OpenForm "FrmModProductos",,,"cod_prod=" & LstProd.ItemData(LstProd.ListIndex) & "")
DoCmd.Close acForm, "FrmProductos"
End Sub
REVISA QUE EL END SUB...no este repetido, y tampoco este repetido Private Sub CmdModificar_Click()
Solo deben estar una vez...
Me avisas
Att:telemaco
Hola:
Mira fíjate que amarro el formulario ala tabla y me pasan unos casos:
1.Pongo el código ya cheque bien y me pone que falta fin de instrucción y se pone en rojo toda la linea
2. Si pongo un paréntesis ya sea antes del primero que esta en lstprod o después del primer ampersand, me abre el formulario pero sin datos.
3. Si pongo lo del segundo caso pero al frmModificaciones le pongo entrada de datos no, ¿me pide introduzca el valor del parámetro
que sera?
De antemano agradezco todas tus molestias
att:Ariel
Hagamos algo mejor... si quieres mandame el formualio y las tablas, y te ayudo... a:
[email protected]
Te pido que lo comprimas ojala con winrar, sino con winzip...
Y por favor en el email me comentes de que se trata... es que de aquí me envían muchos email, y aveces no me comentan de que se trataba y me queda difícil a veces adivina...
Att:telemaco

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas