Copiar y pegar líneas subformulario hoja de datos

Tengo un formulario que uso para hacer albaranes, en el cual hay un formulario principal con nº de albarán, n º de cliente y fecha. Luego debajo tengo un subformulario en modo hoja de datos vinculado al formulario principal por el nº de albarán. Lo que estoy intentando es poder transformar ese albarán en una factura, con lo cual tengo que copiar todos los datos del Formulario principal y todas las líneas del subformulario en hoja de datos a otro formulario y subformulario pero en este caso de factura. El copiar el formulario principal no es problema, uso el siguiente código y me funciona, pero uso lo mismo adaptándolo al subformulario pero lógicamente solo me copia la 1º línea, cuando necesito todas. Creo que se hace con un recordset pero no soy capaz de conseguirlo. A ver si me pudierais hecha un cable, llevo días con ello y no logro nada.

Aquí copio y abro el formulario de facturas.

Dim NCLIENTE As Variant
NCLIENTE = Me.NCLIENTE
DoCmd.OpenForm "FormularioFacturas", acNormal, , , acFormAdd, acHidden
With Forms!FormularioFacturas
.NCLIENTE = NCLIENTE
End With
Hago lo mismo para el subformulario pero solo me copia la 1º línea.

1 respuesta

Respuesta
1

Haz lo que creas más conveniente pero te digo lo que yo haría. Para copiar a la tabla Facturas y la tabla DetalleFactura, en el formulario Albarán pondría un botón y en su evento Al Hacer clic( o en cualquier otro evento) escribiría

Docmd.setwarnings false

docmd.runsql"insert into Facturas select * from Albaran where Numfactura=" & me.numfactura & ""

docmd.runsql"insert into Detallefactura select * from DetalleAlbarán where numfactura =" & me.numfactura & ""

y o bien a continuación o bien en un botón ¿Quiere ver esta factura?

Docmd.openform"Facturas",,,"nunfactura=" & me.nunfactura & ""

Perdon, me he dado cuenta ahora, donde pone

" & me.numfactura & "" debe poner

=" & me.numalbaran & ""

Gracias por la respuesta ICUE GONZÁLEZ

Pero el numfactura es autonumérico, y me da errores. ¿No se tendría que crear mejor el numero de cliente? Los datos de los campos y tablas son estos

ALBARÁN:

FormularioAlbaran - Formulario principal con el Nº de cliente y ID que es el Nº de albarán

TablaAlbaran - Donde guarda los datos del cliente y nº de albarán y fecha
   Id = Nº Albaran (Autonumerico)
   NCLIENTE = Nº del Cliente

SubformularioConceptosAlbaran - Es donde están las líneas del albarán.

IDALBARAN - Es el campo relacionado, el Id del Formulario principal es igual al del Subform IDALBARAN

FACTURA:
FormularioFacturas - Formulario principal con el Nº de cliente y ID que es el Nº de factura
  TablaFactura = Donde guarda los datos del cliente y nº de factura y fecha

  Id = Nº Factura (Autonumerico)
  NCLIENTE = Nº del Cliente

SubformularioConceptosFacturas - Es donde se guardan las líneas de la factura

IDFACTURA- = Campo relacionado, el Id del Formulario principal es igual al del Subform IDFACTURA

Saludos

Luis

Creo que lo mejor es que si quieres, repito, si quieres, mándame un mensaje(sólo el mensaje) a [email protected] y con tus datos te preparo un ejemplo, que es como mejor se ve.

Si lo haces, en el asunto del mensaje pon tu alias Luixin, ya que si no sé quien me escribe no los abro.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas