Buenas tardes a todos: Llevo una semana atascada con el mismo problema. Tanto al añadir, como al modificar registros, me da el Error Referencia a Objeto no establecida. He realizado varios formularios siguiendo diferentes formas de obtener el resultado, pero siempre me da el mismo error.
....... Form Load
Dim cn As New OleDb. OleDbConnection(Origen)
Dim da As New OleDb. OleDbDataAdapter("Select * from Clientes", cn)
Dim ds As New DataSet()
da. Fill(ds, "Clientes")
Dim cmdBuilder As New OleDb. OleDbCommandBuilder(da)
da. InsertCommand = cmdBuilder. GetInsertCommand
da. DeleteCommand = cmdBuilder. GetDeleteCommand
da. UpdateCommand = cmdBuilder. GetUpdateCommand
Me.txtIdCliente.DataBindings. Add("Text", ds, "Clientes. IDCLIENTE")
Me.txtNombre.DataBindings. Add("Text", ds, "Clientes. Nombre")
Me.txtDomicilio.DataBindings. Add("Text", ds, "Clientes. Direccion")
.......
"Guardar una referencia al objeto BindingManagerBase.
bmb = Me. BindingContext(ds, "Clientes")
"Forzar la actualización de los botones
bmb. Position = bmb. Count
bmb. Position = 0
..... Validar
Private Sub cmdValidar_Click(ByVal sender As System. Object, ByVal e As System. EventArgs) Handles cmdValidar. Click
Select Case estado
Case Actualizar. Añadir
If FilaActual <> -1 Then
Dim cb As New OleDb. OleDbCommandBuilder(da)
Dim Fila As DataRow
Fila = ds. Tables("Clientes"). NewRow()
Fila. Item("IDCLIENTE") = Me.txtIdCliente.Text
Fila. Item("NOMBRE") = Me.txtNombre.Text
Fila. Item("DIRECCION") = Me.txtDomicilio.Text
.........
ds.Tables.Add("Clientes"). Rows. Add(Fila)
da. Update(ds, "Clientes")
Me.statusAviso.Text = "Registro Añadido Correctamente"
Case Actualizar. Modificar
ds. Tables("Clientes"). Rows(FilaActual). Item("IDCLIENTE") = Me.txtIdCliente.Text
ds. Tables("Clientes"). Rows(FilaActual). Item("NOMBRE") = Me.txtNombre.Text
ds. Tables("Clientes"). Rows(FilaActual). Item("DIRECCION") = Me.txtDomicilio.Text
........
da. Update(ds, "Clientes")
... AÑADIR:
Dim control As Control
For Each control In Controls
If TypeOf control Is TextBox Or TypeOf control Is MaskedTextBox Then
control. Text = ""
End If
Next
Estado = Actualizar. Añadir
El error cuando le doy a actualizar, modificar los cambios, por añadir o por modificar el registro me da en:
ds. Tables("Clientes"). Rows(FilaActual). Item("IDCLIENTE") = Me.txtIdCliente.Text
Acabo de volver a probar, y al añadir y validar me da el error en:
Fila = ds. Tables("Clientes"). NewRow()
Muchas gracias por su atención. Un saludo.
Únete al grupo para participar en el debate
Únete al grupo para participar en el debate