Validar datos al Grabar cabecera y detalle de un documento (nota de crédito,factura,etc) en vb 2008

buenas noches 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

----------------------------------------------------------------------------------------------------------------------

Añade tu respuesta

Haz clic para o