Validar al grabar cebeceza y detalle
Mi nombre es marco guttierrez y quisiera que me ayuden
al ingresar los datos de la cabecera y el detalle de un documento
quiero validarlo me explico por ejemplo si intento grabar un documento
(Cabecera y detalle) ... Y tengo un error en el detalle
va a grabar la cabecera pero el detalle (y viceversa) no ... Hay alguna
manera de si manda un error en la cabecera o en el detalle no grabe
nada. Muchas gracias
----------------------------------------------------------------------------------------------------------------------
Try
Dim cmd As New OleDb.OleDbCommand
cmd.Connection = Con
Dim sql As String
sql
= "insert into NOTADECREDITO values ('" & TXTidnotadecredito.Text
& "' , '" & DateTimePicker1.Value.Date & "' , '" &
TXTidfactura.Text & "' , '" & TXTtotalsubtotalDEV.Text & "',
'" & TXTtotaligvDEV.Text & "', '" & TXTtotalDEV.Text &
"','" & TXTtotalgalonajeDEV.Text & "','" &
TXTnumeronc.Text.Trim & "')"
cmd.CommandType = CommandType.Text
cmd.CommandText = sql
Con.Open()
cmd.ExecuteNonQuery()
Con.Close()
Catch ex As Exception
MsgBox("ERROR AL TRATAR DE GRABAR CABECERA")
MsgBox(ex.Message) : Con.Close()
End Try
-----------------
Try
For i = 0 To DGVNC.Rows.Count - 1
Dim cmd2 As New OleDb.OleDbCommand
cmd2.Connection = Con
Dim sql2 As String
sql2
= "insert into DETNOTACREDITO values ( '" & TXTidnotadecredito.Text
& "' , '" & DGVNC.Rows(i).Cells(0).Value & "' ,'" &
DGVNC.Rows(i).Cells(3).Value & "' ,'" &
DGVNC.Rows(i).Cells(4).Value & "' ,'" &
DGVNC.Rows(i).Cells(5).Value & "' ,'" &
DGVNC.Rows(i).Cells(6).Value & "' ,'" &
DGVNC.Rows(i).Cells(7).Value & "' )"
cmd2.CommandType = CommandType.Text
cmd2.CommandText = sql2
Con.Open()
cmd2.ExecuteNonQuery()
Con.Close()
Next
Catch ex As Exception
MsgBox("ERROR AL TRATAR DE GRABAR DETALLE")
MsgBox(ex.Message) : Con.Close()
End Try
---------
'aquí actualizo los campos de la tabla factura que también afecta si hay error en la nota de crédito
Try
Dim est As String = String.Empty
If TXTestado.Text = "CANCELADO" Then est = "C"
If TXTestado.Text = "PENDIENTE" Then est = "P"
Dim cmd3 As New OleDb.OleDbCommand
cmd3.Connection = Con
Dim sql3 As String
sql3
= "Update FACTURAS Set nc = '" & TXTnc.Text.Trim & "'
,pendiente= '" & TXTpendiente.Text & "',estado = '" & est
& "' WHERE idfactura = '" & TXTidfactura.Text & "'"
cmd3.CommandType = CommandType.Text
cmd3.CommandText = sql3
Con.Open()
cmd3.ExecuteNonQuery()
Con.Close()
Catch ex As Exception
MsgBox("ERROR AL aCTUALIZAR FACTURA")
MsgBox(ex.Message) : Con.Close()
End Try
MsgBox("Se Grabo Correctamente", 64, "CONFIRMACIÓN")
TXTnumero.Clear()
TXTnumeronc.Clear()
TXTnumeronc.Focus()
Call limpiar()
End If
----------------------------------------------------------------------------------------------------------------------