hola Jose Ramirez aqui te voy adjuntar la imagen del From y el codigo para que explicarme mejor. eso de mandar a traer el estatus a CANCELADO esta listo lo que no consigo es como restar las prendas que estan en la tabla detalleproductos de la tabla productos
CODIGO DEL BOTON
Private Sub CmdPagos_Click()
'On Error GoTo probando
Set rs = New ADODB.Recordset
rs.CursorLocation = adUseClient
rs.Open "Select * from pagoapart", CN, adOpenDynamic, adLockOptimistic
''''''''''''''''
Dim I
If Text5.Text = "" Then
MsgBox "¡Debe Buscar el Cliente y Colocar el Monto que Desea Abonar!", vbInformation
CmdBusc.SetFocus
Exit Sub
End If
If Txtabono.Text = "" Then
MsgBox ("!Ingrese el Monto que Desea Abonar¡")
Txtabono.SetFocus
Else
If MsgBox("¿Desea Abonar a la Cuota?", 4 + vbQuestion + vbDefaultButton1, "Grabar") = 6 Then
''''''''''''''''
With rs
.Requery
.AddNew
!fecha = Text8.Text
!abono = Txtabono.Text
!cod_apart = Text7.Text
!cod_cliente = ldlcod.Caption
!debe = Text6.Text
!estado = Text4.Text
.UpdateBatch
.Requery
End With
Txtabono = ""
Txtdebe = ""
Text6 = ""
''''AQUI ACTUALIZA LA GRILLA DE LOS ABONOS'''
Adodc3.Refresh
Set MSHFlexGrid2.DataSource = Adodc3
formatopagoabonos
MSHFlexGrid2.Refresh
'''''''''''''''''''''''''''''
Set rs = New ADODB.Recordset
rs.Open "SELECT CASE WHEN EXISTS (Select * From pagoapart WHERE cod_cliente= '" & ldlcod.Caption & "' and estado = 'ABONADO') Then CAST(1 As BIT) Else CAST(0 As BIT) End", CN
Set DataGrid5.DataSource = rs
If DataGrid5.Text = 0 Then
MsgBox "!Tiene Abonos Pendientes¡"
Else
CN.Execute "UPDATE apartados SET estado='CANCELADO' WHERE cod_cliente='" + ldlcod.Caption + "' and cod_apart='" + Text7.Text + "'"
'''''''''VERIFICAR SI HAY APARTADOS CANCELADOS''''''''''''''''''''
Set rs = New ADODB.Recordset
rs.Open "SELECT CASE WHEN EXISTS (Select * From apartados WHERE cod_cliente= '" & ldlcod.Caption & "' and estado = 'CANCELADO') Then CAST(1 As BIT) Else CAST(0 As BIT) End", CN
Set DataGrid5.DataSource = rs
If DataGrid5.Text = 0 Then
MsgBox "!Tiene Apartados Pendientes¡"
Else
CN.Execute "UPDATE detapartados SET estado='CANCELADO' WHERE cod_cliente='" + ldlcod.Caption + "' and cod_apart='" + Text7.Text + "'"
CN.Execute "UPDATE pagoapart SET estado='CANCELADO' WHERE cod_cliente='" + ldlcod.Caption + "' and cod_apart='" + Text7.Text + "'"
'''''''''ACTUALIZAR STOCK DE PRODUCTOS''''''''''''''''''''
'cn.Execute "Update productos Set stock = stock - cantidad.vendido FROM productos prod INNER JOIN (SELECT cod_prod, SUM(cantidad) AS vendido FROM detapartados WHERE cod_cliente>='" + ldlcod.Caption + "' GROUP BY cod_prod) AS cantidad ON prod.cod_prod = detapartados.cod_prod"
limp
Text5.SetFocus
'Exit Sub
'probando:
'MsgBox Err.Description, vbInformation, "Aviso"
End If
End If
End If
End If
End Sub