|
Escrito por
Beatriz
el 19/06/2007
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. |
||
|
Citar |
Ver mensaje
|
|
Escrito por
Martinsc
el 04/01/2008
Dim cmdBuilder As New OleDb. OleDbCommandBuilder(da) Posiblemente lo tengas en esta linea. Prueba con Dim cmdBuilder As OleDb. OleDbCommandBuilder = New OleDb. OleDbCommandBuilder(da) |
|
Al escribir en el debate:
|