Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

codigo eliminar registro subformulario

2,009 views
Skip to first unread message

carlos

unread,
Apr 29, 2009, 11:24:14 AM4/29/09
to
Hola he creado un formulario con un subformulario al intentar eliminar un
registro del subformulario por codigo no lo consigo eliminar que tengo mal en
el codigo.
el problema esta al enviar el foco al subformulario no ejecuta las
instrucciones.
DoCmd.RunCommand acCmdSelectRecord
DoCmd.RunCommand acCmdDeleteRecord

Private Sub eliminarproducto_Click()

On Error GoTo Err_eliminarproducto_Click
DoCmd.SetWarnings (warningsOFF)

If MsgBox("¿ELIMINAR PRODUCTO?", vbYesNo + vbQuestion + vbApplicationModal,
"ELIMINAR") = vbYes Then

Me.Productos_Subformulario.SetFocus
DoCmd.RunCommand acCmdSelectRecord
DoCmd.RunCommand acCmdDeleteRecord

Else
MsgBox "SIN ELIMINAR", vbInformation, "ELIMINAR"
End If
DoCmd.SetWarnings (warningsOn)

Exit_eliminarproducto_Click:
Exit Sub

Err_eliminarproducto_Click:
MsgBox "!! No ha Eliminado el Producto!!", vbInformation, "Cancelado por
el Usuario"
Resume Exit_eliminarproducto_Click

End Sub

jmmiralles

unread,
Apr 29, 2009, 12:41:03 PM4/29/09
to
Hola Carlos
Si quieres enviar el foco a un campo de un subformulario puedes hacerlo así:

DoCmd.GoToControl "[Nombre Subformulario]"

Forms![Principal]![Nombre Subformulario].Form![NombreCampo].SetFocus

[Nombre Subformulario]= por el nombre que tu le has puesto a tu subformulario
[Principal]= por nombre del Formulario principal.
[NombreCampo]=nombre del campo del subformulario.

*********************************************

Si el subformulario es tabular ¿Porqué no le pones un botón de eliminar?, o
si el subformulario es en forma de hoja de datos le puedes hacer un menú
contextual con el botón de eliminar.

y para eliminar también puedes utilizar:

DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70


Espero te sirva, ya cuentas algo
Saludos desde un lugar de la Mancha.


"carlos" escribió:

carlos

unread,
Apr 29, 2009, 1:39:01 PM4/29/09
to
El formulario esta en hoja de datos y he colocado un icono de eliminar en el
formulario principal para eliminar del subformulario la cuestión es que no
ejecuta el codigo:
DoCmd.RunCommand acCmdSelectRecord
DoCmd.RunCommand acCmdDeleteRecord

He probado lo que me comentas y no funciona, arriba tienes el codigo que
tengo puesto, ¿donde puede estar el error?
La cuestión es que la linea Me.Productos_Subformulario.SetFocus si envia el
foco al subformulario pero me indica que la opción o comando eliminar
registro no esta disponible ahora.
le he puesto tambien:
Me.Productos_Subformulario.SetFocus
Me.Productos_Subformulario.Form.AllowDeletions = True
Y tampoco funciona.
Gracias


"jmmiralles" escribió:

jmmiralles

unread,
Apr 29, 2009, 2:05:01 PM4/29/09
to
Yo haría el subformulario que se viese en Formulario Continuo, le pondría el
botón de eliminar con el código que tu tienes pero quitandole la línea de
código del foco, es decir, sin "Me.Productos_Subformulario.SetFocus ", te
saldría un botón por cada línea del subformulario, y le dedicaría un poco de
tiempo en el diseño para que se pareciese a un formulario de tipo de Hoja de
datos (te funcionará perfectamente).

Saludos


"carlos" escribió:

jmmiralles

unread,
Apr 30, 2009, 4:17:01 AM4/30/09
to
Hola Carlos

Si tu subformulario le tienes puesto "NO" en Permitir Ediciones para tenerlo
en forma de lectura, puedes poner esto al principio del código.

Me.Productos_Subformulario.Form!AllowEdits = True

y al final del código lo pondría a False para que siga siendo de lectura.

Saludos


"carlos" escribió:

0 new messages