Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: katsumoto en 15 de Marzo 2016, 15:55

Título: Problema con filtrado en datagridview Visual Basic
Publicado por: katsumoto en 15 de Marzo 2016, 15:55
Hola de nuevo creo que empiezo con verdaderos problemas, quiero realizar una busqueda filtrada en un historico de bajas que tiene los campos baja_dni que esta relaccionado con el c_dni de otra base de datos, la cuestion es que quiero que me cargue los campos coincidentes entre las dos bases de datos siempre que los dni sean iguales pero segun los datos que meta en varios textbox, no se si me explico bien, bueno os pongo el codigo que llevo echo, muestra bien los datos coincidentes pero al introducir datos en el textbox para de mi sigue mostrando o todo o nada

Código: [Seleccionar]
Private Sub consul_dni_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles consul_dni.TextChanged
        Dim sql As String = "SELECT c_dni,c_apellidos,c_nombre,c_ultimo_grado, fecha_baja FROM miembros_club, historico_bajas WHERE baja_dni=c_dni AND c_activa_baja = true like  '%" + consul_dni.Text.Trim + "%'"
        ' Creamos un adaptador de datos
        Dim da As OleDbDataAdapter = New OleDbDataAdapter(sql, conex)
        ' Creamos un objeto DataTable
        Dim dt As DataTable = New DataTable("miembros_club,historico_bajas")
        ' Rellenamos el objeto DataTable
        da.Fill(dt)
        ' Y por último, mostramos los datos en el control DataGridView
        Me.dgvsocios.DataSource = dt
    End Sub

Gracias de antemano
Título: Re:Problema con filtrado en datagridview
Publicado por: Mario R. Rancel en 17 de Marzo 2016, 14:55
Buenas tardes, en esta consulta se ve algo extraño (parece erróneo, te lo señalo en rojo):

Dim sql As String = "SELECT c_dni,c_apellidos,c_nombre,c_ultimo_grado, fecha_baja FROM miembros_club, historico_bajas WHERE baja_dni=c_dni AND c_activa_baja = true like  '%" + consul_dni.Text.Trim + "%'"

¿A qué campo de la base de datos le quieres aplicar ese like? Es como si faltara algo...

¿Has probado la consulta directamente en la base de datos a modo de prueba con datos de ejemplo y te funciona?


Saludos
Título: Re:Problema con filtrado en datagridview Visual Basic
Publicado por: katsumoto en 17 de Marzo 2016, 16:11
Cierto ya esta corregido gracias, ahora me surge el problema de contar registros,
Tengo una bd con registros duplicados por razon de baja y quisiera contar dichos registros
Ejem
Pepito 6 bajas de fecha a fecha
                     de fecha a fecha . Etc hasta 6
Juan 1 baja de fecha a fecha

......
....
Mas o menos mostrar eso en un textbox
Me puedes ayudar????
Título: Re:Problema con filtrado en datagridview Visual Basic
Publicado por: Mario R. Rancel en 20 de Marzo 2016, 11:44
Hola, tendrás que plantear una consulta. Cómo plantear esa consulta dependerá de cómo tengas organizados los datos (tablas y campos que intervienen)

Posiblemente te resute útil COUNT que permite contar el número de registros por ejemplo

SELECT COUNT(nombre) AS nombresEmpiezanPorM FROM clientes
WHERE nombre LIKE 'J%';

Sería para recuperar el número de nombres de clientes que empiezan por M desde una tabla de clientes

Saludos