• Viernes 8 de Noviembre de 2024, 20:43

Autor Tema:  Referecia A Objeto No Establecida Como Instancia  (Leído 1112 veces)

Bettyboop

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Referecia A Objeto No Establecida Como Instancia
« en: Miércoles 27 de Junio de 2007, 13:07 »
0
Buenas tardes a todos: Llevo una más de quince días atascada con el mismo problema.Por más consultas que hago hasta ahora no he conseguido resolverlo.Agradecería me echaran una mano, ya que acabo de empezar y me veo estancada sin poder continuar.Utilizo Visual Basic 2005. 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. En uno de ellos:

.......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("Clientes").Rows.Add(Fila)
da.Update(ds, "Clientes")
Me.statusAviso.Text = "Registro Añadido Correctamente"
Case Else

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
y en:
Fila = ds.Tables("Clientes").NewRow()
Muchas gracias por su atención. Un saludo. Si creen que visionando la aplicación pueden ayudarme, ruego me envien un correo a beatrizgdd@hotmail.com.