elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
14 Febrero 2012, 03:07  

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo, raul338)
| | |-+  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 856 veces)
e500

Desconectado Desconectado

Mensajes: 71


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

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

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

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 por e500 » En línea
seba123neo
Moderador
***
Desconectado Desconectado

Mensajes: 3.126



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

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

Mucha gente, especialmente la ignorante desea castigarte por decir la verdad, por ser correcto, por ser tú. Nunca te disculpes por ser correcto, o por estar años delante de tu tiempo.
Si estas en lo cierto, y lo sabes, que hable tu razón. Incluso si eres una minoria de uno solo, la verdad sigue siendo la verdad. M. Gandhi
e500

Desconectado Desconectado

Mensajes: 71


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

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
Public Sub rangoF(fecinicio As String, fectermino As String)
Dim fi, ft As Date
 
fi = Format(fecinicio, "dd/mm/yyyy")        ': MsgBox fi
ft = Format(fectermino, "dd/mm/yyyy")       ': MsgBox ft

SQL = "SELECT * FROM Ventas WHERE FEntrega=" & fi & " And FEntrega =" & ft
rsFiltro.Open SQL, cnn, adOpenDynamic, adLockOptimistic
 
End Sub
 

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
Option Explicit
 
Public Declare Sub InitCommonControls Lib "comctl32" ()
 
' variables para la conexión y el recordset
''''''''''''''''''''''''''''''''''''''''''''
Public cnn          As New ADODB.Connection
Public rsVentas     As New ADODB.Recordset
Public rsFiltro     As New ADODB.Recordset      'variable que almacena las fechas filtradas

Public ObjItem As ListItem
 
' Conecta con la DB
Public Sub IniciarConexion()
 
      With cnn
          .CursorLocation = adUseClient
          .Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
                           App.Path & "\LBDATA.mdb" & ";Persist Security Info=False;Jet OLEDB:Database Password=" & "pass123"
      End With
 
End Sub
 
' Carga las tablas
Public Sub IniciarTablas()
 
     Set rsVentas = New ADODB.Recordset
     rsVentas.CursorLocation = adUseClient
     rsVentas.Open "select * from Ventas", cnn, adOpenStatic, adLockOptimistic
 
     Set rsFiltro = New ADODB.Recordset
     'rsFiltro.CursorLocation = adUseClient
     'rsFiltro.Open "select * from Ventas", cnn, adOpenStatic, adLockOptimistic

End Sub
 
Public Sub rangoF(fecinicio As String, fectermino As String)
Dim fi, ft As Date
 
fi = Format(fecinicio, "dd/mm/yyyy")        ': MsgBox fi
ft = Format(fectermino, "dd/mm/yyyy")       ': MsgBox ft

SQL = "SELECT * FROM Ventas WHERE FEntrega=" & fi & " And FEntrega =" & ft
rsFiltro.Open SQL, cnn, adOpenDynamic, adLockOptimistic
 
End Sub
 
Public Sub CargarListViewV(LV As ListView, rs As ADODB.Recordset)
 
 Dim i As Integer
 
       'limpia el LV
      LV.ListItems.Clear
 
       ' si hay registros
      If rs.RecordCount > 0 Then
 
           ' recorre el recordset
          While Not rs.EOF
               ' añade los datos
              Set ObjItem = LV.ListItems.Add(, , rs(0))
 
             'ObjItem.SubItems(0) = rs!Codigo
             'ObjItem.SubItems(1) = rs!ClienteID
             ObjItem.SubItems(1) = rs!Producto
             ObjItem.SubItems(2) = rs!fpedido
             ObjItem.SubItems(3) = rs!fentrega
             ObjItem.SubItems(4) = rs!MPago
             ObjItem.SubItems(5) = rs!Ncheque
             ObjItem.SubItems(6) = rs!MTotal
             ObjItem.SubItems(7) = rs!MPagado
             ObjItem.SubItems(8) = rs!Chofer
             ObjItem.SubItems(9) = rs!Finalizada
             ObjItem.SubItems(10) = rs!Entregada
             ObjItem.SubItems(11) = rs!ClienteID
             ObjItem.SubItems(12) = rs!FechaID
             ObjItem.SubItems(13) = rs(0)
             ObjItem.SubItems(14) = rs!Dia
             ObjItem.SubItems(15) = rs!Mes
             ObjItem.SubItems(16) = rs!Año
             ObjItem.SubItems(17) = rs!IDPago
             ObjItem.SubItems(18) = rs!Observacion
              ' siguiente registro
             rs.MoveNext
          Wend
 
End Sub
 
 
 

Y cargo los datos en el ListView asi:

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

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

Desconectado Desconectado

Mensajes: 71


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

Solucionado, me autorespondo.

Código
Public Sub rangoF(fecinicio As String, fectermino As String)
Dim fi, ft As Date
 
fi = Format(fecinicio, "dd/mm/yyyy")        ': MsgBox fi
ft = Format(fectermino, "dd/mm/yyyy")       ': MsgBox ft

      If rsFiltro.State = adStateOpen Then
          rsFiltro.Close
      End If
 
      SQL = "SELECT * FROM Ventas WHERE FEntrega >= '" & fi & "' And FEntrega <= '" & ft & "'"
 
      rsFiltro.Open SQL, cnn, adOpenStatic, adLockOptimistic
 
End Sub
 

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 507 Último mensaje 9 Octubre 2011, 06:20
por ŞCØRPIØN-X3
Duditas sobre Conexión SQL (ADODB)
Programación Visual Basic
Shadow 4 583 Último mensaje 11 Noviembre 2011, 16:55
por seba123neo
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines