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

Llenar DataGrid con Sentencia SQL

Estas en el tema de Llenar DataGrid con Sentencia SQL en el foro de Visual Basic clásico en Foros del Web. Hola, tengo una duda en VB 6.0, tengo una base de datos en access y en un form tengo un datagrid al cual quiero filtrar ...
  #1 (permalink)  
Antiguo 20/02/2008, 17:33
 
Fecha de Ingreso: febrero-2008
Mensajes: 4
Antigüedad: 16 años, 2 meses
Puntos: 0
Llenar DataGrid con Sentencia SQL

Hola, tengo una duda en VB 6.0, tengo una base de datos en access y en un form tengo un datagrid al cual quiero filtrar los resultados de acuerdo a una consulta de SQL, inserte el siguiente codigo:

Conexion
Dim sBuscar As String
Dim tRs As Recordset
Dim Algo As String
Dim A As Integer
Conexion.CursorLocation = adUseClient
Algo = InputBox("Introduzca La Fecha")
sBuscar = "Select * from aspirante where fecha_entrevista = '" & Algo & "'"
Set tRs = Conexion.Execute(sBuscar)
With tRs
If (.BOF And .EOF) Then
A = MsgBox("No Existen Registros En Esa Fecha", vbOKOnly + vbInformation, "Registros")
Else
Me.datagrid.Refresh
Set Me.datagrid.DataSource = tRs
End If
End With

El codigo si realiza la consulta y si no encuentra ningun registro me envia el mensaje que no se encontraron registros, el problema es cuando encuentra registros no los representa en el datagrid... alguien me podria ayudar porfavor... me urge... de antemano muchas gracias
  #2 (permalink)  
Antiguo 20/02/2008, 19:23
 
Fecha de Ingreso: enero-2008
Ubicación: Lima - Perú
Mensajes: 1.127
Antigüedad: 16 años, 3 meses
Puntos: 10
Re: Llenar DataGrid con Sentencia SQL

Yo no trabajo haciendo consultas sql directamente pero el codigo que tengo es de esta manera cambia tu codigo y utliza RecordCount

With tRs
If .RecordCount > 0 Then .MoveFirst
.Find "NOM_ESP='" & DataCombo1 & "'"
If .EOF = False Then
COD = !COD_ESP
End If
end with

saludos
  #3 (permalink)  
Antiguo 21/02/2008, 01:44
 
Fecha de Ingreso: octubre-2003
Ubicación: Granada
Mensajes: 481
Antigüedad: 20 años, 7 meses
Puntos: 1
Re: Llenar DataGrid con Sentencia SQL

hola chenri pero el problema de que cuando tiene registros no te los muestra..tambien entra aqui ?
If (.BOF And .EOF) Then
A = MsgBox("No Existen Registros En Esa Fecha", vbOKOnly + vbInformation, "Registros")
Else
Como dice franko utiliza el recordcount para ver de verdad que te saca registros pq a lo mjor piensas que te esta sacando registros cuando no lo es asi ..
Bueno ahora nos dices lo que sea un saludo
__________________
la duda es el principio del saber
  #4 (permalink)  
Antiguo 21/02/2008, 15:21
 
Fecha de Ingreso: febrero-2008
Mensajes: 4
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Llenar DataGrid con Sentencia SQL

El problema es que si hace la consulta... es decir... si no encuentra registros de acuerdo a la fecha que doy en buscar me manda el mensaje que no encontro registros... el problema es cuando los encuentra no me los representa en el datagrid... me lo pone todo en blanco...
  #5 (permalink)  
Antiguo 21/02/2008, 18:48
 
Fecha de Ingreso: enero-2008
Ubicación: Lima - Perú
Mensajes: 1.127
Antigüedad: 16 años, 3 meses
Puntos: 10
Re: Llenar DataGrid con Sentencia SQL

Prueba de esta manera
If .recordcount > 0 Then 'Si encuentra algun registro
Me.datagrid.Refresh
Set Me.datagrid.DataSource = tRs
Else 'Si no encuentra nada es decir el resultado es < 0 envia el mensaje
A = MsgBox("No Existen Registros En Esa Fecha", vbOKOnly + vbInformation, "Registros")
End If
  #6 (permalink)  
Antiguo 22/02/2008, 15:41
 
Fecha de Ingreso: febrero-2008
Mensajes: 4
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Llenar DataGrid con Sentencia SQL

Gracias Franko... intente de la manera en que me propusiste cambiar el codigo... pero a la hora de introducir la fecha aunque la tenga agregada a mi base de datos, todas las fechas que introduzco me dicen que no existe el registro... es decir... siempre me dice que el .recordcount es menor a 0
  #7 (permalink)  
Antiguo 25/02/2008, 11:11
Avatar de Laforge  
Fecha de Ingreso: noviembre-2004
Ubicación: Galaxia 34, Cuadrante 972, Área 31
Mensajes: 174
Antigüedad: 19 años, 6 meses
Puntos: 2
Re: Llenar DataGrid con Sentencia SQL

Código:
Set tRs = Conexion.Execute(sBuscar) 
With tRs 
If (.BOF And .EOF) Then 
A = MsgBox("No Existen Registros En Esa Fecha", vbOKOnly + vbInformation, "Registros") 
Else 
Me.datagrid.Refresh 
Set Me.datagrid.DataSource = tRs 
End If 
End With
....no os estais liando?

un detallito de nada... si msgbox no devuelve nada relevante, pq asignas A a msgbox?

a lo que va el tema de verdad ..... no utilizo habitualmente DATAGRID pero si quieres que el datagrid te muestre los resultados de una 'source' de datos, debes hacer el REFRESH después de asignar el Datasource, no antes (digo yo!)

Saludos
__________________
Nunca esperes un mejor momento para abrir esa botella de vino...........nunca llega.

No hay vida después de MySQL
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 09:31.