elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  [VB6]Filtro por fechas en DataGrid
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [VB6]Filtro por fechas en DataGrid  (Leído 5,679 veces)
FranciskoAsdf

Desconectado Desconectado

Mensajes: 231


Ni bueno, ni malo. Solo nada.


Ver Perfil WWW
[VB6]Filtro por fechas en DataGrid
« en: 21 Noviembre 2014, 00:00 am »

Estimados, buenas tardes (dias, noches, etc)

Hoy vengo a solicitar su ayuda para hacer un filtro a un DataGrid que me esta quebrado la cabeza xD.

Uso el siguiente codigo para cargar los datos al DataGrid:

Código
  1. Sub Conexion()
  2.   Set cn = New ADODB.Connection
  3.   cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\DataAndStuff\cllbd.mdb;Persist Security Info=False"
  4.   Set rs = New ADODB.Recordset
  5.   rs.ActiveConnection = cn
  6.   rs.CursorLocation = adUseClient
  7.   rs.CursorType = adOpenDynamic
  8.   rs.LockType = adLockOptimistic
  9.   rs.Source = "Select * From BDOfertas"
  10.   rs.Open
  11.  
  12. End Sub
  13.  

Hasta ahí todo bien.
Ahora, lo que quiero hacer es (con dos TextBox y un CommandButton) un filtro por rango de fechas. PERO (¬¬) no me funciona y no me arroja ningún error ni nada D:.

Para hacer el filtro tengo el siguiente codigo:

Código
  1. Sub ConsultaFechas()
  2.  
  3.   SqlDos = "SELECT * FROM BDOFertas WHERE F_Desde > " & txtFechaUno.Text & " And F_Hasta < " & txtFechaDos.Text & ""
  4.   Set rs = New ADODB.Recordset
  5.   rs.CursorLocation = adUseClient
  6.   rs.Open SqlDos, cn, adOpenStatic, , adCmdText
  7.  
  8. End Sub
  9.  

Se supone que ahí debería filtrar solo ese rango de fechas, pero no me funciona, no se porque, y como dije antes, tampoco me da ningún error. Solo no filtra.

Si alguno de uds me pudiese ayudar con esto. En realidad nunca he sido bueno con las consultas xD.

Saludos y gracias de ante mano!.

PD: Probe con RS.Update al final del Sub, pero me da el error: "El recorset actual no permite actualizaciones asdf"


En línea

Asdf debería ser algún tipo de función.
Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.723


<3


Ver Perfil WWW
Re: [VB6]Filtro por fechas en DataGrid
« Respuesta #1 en: 21 Noviembre 2014, 20:36 pm »

Es mejor comprobar las querys que se construyen, es decir,

En ConsultasFechas(), realizas un printeo de la variable SqlDos con el fin de verificar los datos que se ingresan, de esta forma puedes coger la misma query y verificarla en el motor de bases de datos, que en este caso es Access y ver si la query arroja valores, para tú caso sería!

Código
  1. Sub ConsultaFechas()
  2.  
  3.  SqlDos = "SELECT * FROM BDOFertas WHERE F_Desde > " & txtFechaUno.Text & " And F_Hasta < " & txtFechaDos.Text & ""
  4.  MsgBox "Query: " & SqlDos
  5.  'Set rs = New ADODB.Recordset
  6.  'rs.CursorLocation = adUseClient
  7.  'rs.Open SqlDos, cn, adOpenStatic, , adCmdText
  8.  
  9. End Sub

Lo que te salga lo ejecutas en Access, pero de primera vista supongo que es por el dato de los text, intenta con esto
Código
  1. Sub ConsultaFechas()
  2.  
  3.  SqlDos = "SELECT * FROM BDOFertas WHERE F_Desde > '" & txtFechaUno.Text & "' And F_Hasta < '" & txtFechaDos.Text & "'"
  4.  Set rs = New ADODB.Recordset
  5.  rs.CursorLocation = adUseClient
  6.  rs.Open SqlDos, cn, adOpenStatic, , adCmdText
  7.  
  8. End Sub


En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
FranciskoAsdf

Desconectado Desconectado

Mensajes: 231


Ni bueno, ni malo. Solo nada.


Ver Perfil WWW
Re: [VB6]Filtro por fechas en DataGrid
« Respuesta #2 en: 23 Noviembre 2014, 21:27 pm »

Gracias por tu respuesta Shell, pero no eran las comillas. Me faltaba actualizar el RS ¬¬ xD.

Dejo la solucion por si alguien mas le sirve.-
Código
  1. Sub ConsultaFechas()
  2.  
  3.   SqlDos = "SELECT * FROM BDOFertas WHERE F_Desde >= # " & Trim$(txtFechaUno.Text) & " # AND F_Hasta <= # " & Trim$(txtFechaDos.Text) & " #"
  4.  
  5.   Set rs = New ADODB.Recordset
  6.   rs.CursorLocation = adUseClient
  7.   rs.Open SqlDos, cn, adOpenStatic, , adCmdText
  8.   Set DataGrid1.DataSource = rs
  9.   ModificaColumnas
  10. End Sub
  11.  

Saludos!!
En línea

Asdf debería ser algún tipo de función.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
DataGrid
Programación Visual Basic
DaSystem 4 2,267 Último mensaje 17 Junio 2005, 16:53 pm
por soplo
DataGrid
Programación Visual Basic
DaSystem 3 1,630 Último mensaje 2 Marzo 2006, 12:46 pm
por icisneros
DataGrid
Programación Visual Basic
AngelFire 2 2,296 Último mensaje 17 Agosto 2009, 15:33 pm
por AngelFire
Filtro SQL Injection y Filtro XSS
PHP
0x0309 6 6,538 Último mensaje 16 Octubre 2009, 08:22 am
por 0x0309
SQL--Where fechas (Condición de fechas) « 1 2 »
Bases de Datos
noobdai 16 37,360 Último mensaje 6 Marzo 2010, 17:38 pm
por noobdai
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines