Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/05/2012, 08:29
cindycpc3
 
Fecha de Ingreso: abril-2012
Ubicación: Caracas
Mensajes: 22
Antigüedad: 12 años
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