¿Pasar automáticamente de Presupuesto a Factura?
Tengo un formulario llamado Presupuesto con varios campos (IdPresupuesto (campo autonumérico), IdCliente, Fecha). Dentro del formulario también tengo un subformulario Presupuesto1 donde introduzco los productos, (IdProducto (autonumérico), Cantidad, Precio, Descripción, IdPresupuesto (este campo relacionado con el del Presupuesto)
Luego tengo un formulario Factura, con la misma forma (IdFactura (campo numérico calculado automaticamente), IdCliente, Fecha); dentro el subformulario Factura1, con los productos (IdProducto, cantidad, Precio, Descripción e IdFactura)
Lo que quiero es que al pulsar en el comando: Pasar_a_Fra me copie los datos al formulario Factura.
Empleando este código, que he visto en enta página, he conseguido que me copie la cabeza de la factura y la última linea de los detalles, pero normalmente tiene más de una línea.
Tampoco he conseguido que me calcule el IdFactura, (por ejemplo con un "Dmax + 1) para probar le introduzco siempre el IdFactura=100:
Public Sub Pasar_a_Fra_Click()
'metemos la factura
DoCmd. OpenForm "Factura",,,, acFormAdd
Forms![Factura]![IdCliente] = Me.IdCliente
Forms![Factura]![Fecha] = Me.Fecha
Forms![Factura]![IdFactura] = 100
'METEMOS LOS DETALLES
Dim rst As DAO.Recordset
Set rst = Me.Presupuesto1.Form.RecordsetClone
rst.Move First
Do Until rst.EOF
Forms![Factura]![Factura1].Form![cantidad] = rst("cantidad")
Forms![Factura]![Factura1].Form![Descripción] = rst("Descripción")
Forms![Factura]![Factura1].Form![Precio] = rst("Precio")
Forms![Factura]![Factura1].Form![IdFactura] = 100
rst.MoveNext
Loop
rst.Close
Set rst = Nothing
End Sub
¿Alguna idea de como hacerlo?