diferencia entre 2 datagrids

12/05/2005 - 10:40 por Sonia | Informe spam
hola, tengo un form q tiene q rellenar un mismo datagrid con 2 botones
diferentes,
en uno rellena todo el datagrid con todos los datos q hay en la tabla y el
2º solo los de una fecha introducida en un textbox(una columna de la tabla)

el problema es en q el codigo es igual , solo cambiando lo de la fecha, y el
1º va perfecto y el 2º no hya manera.
podeis echar un vistazo a ver si veis algo q este mal??

el error q me da en el 2º es:

'ESTE VA BIEN
Private Sub Butver_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Butver.Click

Dim nuevo As cargadatagrid

mysql = "select * from Datos"

nuevo.Carga2(mysql, "Datos", DataGridtodo)

DataGridtodo.ReadOnly = True

End Sub



'ESTA DA ERROR

Private Sub Butvista_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Butvista.Click

Dim nuevo As cargadatagrid

If TextBox1.Text <> "" Then

mysql = "select * from Datos where FECHA='" & TextBox1.Text & "';"

nuevo.Carga2(mysql, "Datos", DataGridtodo)

DataGridtodo.ReadOnly = True

End If

End Sub



' EL ERROR Q DA ES ESTE:

'system.data.oledb.oledbexception: el motor de la bd microsoft jet no puede
encontrar la tabla o consulta de entrada 'datos'. Asegurese de q existe y q
su nombre esta escrito correctamente'

Preguntas similare

Leer las respuestas

#1 Steven Lewis
12/05/2005 - 12:44 | Informe spam
Trata quitando el ';' al final de la sentencia SQL cuando usas la fecha.

Salu2

Steven Lewis

"Sonia" escribió en el mensaje
news:
hola, tengo un form q tiene q rellenar un mismo datagrid con 2 botones
diferentes,
en uno rellena todo el datagrid con todos los datos q hay en la tabla y el
2º solo los de una fecha introducida en un textbox(una columna de la
tabla)

el problema es en q el codigo es igual , solo cambiando lo de la fecha, y
el
1º va perfecto y el 2º no hya manera.
podeis echar un vistazo a ver si veis algo q este mal??

el error q me da en el 2º es:

'ESTE VA BIEN
Private Sub Butver_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Butver.Click

Dim nuevo As cargadatagrid

mysql = "select * from Datos"

nuevo.Carga2(mysql, "Datos", DataGridtodo)

DataGridtodo.ReadOnly = True

End Sub



'ESTA DA ERROR

Private Sub Butvista_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Butvista.Click

Dim nuevo As cargadatagrid

If TextBox1.Text <> "" Then

mysql = "select * from Datos where FECHA='" & TextBox1.Text & "';"

nuevo.Carga2(mysql, "Datos", DataGridtodo)

DataGridtodo.ReadOnly = True

End If

End Sub



' EL ERROR Q DA ES ESTE:

'system.data.oledb.oledbexception: el motor de la bd microsoft jet no
puede
encontrar la tabla o consulta de entrada 'datos'. Asegurese de q existe y
q
su nombre esta escrito correctamente'


Respuesta Responder a este mensaje
#2 Tristan
12/05/2005 - 13:16 | Informe spam
Yo te recomiendo que el segundo datagrid lo cargues con una vista (DataView)
del primer DataSet. Es decir algo así:

Dim tabla As New DataTable()
tabla.Columns.Add("Nombre")
tabla.Columns.Add("Direccion")
tabla.Rows.Add(New Object() {"Juan Carlos", "Mayor"})
tabla.Rows.Add(New Object() {"Pedro", "Arenal"})
tabla.Rows.Add(New Object() {"Jesus", "Arenal"})

Dim vista As New DataView(tabla)
vista.RowFilter = "Direccion = 'Arenal'"
DataGrid1.DataSource = tabla
DataGrid2.DataSource = vista

Observa que utilizo DataTable sin acceder a la base de datos, para que el
ejemplo sea completo y no dependa de nada exterior, pero el sistema sería
idéntico utilizando DataSet o DataTable con acceso a la BD.

Juan Carlos Badiola Saiz
MVP - C#
Respuesta Responder a este mensaje
#3 Sonia
13/05/2005 - 09:15 | Informe spam
gracias x la recomendacio, lo usare para otras cosas.
en este caso el error estaba en el campo fecha, q lo tenia con comillas y lo
he cambiado por esto para q funcione:

mysql = "select * from Datos where FECHA=#" & CDate(TextBox1.Text) & "#;"




"Tristan" escribió en el mensaje
news:
Yo te recomiendo que el segundo datagrid lo cargues con una vista


(DataView)
del primer DataSet. Es decir algo así:

Dim tabla As New DataTable()
tabla.Columns.Add("Nombre")
tabla.Columns.Add("Direccion")
tabla.Rows.Add(New Object() {"Juan Carlos", "Mayor"})
tabla.Rows.Add(New Object() {"Pedro", "Arenal"})
tabla.Rows.Add(New Object() {"Jesus", "Arenal"})

Dim vista As New DataView(tabla)
vista.RowFilter = "Direccion = 'Arenal'"
DataGrid1.DataSource = tabla
DataGrid2.DataSource = vista

Observa que utilizo DataTable sin acceder a la base de datos, para que el
ejemplo sea completo y no dependa de nada exterior, pero el sistema sería
idéntico utilizando DataSet o DataTable con acceso a la BD.

Juan Carlos Badiola Saiz
MVP - C#
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida