Forzar guardado de datos en subformulario

Tengo un formulario principal llamado formventa con los campos (IdVenta, Fecha y Cliente) y un subformuario formventa1 que recoge los productos. Para automatizar la entrada de pedidos, en el objeto al entrar del subformulario formventa1 le he puesto este código para que coja automáticamente la fecha y el idVenta, y efectivamente me lo pone en el formulario principal.

Private Sub formVenta1_Enter()
If IsNull(Me.IdVenta) Then
IdVenta = Nz(DMax("[IdVenta]", "tblVenta"), 0) + 1
DoCmd.RunCommand acCmdSaveRecord
End If
If IsNull(Me.Fecha) Then
Me.Fecha = Date
End If
End Sub

El problema es que al querer meter los productos me dice que no tiene un registro relacionado en la tblventa, es como si no lo guardara. ¿Cómo puedo forzar la entrada de datos? ¿Hay alguna forma?

1 respuesta

Respuesta
2

Por lo que dices, es lógico que te diga eso, ya que me parece entender que no has puesto nada en el formulario, y ambos tiene que estar relacionados por un campo común. Por ejemplo, supongamos que tengo una tabla Ventas con Idventa(autonumérico), Fecha, Clientes y una tabla Detalleventa con Idventa(numérico) relacionado con el anterior UNO a VARIOS, una venta varios productos. No te tendrías porque preocupar del idventa del subformulario, porque al rellenar cualquier dato en el formulario, automáticamente le asigna un valor al IdVenta del formulario y como están relacionados, automáticamente se lo asigna al subformulario. Por otro lado, si ya tienes la fecha de venta en el formulario,¿Para qué repetir ese valor en el subformulario?

Por otro lado te aconsejaría, si de todas todas quieres poner la instrucción, que la pusieras en el evento Al recibir el enfoque del primer cuadro de texto de un registro del subformulario.

No me he explicado mal, cuando entro en el subformulario me introduce los campos de fecha e IdVenta en el formulario principal; pero luego cuando quiero meter el producto me dice que no hay registro en la tabla principal.

Sin embargo, si entro en el subformulario (me pone automáticamente la fecha y el idventa), cierro el formulario (sin introducir productos) y lo abro de nuevo si me deja meter los datos.

Sigo sin tenerlo claro. Si tengo una tabla Ventas y otra tabla DetalleVenta y las tengo relacionadas como en la imagen

Cuando hago un formulario con subformulario y sólo meto datos en el subformulario

De todas formas, si quieres, repito, si quieres, mándame una copia con dos o tres registros inventados a [email protected] y le echo un vistazo. Si lo haces, en el asunto del mensaje pon tu alias EloyC ya que si no sé quien me escribe no los abro.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas