Antes que nada utiliza la etiqueta code cuando pongas codigo por que es dificil de leer utiilza el boton #
El problema ocurre al precionar el command3 el error sucede al llegar al sub Me.Detalle y por alguna razon el XX1 = RS1.Fields("ID_PEDIDO") ya no contiene nada por eso te da el error.
Código:
Private Sub Command3_Click()
'ELIMINA PEDIDO
ID2 = RS1.Fields("ID_PEDIDO")
If RS2.RecordCount > 0 Then
RS2.MoveFirst
Do
XX1 = Trim(RS2.Fields("COD_ARTICULO"))
CNT1 = Trim(CStr(RS2.Fields("cantidad")))
TX1 = "UPDATE ARTICULOS SET STOCK=STOCK+" + CNT1 + " WHERE CODIGO='" + XX1 + " '"
nc.Execute (TX1)
nc.Execute ("DELETE FROM DETALLE_PEDIDO WHERE ID_PEDIDO='" + ID2 + "' AND COD_ARTICULO='" + XX1 + " '")
RS2.MoveNext
Loop While Not RS2.EOF
End If
nc.Execute ("DELETE FROM PEDIDO WHere id_pedido='" + ID2 + "'")
Me.Command1_Click
Me.Detalle
End Sub
Todavia no capto bien lo que pasa aunque prueba asi para verificar que el valor de XX1 todavia contiene algo.
Código:
Private Sub Command3_Click()
'ELIMINA PEDIDO
ID2 = RS1.Fields("ID_PEDIDO")
If RS2.RecordCount > 0 Then
RS2.MoveFirst
Do
XX1 = Trim(RS2.Fields("COD_ARTICULO"))
CNT1 = Trim(CStr(RS2.Fields("cantidad")))
TX1 = "UPDATE ARTICULOS SET STOCK=STOCK+" + CNT1 + " WHERE CODIGO='" + XX1 + " '"
nc.Execute (TX1)
nc.Execute ("DELETE FROM DETALLE_PEDIDO WHERE ID_PEDIDO='" + ID2 + "' AND COD_ARTICULO='" + XX1 + " '")
RS2.MoveNext
Loop While Not RS2.EOF
End If
nc.Execute ("DELETE FROM PEDIDO WHere id_pedido='" + ID2 + "'")
Me.Command1_Click
Text1= RS1.Fields("ID_PEDIDO") 'Este valor se pierde por alguna razon me parece que ocurre por que un par de lineas arriba utilizas DELETE y ahi se borra
End Sub