Foros del Web » Programación para mayores de 30 ;) » .NET »

Error con visual Basic (Adapter.Fill)

Estas en el tema de Error con visual Basic (Adapter.Fill) en el foro de .NET en Foros del Web. Antes q todo tengan un cordial saludo de mi parte este me dirijo a la comunidad de foros del web por que tengo problemas con ...

  #1 (permalink)  
Antiguo 14/09/2010, 18:58
 
Fecha de Ingreso: septiembre-2010
Mensajes: 14
Antigüedad: 13 años, 7 meses
Puntos: 0
Exclamación Error con visual Basic (Adapter.Fill)

Antes q todo tengan un cordial saludo de mi parte este me dirijo a la comunidad de foros del web por que tengo problemas con una aplicacion q estoy desarrolando en Visual Basic 2008. bueno al grano hay una funcion q tiene en programa q es el de buscar alumnos en una base de datos de access y mostar la busqueda en un dataview pero el problema es q aja el programa se compila sin error pero cuando voy a insertar la busqueda en el texbox me manda a el codigo en visual y me arroja un error el cual es el siguiente "Object reference not set to an instance of an object." en español es "Referencia a objeto no establecida como instancia de un objeto" ese error sale exaptamente en esta linea de codigo
ds.Tables("ALUMNOS").Clear()... pero les colocare el codigo completo para q se les haga mas facil haber si pueden ayudarme se los agradeceria mucho..

Public Class Form3

Private Conexion As OleDb.OleDbConnection
Private Tabla As DataTable
Private Adaptador As OleDb.OleDbDataAdapter
Private Constructor As OleDb.OleDbCommandBuilder
Private Reader As OleDb.OleDbDataReader
Private dv As New DataView
Private ds As New DataSet

Dim cmd As New OleDbCommand

Private Sub ALUMNOSBindingNavigator_RefreshItems(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ALUMNOSBindingNavigator.RefreshItems
End Sub

Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
End Sub



Private Sub Txtcedula_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Txtcedula.TextChanged
Dim strAccess As String = "SELECT*FROM ALUMNOS WHERE Apellidos y Nombres" & "like" & "'" & Txtcedula.Text & "%" & "'"

Conexion = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Documents and Settings\Administrator\Desktop\ControlAcademicoFin al\ControlAcademicoFinal\Base de Datos de Alumnos.mdb;")
Conexion.Open()

If DataGridView1.Rows.Count > 0 Then

ds.Tables("ALUMNOS").Clear()
End If
Adaptador.Fill(ds, "Apellidos y Nombres")
DataGridView1.DataSource = ds.Tables("Apellidos y Nombres")

End Sub

Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'TODO: esta línea de código carga datos en la tabla 'Base_de_Datos_de_AlumnosDataSet.Horario' Puede moverla o quitarla según sea necesario.
Me.HorarioTableAdapter.Fill(Me.Base_de_Datos_de_Al umnosDataSet.Horario)
'TODO: esta línea de código carga datos en la tabla 'Base_de_Datos_de_AlumnosDataSet.Turno' Puede moverla o quitarla según sea necesario.
Me.TurnoTableAdapter.Fill(Me.Base_de_Datos_de_Alum nosDataSet.Turno)
'TODO: esta línea de código carga datos en la tabla 'Base_de_Datos_de_AlumnosDataSet.Dias' Puede moverla o quitarla según sea necesario.
Me.DiasTableAdapter.Fill(Me.Base_de_Datos_de_Alumn osDataSet.Dias)
'TODO: esta línea de código carga datos en la tabla 'Base_de_Datos_de_AlumnosDataSet.CURSOS' Puede moverla o quitarla según sea necesario.
Me.CURSOSTableAdapter.Fill(Me.Base_de_Datos_de_Alu mnosDataSet.CURSOS)
'TODO: esta línea de código carga datos en la tabla 'Base_de_Datos_de_AlumnosDataSet.ESTADO' Puede moverla o quitarla según sea necesario.
Me.ESTADOTableAdapter.Fill(Me.Base_de_Datos_de_Alu mnosDataSet.ESTADO)
'TODO: esta línea de código carga datos en la tabla 'Base_de_Datos_de_AlumnosDataSet.CIUDAD' Puede moverla o quitarla según sea necesario.
Me.CIUDADTableAdapter.Fill(Me.Base_de_Datos_de_Alu mnosDataSet.CIUDAD)
'TODO: esta línea de código carga datos en la tabla 'Base_de_Datos_de_AlumnosDataSet.ALUMNOS' Puede moverla o quitarla según sea necesario.
Me.ALUMNOSTableAdapter.Fill(Me.Base_de_Datos_de_Al umnosDataSet.ALUMNOS)



End Sub
End Class
  #2 (permalink)  
Antiguo 14/09/2010, 21:58
Avatar de gedarufi  
Fecha de Ingreso: diciembre-2008
Ubicación: Colombia
Mensajes: 540
Antigüedad: 15 años, 5 meses
Puntos: 22
Respuesta: Error con visual Basic (Adapter.Fill)

Si el error se te genera exactamente en ds.Tables("ALUMNOS").Clear() es porque no esta encontrando la tabla ALUMNOS, te recomiendo que pruebes con [B]ds.Clear()[B]

Saludos
  #3 (permalink)  
Antiguo 15/09/2010, 17:54
 
Fecha de Ingreso: septiembre-2010
Mensajes: 14
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Error con visual Basic (Adapter.Fill)

Gracias por tu respuesta amigo.. probe con el ds.clear() aja perfecto pero tuve q borrar la linea de codigo del Adaptador.Fill(ds, "Apellidos y Nombres") entonces compila y cuando voy hacer la busqueda insertada en el texbox el datawiev hace como q buscara en la base de datos pero no muestra nada no muestra ningun nombr ni nada..
  #4 (permalink)  
Antiguo 15/09/2010, 18:48
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Error con visual Basic (Adapter.Fill)

Tienes un error de sintaxis en la consulta en SQL.
Si separamos la consulta y la transcribimos de modo que sea sólo SQL tendremos:
Código SQL:
Ver original
  1. SELECT*
  2. FROM ALUMNOS
  3. WHERE Apellidos y Nombreslike'untexto%'
donde "untexto" sería el valor ingresado en el TextBox "Txtcedula".
Primero, si notas has puesto "Apellidos y Nombre" como si fuese el nombre de un campo, pero al estar separados es como si fuesen tres... y así no se escribe el SQL.
Segundo, la cláusula LIKE la has puesto de modo tal que no le has dejado espacio en el string y se pega a "Nombre" generando un pastiche incomprensible para el parser.
La sentencia debería estar escrita mas o menos así:

Si "Apellido y Nombres" es la denominación de una columna:
Código SQL:
Ver original
  1. SELECT *
  2. FROM ALUMNOS
  3. WHERE `Apellidos y Nombres` LIKE 'untexto%'
o bien, dependiendo del DBMS:
Código SQL:
Ver original
  1. SELECT *
  2. FROM ALUMNOS
  3. WHERE [Apellidos y Nombres] LIKE 'untexto%'

Si se trata de dos columnas separadas:
Código SQL:
Ver original
  1. SELECT *
  2. FROM ALUMNOS
  3. WHERE Apellidos  LIKE 'untexto%' OR Nombres LIKE 'untexto%'
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 15/09/2010, 21:39
 
Fecha de Ingreso: septiembre-2010
Mensajes: 14
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Error con visual Basic (Adapter.Fill)

gracias gnzsoloyo con la correcion quedo asi mi codigo pero igual cuando introduzco un valor en el textbox no me muestra resultados el datawiev... :s ¿? esto me tiene mal jeje es q debo entregar rapido ese programa..

Public Class Form3

Private Conexion As OleDb.OleDbConnection
Private Tabla As DataTable
Private Adaptador As OleDb.OleDbDataAdapter
Private Constructor As OleDb.OleDbCommandBuilder
Private Reader As OleDb.OleDbDataReader
Private dv As New DataView
Private ds As New DataSet

Dim cmd As New OleDbCommand

Private Sub ALUMNOSBindingNavigator_RefreshItems(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ALUMNOSBindingNavigator.RefreshItems
End Sub

Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
End Sub



Private Sub Txtcedula_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Txtcedula.TextChanged
Dim strAccess As String = "SELECT* FROM ALUMNOS WHERE `Apellidos y Nombres` LIKE 'untexto%'"

Conexion = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Documents and Settings\Administrator\My Documents\programas de visual\ControlAcademicoFinal\ControlAcademicoFinal \Base de Datos de Alumnos.mdb;")
Conexion.Open()



If DataGridView1.Rows.Count > 0 Then

ds.Clear()

End If
DataGridView1.DataSource = ds.Tables("Apellidos y Nombres")



End Sub

Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'TODO: esta línea de código carga datos en la tabla 'Base_de_Datos_de_AlumnosDataSet.Horario' Puede moverla o quitarla según sea necesario.
Me.HorarioTableAdapter.Fill(Me.Base_de_Datos_de_Al umnosDataSet.Horario)
'TODO: esta línea de código carga datos en la tabla 'Base_de_Datos_de_AlumnosDataSet.Turno' Puede moverla o quitarla según sea necesario.
Me.TurnoTableAdapter.Fill(Me.Base_de_Datos_de_Alum nosDataSet.Turno)
'TODO: esta línea de código carga datos en la tabla 'Base_de_Datos_de_AlumnosDataSet.Dias' Puede moverla o quitarla según sea necesario.
Me.DiasTableAdapter.Fill(Me.Base_de_Datos_de_Alumn osDataSet.Dias)
'TODO: esta línea de código carga datos en la tabla 'Base_de_Datos_de_AlumnosDataSet.CURSOS' Puede moverla o quitarla según sea necesario.
Me.CURSOSTableAdapter.Fill(Me.Base_de_Datos_de_Alu mnosDataSet.CURSOS)
'TODO: esta línea de código carga datos en la tabla 'Base_de_Datos_de_AlumnosDataSet.ESTADO' Puede moverla o quitarla según sea necesario.
Me.ESTADOTableAdapter.Fill(Me.Base_de_Datos_de_Alu mnosDataSet.ESTADO)
'TODO: esta línea de código carga datos en la tabla 'Base_de_Datos_de_AlumnosDataSet.CIUDAD' Puede moverla o quitarla según sea necesario.
Me.CIUDADTableAdapter.Fill(Me.Base_de_Datos_de_Alu mnosDataSet.CIUDAD)
'TODO: esta línea de código carga datos en la tabla 'Base_de_Datos_de_AlumnosDataSet.ALUMNOS' Puede moverla o quitarla según sea necesario.
Me.ALUMNOSTableAdapter.Fill(Me.Base_de_Datos_de_Al umnosDataSet.ALUMNOS)



End Sub

Private Sub DataGridView1_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick

End Sub
End Class
  #6 (permalink)  
Antiguo 15/09/2010, 21:42
Avatar de gedarufi  
Fecha de Ingreso: diciembre-2008
Ubicación: Colombia
Mensajes: 540
Antigüedad: 15 años, 5 meses
Puntos: 22
Respuesta: Error con visual Basic (Adapter.Fill)

Sigo viendo varias cosas extrañas en tus sentencias SQL, porque no nos pones la estructura de tus tablas y ya con eso nos queda mas fácil echarte una mano.

Saludos
  #7 (permalink)  
Antiguo 15/09/2010, 21:57
 
Fecha de Ingreso: septiembre-2010
Mensajes: 14
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Error con visual Basic (Adapter.Fill)

Mi Base de Datos esta extructurada de la siguiente manera:
en MAYUSCULA los nombres de las tablas y en minuscula los nombres de los campos de dichas tablas:

Base de Datos Alumnos:

ALUMNOS:
Cedula de Identidad
Apellidos y Nombres
Direccion
Ciudad
Estado
Fecha de Inscripcion
Curso
Fecha de Inicio
Costo del Curso
Dia
Turno
Horario

Bueno hasta alli pienso q esta bn para q se haga mas facil para q me ayuden por q solo quiero hacer la busqueda filtrada
con la tabla ALUMNOS y sus campos correspondientes...
  #8 (permalink)  
Antiguo 16/09/2010, 06:20
Avatar de gedarufi  
Fecha de Ingreso: diciembre-2008
Ubicación: Colombia
Mensajes: 540
Antigüedad: 15 años, 5 meses
Puntos: 22
Respuesta: Error con visual Basic (Adapter.Fill)

Deberia de funcionarte algo como esto

Código C#:
Ver original
  1. Public Class Form3
  2.  
  3. Private Conexion As OleDb.OleDbConnection
  4. Private Tabla As DataTable
  5. Private Adaptador As OleDb.OleDbDataAdapter
  6. Private Constructor As OleDb.OleDbCommandBuilder
  7. Private Reader As OleDb.OleDbDataReader
  8. Private dv As New DataView
  9. Private ds As New DataSet
  10.  
  11. Dim cmd As New OleDbCommand
  12.  
  13. Private Sub ALUMNOSBindingNavigator_RefreshItems(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ALUMNOSBindingNavigator.RefreshItems
  14. End Sub
  15.  
  16. Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
  17. End Sub
  18.  
  19.  
  20.  
  21. Private Sub Txtcedula_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Txtcedula.TextChanged
  22. Dim strAccess As String = "SELECT* FROM ALUMNOS WHERE `Apellidos y Nombres` LIKE 'untexto%'"
  23.  
  24. Conexion = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Documents and Settings\Administrator\My Documents\programas de visual\ControlAcademicoFinal\ControlAcademicoFinal \Base de Datos de Alumnos.mdb;")
  25. Conexion.Open()
  26.  
  27.  
  28.  
  29. If DataGridView1.Rows.Count > 0 Then
  30.  
  31. ds.Clear()
  32.  
  33. End If
  34.  
  35. //Aqui debes de llamar la función que se encarga de cargar los datos al DataTable
  36.  
  37. DataGridView1.DataSource = ds.Tables("ALUMNOS")
  38. End Sub
  39.  
  40. Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  41. 'TODO: esta línea de código carga datos en la tabla 'Base_de_Datos_de_AlumnosDataSet.Horario' Puede moverla o quitarla según sea necesario.
  42. Me.HorarioTableAdapter.Fill(Me.Base_de_Datos_de_Al umnosDataSet.Horario)
  43. 'TODO: esta línea de código carga datos en la tabla 'Base_de_Datos_de_AlumnosDataSet.Turno' Puede moverla o quitarla según sea necesario.
  44. Me.TurnoTableAdapter.Fill(Me.Base_de_Datos_de_Alum nosDataSet.Turno)
  45. 'TODO: esta línea de código carga datos en la tabla 'Base_de_Datos_de_AlumnosDataSet.Dias' Puede moverla o quitarla según sea necesario.
  46. Me.DiasTableAdapter.Fill(Me.Base_de_Datos_de_Alumn osDataSet.Dias)
  47. 'TODO: esta línea de código carga datos en la tabla 'Base_de_Datos_de_AlumnosDataSet.CURSOS' Puede moverla o quitarla según sea necesario.
  48. Me.CURSOSTableAdapter.Fill(Me.Base_de_Datos_de_Alu mnosDataSet.CURSOS)
  49. 'TODO: esta línea de código carga datos en la tabla 'Base_de_Datos_de_AlumnosDataSet.ESTADO' Puede moverla o quitarla según sea necesario.
  50. Me.ESTADOTableAdapter.Fill(Me.Base_de_Datos_de_Alu mnosDataSet.ESTADO)
  51. 'TODO: esta línea de código carga datos en la tabla 'Base_de_Datos_de_AlumnosDataSet.CIUDAD' Puede moverla o quitarla según sea necesario.
  52. Me.CIUDADTableAdapter.Fill(Me.Base_de_Datos_de_Alu mnosDataSet.CIUDAD)
  53. 'TODO: esta línea de código carga datos en la tabla 'Base_de_Datos_de_AlumnosDataSet.ALUMNOS' Puede moverla o quitarla según sea necesario.
  54. Me.ALUMNOSTableAdapter.Fill(Me.Base_de_Datos_de_Al umnosDataSet.ALUMNOS)

Saludos
  #9 (permalink)  
Antiguo 16/09/2010, 10:51
 
Fecha de Ingreso: marzo-2007
Mensajes: 74
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: Error con visual Basic (Adapter.Fill)

Cuando alguien poste este sistema agrega espacios o quita espacios.
Si no te pone nada de informacion es por que el error es en el select.

Dim strAccess As String = "SELECT * FROM ALUMNOS WHERE [Apellidos y Nombres] like '" & Txtcedula.Text & "'%"


Consideraciones
1 Pon corchetes [] y darle un copy paste al campo para que te ponga exactamente los espacios.

2. antes y depues del txtcedula.text debe de haber comita '
3. espacios
despues del select
depues del *
Despues del form
delpues de ALUMNOS
Despues de WHERE
DEPUES DE LIKE

Suerte
Saludos.
  #10 (permalink)  
Antiguo 16/09/2010, 10:52
 
Fecha de Ingreso: marzo-2007
Mensajes: 74
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: Error con visual Basic (Adapter.Fill)

Perdon From en lugar de Form
  #11 (permalink)  
Antiguo 16/09/2010, 13:04
 
Fecha de Ingreso: septiembre-2010
Mensajes: 14
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Error con visual Basic (Adapter.Fill)

DISCULPEN LA MOLESTIA AMIGOS Y GRACIAS POR SU AUDA DE VERDAD PERO AJA HICE TODAS LAS MODIFICACIONES Q ME DIJERON Y EL CODIGO QUEDO ASI

Imports System.Data
Imports System.Data.OleDb
Public Class Form3
Private Conexion As OleDb.OleDbConnection
Private Tabla As DataTable
Private Adaptador As OleDb.OleDbDataAdapter
Private Constructor As OleDb.OleDbCommandBuilder
Private Reader As OleDb.OleDbDataReader
Private dv As New DataView
Private ds As New DataSet
Dim cmd As New OleDbCommand
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)


End Sub

Private Sub Txtcedula_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Txtcedula.TextChanged
Dim strAccess As String = "SELECT * FROM ALUMNOS WHERE [Apellidos y Nombres] like '" & Txtcedula.Text & "'%"
Conexion = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Documents and Settings\Administrator\Desktop\ControlAcademicoFin al\ControlAcademicoFinal\Base de Datos de Alumnos.mdb;")
Conexion.Open()
If DataGridView1.Rows.Count > 0 Then
ds.Clear()
End If
'Aqui debes de llamar la función que se encarga de cargar los datos al DataTable'
DataGridView1.DataSource = ds.Tables("Apellidos y Nombres")
End Sub

Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

'TODO: esta línea de código carga datos en la tabla 'Base_de_Datos_de_AlumnosDataSet.Horario' Puede moverla o quitarla según sea necesario.
Me.HorarioTableAdapter.Fill(Me.Base_de_Datos_de_Al umnosDataSet.Horario)
'TODO: esta línea de código carga datos en la tabla 'Base_de_Datos_de_AlumnosDataSet.Turno' Puede moverla o quitarla según sea necesario.
Me.TurnoTableAdapter.Fill(Me.Base_de_Datos_de_Alum nosDataSet.Turno)
'TODO: esta línea de código carga datos en la tabla 'Base_de_Datos_de_AlumnosDataSet.Dias' Puede moverla o quitarla según sea necesario.
Me.DiasTableAdapter.Fill(Me.Base_de_Datos_de_Alumn osDataSet.Dias)
'TODO: esta línea de código carga datos en la tabla 'Base_de_Datos_de_AlumnosDataSet.CURSOS' Puede moverla o quitarla según sea necesario.
Me.CURSOSTableAdapter.Fill(Me.Base_de_Datos_de_Alu mnosDataSet.CURSOS)
'TODO: esta línea de código carga datos en la tabla 'Base_de_Datos_de_AlumnosDataSet.ESTADO' Puede moverla o quitarla según sea necesario.
Me.ESTADOTableAdapter.Fill(Me.Base_de_Datos_de_Alu mnosDataSet.ESTADO)
'TODO: esta línea de código carga datos en la tabla 'Base_de_Datos_de_AlumnosDataSet.CIUDAD' Puede moverla o quitarla según sea necesario.
Me.CIUDADTableAdapter.Fill(Me.Base_de_Datos_de_Alu mnosDataSet.CIUDAD)
'TODO: esta línea de código carga datos en la tabla 'Base_de_Datos_de_AlumnosDataSet.ALUMNOS' Puede moverla o quitarla según sea necesario.
Me.ALUMNOSTableAdapter.Fill(Me.Base_de_Datos_de_Al umnosDataSet.ALUMNOS)
End Sub

Private Sub CMDcerrar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CMDcerrar.Click
Me.Close()
End Sub

Private Sub DataGridView1_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick

End Sub
End Class


OK ASI NOI MUESTRA ERROR NI EM COMPLILACION NI EN EJECUCION PERO SI PASA LO SIGUIENTE Q CUANDO ESCRIBO ALGO DENTRO DEL TEXTBOX PARA Q LO MUESTRE EN DATAWIEV HACE COMO SI FUERA A BUSCAR PERO NO ME MUESTRA DATOS ME MUESTRA LOS CAMPOS DE LA TABLA PERO VACIOS
  #12 (permalink)  
Antiguo 16/09/2010, 13:09
 
Fecha de Ingreso: marzo-2007
Mensajes: 74
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: Error con visual Basic (Adapter.Fill)

Unicamente pon el nombre de tu tabla no del campo

cambia
DataGridView1.DataSource = ds.Tables("Apellidos y Nombres")

a esto
DataGridView1.DataSource = ds.Tables("Alumnos")
  #13 (permalink)  
Antiguo 16/09/2010, 13:21
 
Fecha de Ingreso: septiembre-2010
Mensajes: 14
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Error con visual Basic (Adapter.Fill)

igual amigo winexim nombre de tabla cambiado y igaul no hace nada aqui hay fots para q vean el error mas claramante:

http://rapidshare.com/files/419451553/My_Pictures.rar

alli estan las imagnes del programa para q vena de q les hablo mas claramente
  #14 (permalink)  
Antiguo 16/09/2010, 13:55
Avatar de gedarufi  
Fecha de Ingreso: diciembre-2008
Ubicación: Colombia
Mensajes: 540
Antigüedad: 15 años, 5 meses
Puntos: 22
Respuesta: Error con visual Basic (Adapter.Fill)

Primero debes de cargar la información en tu tabla mediante un fill que no veo por ningun lado, segundo hasle caso a winexim

Cita:
Iniciado por winexim Ver Mensaje
Unicamente pon el nombre de tu tabla no del campo

cambia
DataGridView1.DataSource = ds.Tables("Apellidos y Nombres")

a esto
DataGridView1.DataSource = ds.Tables("Alumnos")
Saludos
  #15 (permalink)  
Antiguo 16/09/2010, 14:03
 
Fecha de Ingreso: septiembre-2010
Mensajes: 14
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Error con visual Basic (Adapter.Fill)

Si amigo gedarufi eso de cambio de Alumnos q me dijo winexim ya lo hice mm y so q dices de un fill en mi tabla no te comprendo muy bn me podiras decir a q te refieres... te lo agradesco
  #16 (permalink)  
Antiguo 16/09/2010, 14:12
Avatar de gedarufi  
Fecha de Ingreso: diciembre-2008
Ubicación: Colombia
Mensajes: 540
Antigüedad: 15 años, 5 meses
Puntos: 22
Respuesta: Error con visual Basic (Adapter.Fill)

Me refiero en algún lugar debes de ejecutar tu sentencia para que esta se encarga de ir a la base de datos y traer cargar esta información en tu DataSet, te recomiendo que le des una mirada a estos articulos

http://www.elguille.info/NET/ADONET/...ipo_access.htm
http://support.microsoft.com/kb/314145/es

Saludos
  #17 (permalink)  
Antiguo 16/09/2010, 15:10
 
Fecha de Ingreso: marzo-2007
Mensajes: 74
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: Error con visual Basic (Adapter.Fill)

Ahora pon arriba de esta instruccion


DataGridView1.DataSource = ds.Tables("Alumnos")


esta

Adaptador.Fill(ds, "Alummnos")

quedaria asi:

Adaptador.Fill(ds, "Alummnos")
DataGridView1.DataSource = ds.Tables("Alummnos")


Saludos
  #18 (permalink)  
Antiguo 16/09/2010, 15:11
 
Fecha de Ingreso: marzo-2007
Mensajes: 74
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: Error con visual Basic (Adapter.Fill)

perdon

Es Alumnos no Alummnos
  #19 (permalink)  
Antiguo 16/09/2010, 15:21
 
Fecha de Ingreso: marzo-2007
Mensajes: 74
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: Error con visual Basic (Adapter.Fill)

Asi lo yo abro un archivo access y me funciona muy bien

Private Sub Lee_Carta()
Dim MyConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Loteria\Tablas.mdb"
Dim ds As New DataSet()
Dim da As New OleDbDataAdapter("SELECT top 2000 * FROM Carta", MyConnectionString)
Try
da.Fill(ds, "dt")
Catch ex As Exception
MessageBox.Show("Operation failed: " & ex.ToString(), Application.ProductName & " - Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
Return
End Try
DGVTabla.ColumnHeadersDefaultCellStyle.Font = New Font("Tahoma", 9, FontStyle.Bold, GraphicsUnit.Point)
DGVTabla.ColumnHeadersDefaultCellStyle.BackColor = SystemColors.ControlDark
DGVTabla.ColumnHeadersBorderStyle = DataGridViewHeaderBorderStyle.Single
DGVTabla.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
DGVTabla.DefaultCellStyle.Font = New Font("Tahoma", 8, FontStyle.Regular, GraphicsUnit.Point)
DGVTabla.DefaultCellStyle.BackColor = Color.Empty
DGVTabla.AlternatingRowsDefaultCellStyle.BackColor = SystemColors.ControlLight
DGVTabla.CellBorderStyle = DataGridViewCellBorderStyle.Single
DGVTabla.GridColor = SystemColors.ControlDarkDark
DGVTabla.DataSource = ds
DGVTabla.DataMember = "dt"
DGVTabla.Columns(DGVTabla.Columns.Count - 1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
DGVTabla.AutoResizeColumns(DataGridViewAutoSizeCol umnsMode.AllCells)
DGVTabla.AllowUserToAddRows = False
DGVTabla.AllowUserToDeleteRows = False
DGVTabla.ReadOnly = True

End Sub
  #20 (permalink)  
Antiguo 16/09/2010, 15:22
Avatar de gedarufi  
Fecha de Ingreso: diciembre-2008
Ubicación: Colombia
Mensajes: 540
Antigüedad: 15 años, 5 meses
Puntos: 22
Respuesta: Error con visual Basic (Adapter.Fill)

Pon el código del DataAdapter y del Fill y listo
  #21 (permalink)  
Antiguo 16/09/2010, 15:55
 
Fecha de Ingreso: marzo-2007
Mensajes: 74
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: Error con visual Basic (Adapter.Fill)

Te modifique tu datagridview al mio que si esta funcionando y no tengo problema.

este
"SELECT * FROM ALUMNOS WHERE [Apellidos y Nombres] like '" & Txtcedula.Text & "'%"

copialo del tuyo por que al escribir en el foro te pone espacios y te quita espacios.

y este tambien:

"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Documents and Settings\Administrator\Desktop\ControlAcademicoFin al\ControlAcademicoFinal\Base de Datos de Alumnos.mdb;"

copialo del tuyo por los espacios que te agrega.





El codigo del procedimiento

Private Sub Txtcedula_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Txtcedula.TextChanged

quedaria asi


Dim strAccess As String
Dim Da As OleDbDataAdapter
Try
strAccess = "SELECT * FROM ALUMNOS WHERE [Apellidos y Nombres] like '" & Txtcedula.Text & "'%"
MyConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Documents and Settings\Administrator\Desktop\ControlAcademicoFin al\ControlAcademicoFinal\Base de Datos de Alumnos.mdb;"
Da = New OleDbDataAdapter(strAccess, MyConnectionString)
Da.Fill(ds, "Alumnos")
DataGridView1.DataSource = ds.Tables("Alumnos")

Catch ex As Exception
MessageBox.Show("Operation failed: " & ex.ToString(), Application.ProductName & " - Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
Return
End Try
DataGridView1.ColumnHeadersDefaultCellStyle.Font = New Font("Tahoma", 9, FontStyle.Bold, GraphicsUnit.Point)
DataGridView1.ColumnHeadersDefaultCellStyle.BackCo lor = SystemColors.ControlDark
DataGridView1.ColumnHeadersBorderStyle = DataGridViewHeaderBorderStyle.Single
DataGridView1.ColumnHeadersDefaultCellStyle.Alignm ent = DataGridViewContentAlignment.MiddleCenter
DataGridView1.DefaultCellStyle.Font = New Font("Tahoma", 8, FontStyle.Regular, GraphicsUnit.Point)
DataGridView1.DefaultCellStyle.BackColor = Color.Empty
DataGridView1.AlternatingRowsDefaultCellStyle.Back Color = SystemColors.ControlLight
DataGridView1.CellBorderStyle = DataGridViewCellBorderStyle.Single
DataGridView1.GridColor = SystemColors.ControlDarkDark
DataGridView1.DataSource = ds
DataGridView1.DataMember = "dt"
DataGridView1.Columns(DataGridView1.Columns.Count - 1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
DataGridView1.AutoResizeColumns(DataGridViewAutoSi zeColumnsMode.AllCells)
DataGridView1.AllowUserToAddRows = False
DataGridView1.AllowUserToDeleteRows = False
DataGridView1.ReadOnly = True
  #22 (permalink)  
Antiguo 16/09/2010, 15:58
 
Fecha de Ingreso: marzo-2007
Mensajes: 74
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: Error con visual Basic (Adapter.Fill)

Aqui me instero un espacio
DataGridView1.AutoResizeColumns(DataGridViewAutoSi zeColumnsMode.AllCells)

es
DataGridView1.AutoResizeColumns(DataGridViewAutoSi zeColumnsMode.AllCells)
  #23 (permalink)  
Antiguo 16/09/2010, 16:00
 
Fecha de Ingreso: marzo-2007
Mensajes: 74
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: Error con visual Basic (Adapter.Fill)

Aqui tambien me instero un espacio en blanco
DataGridView1.AlternatingRowsDefaultCellStyle.Back Color = SystemColors.ControlLight
  #24 (permalink)  
Antiguo 16/09/2010, 17:04
 
Fecha de Ingreso: septiembre-2010
Mensajes: 14
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Error con visual Basic (Adapter.Fill)

Private Sub Txtcedula_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Txtcedula.TextChanged
Dim strAccess As String
Dim Da As OleDbDataAdapter
Dim MyconnectionString As String
Try
strAccess = "SELECT * FROM ALUMNOS WHERE [Apellidos y Nombres] like '" & Txtcedula.Text & "'%"

MyconnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Documents and Settings\Administrador\Mis documentos\Descargas\ControlAcademicoFinal\Control AcademicoFinal\Base de Datos de Alumnos.mdb;"
Da = New OleDbDataAdapter(strAccess, MyConnectionString)
Da.Fill(ds, "Alumnos")
DataGridView1.DataSource = ds.Tables("Alumnos")

Catch ex As Exception
MessageBox.Show("Operation failed: " & ex.ToString(), Application.ProductName & " - Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
Return
End Try
DataGridView1.ColumnHeadersDefaultCellStyle.Font = New Font("Tahoma", 9, FontStyle.Bold, GraphicsUnit.Point)
DataGridView1.ColumnHeadersDefaultCellStyle.BackCo lor = SystemColors.ControlDark
DataGridView1.ColumnHeadersBorderStyle = DataGridViewHeaderBorderStyle.Single
DataGridView1.ColumnHeadersDefaultCellStyle.Alignm ent = DataGridViewContentAlignment.MiddleCenter
DataGridView1.DefaultCellStyle.Font = New Font("Tahoma", 8, FontStyle.Regular, GraphicsUnit.Point)
DataGridView1.DefaultCellStyle.BackColor = Color.Empty
DataGridView1.AlternatingRowsDefaultCellStyle.Back Color = SystemColors.ControlLight
DataGridView1.CellBorderStyle = DataGridViewCellBorderStyle.Single
DataGridView1.GridColor = SystemColors.ControlDarkDark
DataGridView1.DataSource = ds
DataGridView1.DataMember = "dv"
DataGridView1.Columns(DataGridView1.Columns.Count - 1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
DataGridView1.AutoResizeColumns(DataGridViewAutoSi zeColumnsMode.AllCells)
DataGridView1.AllowUserToAddRows = False
DataGridView1.AllowUserToDeleteRows = False
DataGridView1.ReadOnly = True

End Sub

Amigo ahora me muestra una cuadro de dialogo q me dice q tengo errores en la seleccion de busqueda..
  #25 (permalink)  
Antiguo 16/09/2010, 17:40
 
Fecha de Ingreso: marzo-2007
Mensajes: 74
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: Error con visual Basic (Adapter.Fill)

perdon favor de cambiare esta instruccion

"'%"
por
esta
"%'"

Es caracter de 2 comitas "
caracter de porciento %
caracter de una copmita '
caracter de 2 comitas "
  #26 (permalink)  
Antiguo 16/09/2010, 18:01
 
Fecha de Ingreso: septiembre-2010
Mensajes: 14
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Error con visual Basic (Adapter.Fill)

Amigo mil gracias de verdad ya hace la busqueda eres un pro te lo agradesco en el alma a ti y los demas q me ayudaron.. Solo q ahora me repite los campos q inserto en la busqueda..
  #27 (permalink)  
Antiguo 16/09/2010, 18:10
 
Fecha de Ingreso: marzo-2007
Mensajes: 74
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: Error con visual Basic (Adapter.Fill)

De nada gracias a ti por la paciencia.

Opcion A
Ocupas que al darle enter te realize la busqueda?


Opcion B
o que cada vez que escribes un caracter te ponga los datos que se parecen a la coincidencia?
Txtcedula_TextChanged se utiliza para que cada vez que escribas un caracter te lo busque.

Para saber por donde irnos.

Saludos,
  #28 (permalink)  
Antiguo 16/09/2010, 18:32
 
Fecha de Ingreso: septiembre-2010
Mensajes: 14
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Error con visual Basic (Adapter.Fill)

Amigo el detalle q esta pasando es el siguiente cuando yo inserto un caracter dentro del textbox el realiza la busqueda y muestra resultados de manera correcta pero cuando escribo en el textbox un nombre completo por ejemplo pedro me muestra un duplicado de todos los pedros q estan en la base de datos. Entonces amigo ¿se puede hacer una busqueda de un nombre completo sin q me lo duplique?
  #29 (permalink)  
Antiguo 16/09/2010, 18:44
 
Fecha de Ingreso: marzo-2007
Mensajes: 74
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: Error con visual Basic (Adapter.Fill)

Opcion #1

Crear un control boton y copiar todo el procedimeinto que esta dentro de


Private Sub Txtcedula_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Txtcedula.TextChanged


alli

y eliminar el textchanged
  #30 (permalink)  
Antiguo 16/09/2010, 18:48
 
Fecha de Ingreso: marzo-2007
Mensajes: 74
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: Error con visual Basic (Adapter.Fill)

Opcion 2
para que la busqueda sea exacta
se unsa instr en access esto no funciona para sql

strAccess = "SELECT * FROM ALUMNOS WHERE instr([Apellidos y Nombres] , ' " & Txtcedula.Text & "')>0"

Etiquetas: basic, visual
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:33.