Pasar datos de un form y un sub form a otro form y sub form

Tengo un Formulario que lo compone también un subformulario.. En este form tiene información de solicitudes de almacen (inventario).. Alli aparecen datos básicos de quien solicita y en el subform tiene los productos que ha solicitado.. Lo que deseo hacer es pasar esta información del form y subform.. A otro formulario (Datos básicos y todos los registros del subform) donde no tenga la necesidad de digitar articulo por articulo para hacer el descargue del inventario.

1 Respuesta

Respuesta
1

Deberías pasar los datos de la tabla origen del formulario A a la tabla origen del formulario B. Lo mismo con los subformularios. Por ejemplo, y sin saber como están construidos los formularios, ni si los nombres de los campos de ambas tablas son los mismos

docmd.runsql"insert into tablaB select nombrecliente,fechafactura, etc from tabla A where....y aquí iría el criterio que definiría que registros pasar.

O podrías poner. Desde el formulario A

Docmd. Gotorecord,, acfirst

dim i as integer

for i=1 to me.recordset.recordcount

Docmd.runsql"insert into tablaB(nombrecliente,fechafactura,...)values(nombrecliente,fechafactura,...)

docmd.runsql"insert into tablaD select * from tablaC where idventa=" & me.idventa & "

docmd.gotorecord,,acnext

Next

En fin, puedes hacerlo de muchas formas, sería necesario que concretaras algo más, o que pusieras una imagen da las tablas.

Estos son los forms…. Uno de solicttud y otro de salida... lo que deseo conseguir es que cuando abra el de salidas y escoja el numero de id de solictud.. me traiga toda la información del subform.. con el fin de no tener que digitar los productos solicitados uno por uno...Mil gracias por tu ayuda

Supongo que en Idsolicitud del formulario Salidas escribes, por ejemplo, 00017, y supongamos que el valor que relaciona formulario solicitudes con subformulario( no sé su nombre, así que lo llamaré DetalleSocitud) es el campo Idsolicitud. Se es así, y suponiendo que el formulario Socitudes... está cerrado( da igual que esté abierto, pero es para que veas que no es necesario) basta con que en el evento Después de actualizar del cuadro de texto Idsolicitud del formulario Salidas, crees un procedimiento de evento y entre Private Sub y end Sub pongas

Private Sub IdSolicitud_AfterUpdate()
IdCliente = DLookup("idcliente", "solicitudes de almacen", "idsolicitud='" & Me.Idsolicitud & "'")
Fecha = DLookup("fecha", "solicitudes de almacen", "idsolicitud='" & Me.Idsolicitud & "'")
Identificacion = DLookup("identificacion", "solicitudes de almacen", "idsolicitud='" & Me.Idsolicitud & "'")
DoCmd.RunSQL "insert into detallesalida select idproducto,descripcion,cantidad,presentacion from detallesolicitud where idsolicitud='" & Me.Idsolicitud & "'"
DoCmd.RunSQL "update detallesalida set idsalida=" & Me.IdSalida & " where idsalida is null"
Me.DetalleSalida.Form.Requery
End Sub

Así, si tengo el formulario Solicitudes de almacen

En el formulario Salidas( el otro está cerrado, ya que no hace falta que esté abierto) escribo ese idsolicitud

En cuanto pulso Enter

Es decir, al escribir el idsolicitud, lo que hace es buscar los valores en la tabla Solicitudes... y los "pone" en sus cuadros de texto, y como este formulario depende de la tabla Salidas, ya te lo guarda. Luego inserta en la tabla Detallesalida aquellos valores de la tabla DetalleSolicitud en que el idsolicitud sea igual al que hay en el formulario.

Mil gracias por tu ayuda.... pero tengo un inconveniente... al dar clic en el campo de texto me arroja que no coinciden los tipos de datos en la expresión... Sera posible que me envíes a mi correo este ejemplo que hiciste?? [email protected].. mil gracia nuevamente.....

No hay problema, supongo que el error te lo dá en el campo Identificación que yo he supuesto que era numérico.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas