Desplazarse por registros en un subformulario

Tengo un problema a la hora de desplazarme por los registros de un subformulario. Yo para hacerlo por un formulario utilizo en docmd. Gotorecord acform, "nombre",...
Pero no se como hacerlo en un subformulario.
Lo que en realidad necesito en desplazarme por todos los registros del subformulario, en el que tengo una serie de precios, y copiarlos a los registros correspondientes del formulario principal.
También necesito eliminar registros del subformulario (que para los form utilizo en DoCmd. RunCommand acCmdDeleteRecord, con lo que me elimina el registro del formulario activo) pero no se como hacerlo para eliminarlo, como digo, del subformulario.

2 respuestas

Respuesta
1
¿En qué evento se lo pones?
Se hace igual que en el formulario principal, sólo le tienes que hacer un setfocus al subformulario para trabajar directamente con él.
Le doy el siguiente código:
nombsubform. Setfocus
docmd.gotorecord ,"nombsubform",acfirst
Y al ejecutarse me da el error de que el objeto "nombsubform", no está abierto.
¿En cuál de las dos líneas te da el error? A mi me parece que las dos líneas están bien, prueba a compactar y reparar la base de datos y luego prueba a ejecutar de nuevo el código, a ver si fuera por eso.
El error me lo da en el docmd.gotorecord...
Pero ya he probado esto que me dices, y no hay cambios, sigue el mismo error.
Por lo visto es que no nombsubform no lo detecta como un formulario, ya que es el nombre de un control dentro del formulario, y cuando le pongo el nombre real de subformulario, al no estar abierto como tal, sino como un control, también da el error de objeto no abierto.
Un saludo
En el evento onclick de un botón que utilizo para aceptar
Prueba con nombresubform. Gotorecord, etc
Respuesta

Hay que indicarle a Access que el objeto (del formulario) es a su vez un formulario

Formulario1 (el principal)
Formulario2 (el subformulario)

Referencia absoluta:        Forms.formulario1.Formulario2.Form.

La referencia relativa:   Me.Formulario2.Form.

El subformulario (formulario2) no existe como tal formulario para Access, pues es un objeto del formulario principal (Formulario1), por ello no lo encuentra en la colección de formularios abiertos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas