No lo entendí bien ya que tampoco sé como facturas, pero supongo que cuando alguien te lleva unas prendas para que se las laves o planches o lo que sea, le cobras antes( al menos eso creo que hacen en las tintorerías), pero, si tengo el formulario
Donde en el control factura le pone automáticamente ese formato, y en el campo Nprenda del subformulario, le pone un número correlativo dentro de la propia factura, para diferenciar las prendas. Cuando se entregan las piezas se marca, en el subformulario, como entregadas. Vamos a suponer que por lo que sea una de ellas no se ha entregado(señalada con la flecha).
Si algún tiempo después viene ese mismo cliente a traer algo(es lo que he supuesto que preguntabas)
Cuando la elijo
Si le dices sí
Para el formulario Servicio, el código que le dá número a la factura
Private Sub IdCliente_AfterUpdate()
NumFactura = Format([IdServicio], "0000") & "/" & Year(Date)
End Sub
Private Sub IdCliente_BeforeUpdate(Cancel As Integer)
If DCount("*", "consulta1", "IDCLIENTE=" & Me.IdCliente & "") >= 1 Then
Dim respuesta As Byte
respuesta = MsgBox("Ese cliente tiene prendas sin recoger. ¿Quiere verlas?", vbYesNo + vbInformation, "Tu decides")
If respuesta = vbYes Then
DoCmd.OpenForm "Sinentregar", , , , , acDialog
ElseIf respuesta = vbNo Then
Exit Sub
End If
End If
End Sub
El código del subformulario es
Private Sub Cantidad_AfterUpdate()
Subtotal = Precio * Cantidad
DoCmd.RunCommand acCmdSaveRecord
Me.Parent!TotalServicio = DSum("subtotal", "detalleservicio", "idservicio=" & Me.IdServicio & "")
End Sub
Private Sub Servicio_AfterUpdate()
Precio = DLookup("precio", "precios", "prenda='" & Me.Prenda & "' and servicio='" & Me.Servicio & "'")
NPrenda = Me.Parent!NumFactura & "-" & Format([IdDetalle], "00000")
Cantidad.SetFocus
End Sub
Private Sub Servicio_GotFocus()
Servicio.RowSource = "select servicio from precios where prenda='" & Me.Prenda & "'"
End Sub
De todas formas, si quieres este ejemplo, mándame un mensaje(sólo el mensaje) a [email protected] y te lo mando.
Si lo haces, en el asunto del mensaje pon tu alias Rafael Hernan, ya que si no sé quien me escribe ni los abro.