Hola. Me ha surgido un problema que no se como solucionar, no veo donde está el error.
Comienzo por decir que tengo una tabla que se llama detallesfactura la cual tiene los siguientes campos. (def_facturanum, def_decripcion, def_cantidad, def_preciouni, def_totalitem, def_iva, def_fecha) y una que se llama facturas con los siguientes campos.
http://www.imaxenes.com/imagen/img_factura1cs12zo.jpg.html Continuo. Esas tablas estan relacionadas por los dos primeros campos de cada tabla.
Ahora bien. tengo este formulario.
http://www.imaxenes.com/imagen/listado_procesadas1ry38lg.jpg.html Bien en esta imagen estoy mostrando datos de ambas tablas, pero resulta que cuando selecciono una fecha sea cual sea, se muestran todos los datos. No me esta filtrando como debe ser.
Aqui los codigos. Esto es para cargar las fechas en un contro de usuario que cree.
Private Sub Cargar_fechas()
Dim rs As New ADODB.Recordset
Call cSel1.Clear
rs.Open "SELECT DISTINCT fac_fechafact FROM facturas ORDER BY fac_fechafact DESC", nc, adOpenDynamic, adLockOptimistic
While Not rs.EOF
Call cSel1.AddItem(rs!fac_fechafact & " " & Format(rs!fac_fechafact, "long date"))
DoEvents
rs.MoveNext
Wend
rs.Close
Set rs = Nothing
cSel1.DefaultItem = 0
End SubY esta es la funcion que me hace todo el proceso, que se muestra los datos que quiero.
Private Sub Cargar_Listado_fechas(Optional lpFecha As String)
Dim cItem As ListItem
Dim rs As New ADODB.Recordset
Dim sQuery As String
Call lv.ListItems.Clear
If (IsDate(lpFecha)) Then
sQuery = "SELECT DISTINCT detallesfactura.def_decripcion, detallesfactura.def_cantidad, detallesfactura.def_totalitem, facturas.fac_codigo, facturas.fac_fechafact, facturas.fac_nombre FROM detallesfactura, facturas WHERE facturas.fac_condicion= 1 AND facturas.fac_fechafact = #" & Format(lpFecha, "mm/dd/yyyy") & "# ORDER BY facturas.fac_fechafact DESC"
Else
sQuery = "SELECT DISTINCT detallesfactura.def_decripcion, detallesfactura.def_cantidad, detallesfactura.def_totalitem, facturas.fac_codigo, facturas.fac_fechafact, facturas.fac_nombre FROM detallesfactura, facturas ORDER BY facturas.fac_fechafact DESC"
End If
On Error Resume Next
rs.Open sQuery, nc, adOpenDynamic, adLockOptimistic
While Not rs.EOF
Set cItem = lv.ListItems.Add(, , Format(rs!fac_codigo, "0000000"))
cItem.SubItems(1) = (rs!fac_fechafact)
cItem.SubItems(2) = (rs!fac_nombre)
cItem.SubItems(3) = (rs!def_decripcion)
cItem.SubItems(4) = (rs!def_cantidad)
cItem.SubItems(5) = (rs!def_totalitem)
DoEvents
rs.MoveNext
Wend
rs.Close
Set rs = Nothing
End SubAsi es ocmo llamo y muestro , apenas selecciono la fecha en el combo que lo cree como contro de usuario.
Private Sub cSel1_ItemClick(ByVal lpText As String, ByVal lpIndex As Long)
Call Cargar_Listado_fechas(Left(lpText, 10))
End SubNecesito que me ayuden a ver el error para que me filtre bien, por que si se dan cta en las imagenes muestra por ejemplo en la fecha 8 me ca,bia todos los registros a esa fecha y al igual que la 4 de julio. Gracias.