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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  ADODB y ACCESS [Filtrar] [SOLUCIONADO]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ADODB y ACCESS [Filtrar] [SOLUCIONADO]  (Leído 2,131 veces)
e500

Desconectado Desconectado

Mensajes: 83


Ver Perfil
ADODB y ACCESS [Filtrar] [SOLUCIONADO]
« en: 31 Julio 2010, 05:21 am »

Hola amigos, tengo una duda sobre como filtrar mi debe por medio de un rango de fechas, ejemplo:

Código
  1.  
  2. fi = Format(fi, "dd/mm/yyyy")
  3. ft = Format(ft, "dd/mm/yyyy")
  4. Busca = "Select * from Ventas where FEntrega between #" & fi & "# and #" & ft & "#"
  5.  

Hasta ahi he llegado pero no logro realizar la consulta a la DB, espero q me puedan ayudar.

Saludos


« Última modificación: 31 Julio 2010, 08:34 am por e500 » En línea

seba123neo
Moderador
***
Desconectado Desconectado

Mensajes: 3.621


"No quiero creer, quiero saber" - Carl Sagan


Ver Perfil WWW
Re: ADODB [Filtrar]
« Respuesta #1 en: 31 Julio 2010, 07:16 am »

crea un recordset y pasale la conexion a la base de datos para que te haga la consulta...¿tenes algo hecho del programa o recien empezas?


En línea

La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson
e500

Desconectado Desconectado

Mensajes: 83


Ver Perfil
Re: ADODB [Filtrar]
« Respuesta #2 en: 31 Julio 2010, 07:44 am »

Hola seba, si tengo todo echo el programa, y es un monton. estuve con xkiz
 y BlackZerox luchando pero no tuve resultados.

Llegamos hasta aqui:

Código
  1. Public Sub rangoF(fecinicio As String, fectermino As String)
  2. Dim fi, ft As Date
  3.  
  4. fi = Format(fecinicio, "dd/mm/yyyy")        ': MsgBox fi
  5. ft = Format(fectermino, "dd/mm/yyyy")       ': MsgBox ft
  6.  
  7. SQL = "SELECT * FROM Ventas WHERE FEntrega=" & fi & " And FEntrega =" & ft
  8. rsFiltro.Open SQL, cnn, adOpenDynamic, adLockOptimistic
  9.  
  10. End Sub
  11.  

Pero el RecorderSet rsFiltro prece vacio. porque al cargarlo en mi ListView no devuelve valores.

Este Modulo estoy usando para cargar datos y conectarme a la DB

Código
  1. Option Explicit
  2.  
  3. Public Declare Sub InitCommonControls Lib "comctl32" ()
  4.  
  5. ' variables para la conexión y el recordset
  6. ''''''''''''''''''''''''''''''''''''''''''''
  7. Public cnn          As New ADODB.Connection
  8. Public rsVentas     As New ADODB.Recordset
  9. Public rsFiltro     As New ADODB.Recordset      'variable que almacena las fechas filtradas
  10.  
  11. Public ObjItem As ListItem
  12.  
  13. ' Conecta con la DB
  14. Public Sub IniciarConexion()
  15.  
  16.       With cnn
  17.           .CursorLocation = adUseClient
  18.           .Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
  19.                            App.Path & "\LBDATA.mdb" & ";Persist Security Info=False;Jet OLEDB:Database Password=" & "pass123"
  20.       End With
  21.  
  22. End Sub
  23.  
  24. ' Carga las tablas
  25. Public Sub IniciarTablas()
  26.  
  27.      Set rsVentas = New ADODB.Recordset
  28.      rsVentas.CursorLocation = adUseClient
  29.      rsVentas.Open "select * from Ventas", cnn, adOpenStatic, adLockOptimistic
  30.  
  31.      Set rsFiltro = New ADODB.Recordset
  32.      'rsFiltro.CursorLocation = adUseClient
  33.      'rsFiltro.Open "select * from Ventas", cnn, adOpenStatic, adLockOptimistic
  34.  
  35. End Sub
  36.  
  37. Public Sub rangoF(fecinicio As String, fectermino As String)
  38. Dim fi, ft As Date
  39.  
  40. fi = Format(fecinicio, "dd/mm/yyyy")        ': MsgBox fi
  41. ft = Format(fectermino, "dd/mm/yyyy")       ': MsgBox ft
  42.  
  43. SQL = "SELECT * FROM Ventas WHERE FEntrega=" & fi & " And FEntrega =" & ft
  44. rsFiltro.Open SQL, cnn, adOpenDynamic, adLockOptimistic
  45.  
  46. End Sub
  47.  
  48. Public Sub CargarListViewV(LV As ListView, rs As ADODB.Recordset)
  49.  
  50.  Dim i As Integer
  51.  
  52.        'limpia el LV
  53.       LV.ListItems.Clear
  54.  
  55.        ' si hay registros
  56.       If rs.RecordCount > 0 Then
  57.  
  58.            ' recorre el recordset
  59.           While Not rs.EOF
  60.                ' añade los datos
  61.               Set ObjItem = LV.ListItems.Add(, , rs(0))
  62.  
  63.              'ObjItem.SubItems(0) = rs!Codigo
  64.              'ObjItem.SubItems(1) = rs!ClienteID
  65.              ObjItem.SubItems(1) = rs!Producto
  66.              ObjItem.SubItems(2) = rs!fpedido
  67.              ObjItem.SubItems(3) = rs!fentrega
  68.              ObjItem.SubItems(4) = rs!MPago
  69.              ObjItem.SubItems(5) = rs!Ncheque
  70.              ObjItem.SubItems(6) = rs!MTotal
  71.              ObjItem.SubItems(7) = rs!MPagado
  72.              ObjItem.SubItems(8) = rs!Chofer
  73.              ObjItem.SubItems(9) = rs!Finalizada
  74.              ObjItem.SubItems(10) = rs!Entregada
  75.              ObjItem.SubItems(11) = rs!ClienteID
  76.              ObjItem.SubItems(12) = rs!FechaID
  77.              ObjItem.SubItems(13) = rs(0)
  78.              ObjItem.SubItems(14) = rs!Dia
  79.              ObjItem.SubItems(15) = rs!Mes
  80.              ObjItem.SubItems(16) = rs!Año
  81.              ObjItem.SubItems(17) = rs!IDPago
  82.              ObjItem.SubItems(18) = rs!Observacion
  83.               ' siguiente registro
  84.              rs.MoveNext
  85.           Wend
  86.  
  87. End Sub
  88.  
  89.  
  90.  

Y cargo los datos en el ListView asi:

Código
  1. Call CargarListViewV(FrmVentas.LV, rsFiltro)
  2.  

Espero que puedas ayudarme, Saludos
« Última modificación: 31 Julio 2010, 07:49 am por e500 » En línea

e500

Desconectado Desconectado

Mensajes: 83


Ver Perfil
Re: ADODB [Filtrar]
« Respuesta #3 en: 31 Julio 2010, 08:32 am »

Solucionado, me autorespondo.

Código
  1. Public Sub rangoF(fecinicio As String, fectermino As String)
  2. Dim fi, ft As Date
  3.  
  4. fi = Format(fecinicio, "dd/mm/yyyy")        ': MsgBox fi
  5. ft = Format(fectermino, "dd/mm/yyyy")       ': MsgBox ft
  6.  
  7.       If rsFiltro.State = adStateOpen Then
  8.           rsFiltro.Close
  9.       End If
  10.  
  11.       SQL = "SELECT * FROM Ventas WHERE FEntrega >= '" & fi & "' And FEntrega <= '" & ft & "'"
  12.  
  13.       rsFiltro.Open SQL, cnn, adOpenStatic, adLockOptimistic
  14.  
  15. End Sub
  16.  

Gracias a todos por su ayuda,

Salu2
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[VB6.0]ADODB cargar solo datos con valores
Programación Visual Basic
ŞCØRPIØN-X3 4 2,432 Último mensaje 9 Octubre 2011, 06:20 am
por ŞCØRPIØN-X3
Duditas sobre Conexión SQL (ADODB)
Programación Visual Basic
Shadow 4 2,092 Último mensaje 11 Noviembre 2011, 16:55 pm
por seba123neo
(Solucionado) [RUBY] Como filtrar un body html?
Scripting
Eleкtro 1 1,833 Último mensaje 19 Marzo 2012, 09:58 am
por Eleкtro
vb.net combobox con access[SOLUCIONADO]
.NET (C#, VB.NET, ASP)
01munrra 2 2,543 Último mensaje 13 Abril 2016, 04:51 am
por 01munrra
Comparadores logicos en PHP con ADOdb
PHP
CodeSoBizarre 0 1,028 Último mensaje 12 Septiembre 2017, 19:50 pm
por CodeSoBizarre
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines