17/05/2012, 08:29
|
| | Fecha de Ingreso: abril-2012 Ubicación: Caracas
Mensajes: 22
Antigüedad: 12 años, 7 meses Puntos: 1 | |
Sentencia sql en vb6 para reflejar en un listview Buenos Dias estimados colegas,
Tengo la siguiente consulta, pues resulta que poseo una sentencia en sql que funciona muy bien, el hecho es que deseo que dicha sentencia me traiga los datos ordenados en un listview, por los momentos me trae los datos super desorganizados, mi sentencia es la siguiente
SELECT FACTURA.co_cli, dbo.clientes.campo5, sum(dbo.FACTURA.saldo) As saldo1 FROM dbo.FACTURA, dbo.clientes Where dbo.FACTURA.anulada! = 1 And dbo.FACTURA.saldo! = 0 And dbo.FACTURA.FEC_EMIS < getdate() and dbo.clientes.campo5 <> '' and dbo.FACTURA.co_cli = dbo.clientes.co_cli and datediff(dd,dbo.FACTURA.FEC_EMIS, getdate()) > 40 group by dbo.FACTURA.co_cli, dbo.clientes.campo5
los datos que deseo mostrar en el listview son solo el codigo del cliente(co_cli), su numero telefonico(campo5) y su saldo (saldo). Este query funciona como les indico muy bien en sql, mas para anexarlo en el vb para que me traiga los datos ordenados por columnas y filas no lo hace bien, muestra todo desorganizado, este es el codigo que tengo hasta los momentos :
Private Sub Form_Load()
Dim rs As New ADODB.Recordset
Dim sql As String
'Label4.Caption = USUARIO_ACTUAL_NAME
' Eliminar las cabeceras
List_reporte_mayor.ColumnHeaders.Clear
'
' Asignar las cabeceras
With List_reporte_mayor.ColumnHeaders.Add(, , "Codigo Cliente", 4000)
End With
With List_reporte_mayor.ColumnHeaders.Add(, , "Telefono", 2500, lvwColumnRight)
End With
With List_reporte_mayor.ColumnHeaders.Add(, , "Saldo", 2500, lvwColumnRight)
End With
TIPO_EVENTO = 1
g_db.Open "driver={SQL Server};server=SERVIDOR;uid=profit;pwd=profit;data base=rcrepres"
'-- llena el combo de Usuarios
sql = "SELECT FACTURA.co_cli, dbo.clientes.campo5, sum(dbo.FACTURA.saldo) As saldo1 FROM dbo.FACTURA, dbo.clientes Where dbo.FACTURA.anulada! = 1 And dbo.FACTURA.saldo! = 0 And dbo.FACTURA.FEC_EMIS < getdate() and dbo.clientes.campo5 <> '' and dbo.FACTURA.co_cli = dbo.clientes.co_cli and datediff(dd,dbo.FACTURA.FEC_EMIS, getdate()) > 40 group by dbo.FACTURA.co_cli, dbo.clientes.campo5 " 'order by nombre_persona"
rs.Open sql, g_db
''''RECORRIDO DEL LISTVIEW
Do While Not rs.EOF
If Not IsNull(rs.Fields.Item(0).Value) Then
With List_reporte_mayor.ListItems.Add(, , rs.Fields.Item(0).Value)
' Cada subitem debe corresponder con cada una de las cabeceras
' la segunda cabecera es el Subitems(1) y así sucesivamente
.SubItems(1) = rs.Fields.Item(1).Value
.SubItems(2) = rs.Fields.Item(2).Value
End With
End If
rs.MoveNext
Loop
rs.Close
g_db.Close
End Sub
Quien me pueda ayudar a encontrar la manera de poder establecer en el listview ordenado por filas y columnas, si es de cambiar el query y ejecutar en vb los saldos?¿?¿?¿?¿?¿?¿?
GRACIAS DE ANTEMANO |