Subformulario

Hola otra vez.
Hace poco me diste una solución para mostrar los datos de un registro de un subformulario en el formulario principal (en el evento current), al moverme por los registros del subformulario. Pues bien, al abrir el formulario, me da un error (error 2448), pero una vez dentro de él, si funciona, y conforme me desplazo por los registros se va actualizando el formulario principal. Es decir, da error solo al cargar el formulario. Ademas, se me duplican registros en la tabla, como si cuando se actualiza el principal, se almacenara el registro otra vez. El formulario principal tiene como origen la tabla de clientes y el subformulario también. Muchas gracias.

1 Respuesta

Respuesta
1
Vamos a ver si podemos ir dando solución a tus problemas:
Para controlar el error donde se produce exactamente, tendrías que establecer un punto de ruptura pulsando la tecla F9 en la primera instrucción del evento open del formulario (suponiendo que lo estés utilizando)de tal forma que cuando se abra el formulario lo primero que hará access es detenerse en esa instrucción esperando a que tu pulses F8 para avanzar hasta la siguiente y así sucesivamente hasta que las haya ejecutado todas. Si durante este proceso se produce algún error podrás saber en que instrucción se ha producido y actuar en consecuencia.
Con respecto a lo de los registros duplicados lo que sucede es que cada vez que actualizas los datos del formulario principal, access genera un nuevo valor autonumérico para la clave principal y lo da de alta.
Si el formulario principal lo quieres utilizar para dar de alta a los clientes lo que te recomiendo es que sustituyas las ordenes del evento current del subformulario que tengas ahora por estas otras instrucciones que lo que harán será buscar el registro del cliente en el principal que coincidan con la clave del registro del subformulario:
Dim rs As Object
Set rs = Parent.Recordset.Clone
rs.FindFirst "[CampoClaveCliente] = " & Str(Me![CampoClaveCliente])
Parent.Bookmark = rs.Bookmark
NOTA: siendo CampoClaveCliente el nombre de tu campo clave de la tabla de clientes.
Espero que te sirvan de algo estos consejos.
Si no fuera así, envíame un mensaje indicando que quieres hacer con el principal

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas