Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Otra vez el DataGridView

Estas en el tema de Otra vez el DataGridView en el foro de Visual Basic clásico en Foros del Web. Saludos: Logres conectar mi vb 2005 con MySQL, luego logre hacer consultas a las tablas de la base de datos, ponerlas en un DataGridView, ahora ...
  #1 (permalink)  
Antiguo 16/05/2008, 09:48
 
Fecha de Ingreso: mayo-2003
Ubicación: Lima
Mensajes: 967
Antigüedad: 21 años
Puntos: 8
Otra vez el DataGridView

Saludos:

Logres conectar mi vb 2005 con MySQL, luego logre hacer consultas a las tablas de la base de datos, ponerlas en un DataGridView, ahora el problema es el siguiente:

Una vez que se muestran los valores en el DataGridView, quiero hacer que solo se muestren en el mismo DataGridView aquellos registros que pertenecen a una fecha seleccionada en un DateTimePicker, y nada de salir, pero cuando logré hacer que salga, los datos filtrados se agregan a los datos que ya muestra el DataGridView y si sigo seleccionando fechas se siguen agregando los resultados al final de todos los registros que ya contiene el DataGridView el código que tengo para esto es el siguente:

Código:
Dim StrSql1 As String

StrSql1 = "SELECT A.com_fecha, A.com_fechaven, A.com_proveedor, B.prv_name, A.com_bruto, A.com_igv, A.com_bruto + A.com_igv AS Total " & _
             "FROM compras A, proveedores B " & _
             "WHERE com_fecha >= '" & Format(dtpInicio.Value, "yyyy-mm-dd") & "' AND com_fecha <= '" & Format(dtpFinal.Value, "yyyy-mm-dd") & "' " & _
             "AND A.com_proveedor = B.prv_ruc"

dtgvCompras.DataSource = Nothing
da = New MySQLDataAdapter(StrSql1, cnMySQL)
da.Fill(ds)
dtgvCompras.DataSource = ds.Tables(0)
las variables da y ds ya están declaradas al principio.
__________________
El aprendiz.
  #2 (permalink)  
Antiguo 16/05/2008, 11:03
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Otra vez el DataGridView

Disculpe si me equivoco, es que hace rato que no uso el DataGrid, pero puedes intentar colocando antes de cargar los Datos:
Código:
 
DataGrid1.ClearFields
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 16/05/2008, 11:30
 
Fecha de Ingreso: mayo-2003
Ubicación: Lima
Mensajes: 967
Antigüedad: 21 años
Puntos: 8
Respuesta: Otra vez el DataGridView

Gracias por responder, pero creo que tu te refieres al DataGrid del VB6, yo me refiero al DataGridView del VB 2005
__________________
El aprendiz.
  #4 (permalink)  
Antiguo 16/05/2008, 11:55
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: Otra vez el DataGridView

Cita:
Iniciado por juandedios Ver Mensaje
las variables da y ds ya están declaradas al principio.
¿Al principio?
decláralas en el evento tal y como te puse en el ejemplo anterior.

  #5 (permalink)  
Antiguo 16/05/2008, 13:25
 
Fecha de Ingreso: mayo-2003
Ubicación: Lima
Mensajes: 967
Antigüedad: 21 años
Puntos: 8
Respuesta: Otra vez el DataGridView

Ok, avellaneda. En este momento la duda es que como se la cantidad de registros que devuelve una consulta?. Hasta aquí llegue:
Código:
Dim da As MySqlDataAdapter
Dim Str As String

Str = "SELECT * FROM usuariosreal WHERE us_name = '" & txtUsuario.Text & "' AND us_clave = PASSWORD('" & txtClave.Text & "') AND us_activacion = 1"
da = New MySqlDataAdapter(Str, Cls.cCon)

Dim ds As New DataSet
da.Fill(ds)
__________________
El aprendiz.
  #6 (permalink)  
Antiguo 21/05/2008, 09:05
 
Fecha de Ingreso: abril-2008
Mensajes: 20
Antigüedad: 16 años
Puntos: 1
Respuesta: Otra vez el DataGridView

Código:
datagridview.rows.clear
Pon eso justo antes de rellenar tu datagridview con la consulta
  #7 (permalink)  
Antiguo 21/05/2008, 10:06
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: Otra vez el DataGridView

Te falta cargar el DataGridView:

DataGridView1.DataSource = ds.Tables(0)

Y para saber la cantidad de registros que devuelve la consulta (después de la instrucción anterior):

MsgBox(DataGridView1.RowCount - 1)

Y.. una pregunta:
¿Porqué al cargar el DataAdapter antepones "cls." a la conexión?

  #8 (permalink)  
Antiguo 23/11/2008, 14:43
 
Fecha de Ingreso: noviembre-2008
Mensajes: 2
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Otra vez el DataGridView

muy buenas:
Tengo el siguiente problema, tengo la típica consulta que enlaza dos tablas, el ejemplo es que quiero sustituir el campo idCliente de la tabla principal por el Nombre de dicho cliente, sacado de la tabla secundaria.

La consulta funciona bien, y en la Vista de Datos del Origen de Datos, se ve bien. Pero no sé hacerlo con el dataGridView, no sé cómo indicarle que los campos que tiene que mostrar son los de la consulta y no los de la tabla principal
Gracias
  #9 (permalink)  
Antiguo 23/11/2008, 16:20
 
Fecha de Ingreso: noviembre-2008
Mensajes: 2
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Otra vez el DataGridView

buenas, ya lo he resuelto, realmente era sencillo, simplemente modificar la sentencia Select del Fill del TableAdapter en cuestión.

gracias
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:51.