Autor Tema: Problema con filtrado en datagridview Visual Basic  (Leído 3847 veces)

katsumoto

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 10
    • Ver Perfil
Problema con filtrado en datagridview Visual Basic
« 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
« Última modificación: 17 de Marzo 2016, 14:55 por Mario R. Rancel »

Mario R. Rancel

  • Administrador
  • Experto
  • ********
  • APR2.COM
  • Mensajes: 1978
    • Ver Perfil
Re:Problema con filtrado en datagridview
« Respuesta #1 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

katsumoto

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 10
    • Ver Perfil
Re:Problema con filtrado en datagridview Visual Basic
« Respuesta #2 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????

Mario R. Rancel

  • Administrador
  • Experto
  • ********
  • APR2.COM
  • Mensajes: 1978
    • Ver Perfil
Re:Problema con filtrado en datagridview Visual Basic
« Respuesta #3 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

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".