Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Sentencia sql en vb6 para reflejar en un listview

Estas en el tema de Sentencia sql en vb6 para reflejar en un listview en el foro de Visual Basic clásico en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 17/05/2012, 08:29
 
Fecha de Ingreso: abril-2012
Ubicación: Caracas
Mensajes: 22
Antigüedad: 9 años, 5 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
  #2 (permalink)  
Antiguo 17/05/2012, 12:26
Avatar de lokoman  
Fecha de Ingreso: septiembre-2009
Mensajes: 502
Antigüedad: 12 años
Puntos: 47
Respuesta: Sentencia sql en vb6 para reflejar en un listview

Veo que tienes comentado el ORDER BY en la consulta

Código vb:
Ver original
  1. SQL = "SELECT FACTURA.co_cli, dbo.clientes.campo5, sum(dbo.FACTURA.saldo) As saldo1 " _
  2. & " FROM dbo.FACTURA, dbo.clientes " _
  3. & " Where dbo.FACTURA.anulada! = 1 And " _
  4. & " dbo.FACTURA.saldo! = 0 And " _
  5. & " dbo.FACTURA.FEC_EMIS < getdate() and " _
  6. & " dbo.clientes.campo5 <> '' and " _
  7. & " dbo.FACTURA.co_cli = dbo.clientes.co_cli and " _
  8. & " datediff(dd,dbo.FACTURA.FEC_EMIS, getdate()) > 40 " _
  9. & " group by dbo.FACTURA.co_cli, dbo.clientes.campo5 " _
  10. & " ORDER by 1 ASC"
  #3 (permalink)  
Antiguo 17/05/2012, 13:01
 
Fecha de Ingreso: abril-2012
Ubicación: Caracas
Mensajes: 22
Antigüedad: 9 años, 5 meses
Puntos: 1
Respuesta: Sentencia sql en vb6 para reflejar en un listview

Hola lokoman me disculpo ya que debi expresar mejor a que me referia con desorganizado, pues el hecho es que que el listview no muestra filas y columnas organizadas, pues se ven filas y como si no tuvieran columnas ademas noto que solo los valores que me muestra son los de codigo de cliente, debe ser la consulta de sql que al tomar en cuenta tantos valores no se asocian las cabeceras con los campos del list, no se de que manera pudiera traerme esos datos en el list??
  #4 (permalink)  
Antiguo 17/05/2012, 14:55
Avatar de lokoman  
Fecha de Ingreso: septiembre-2009
Mensajes: 502
Antigüedad: 12 años
Puntos: 47
Respuesta: Sentencia sql en vb6 para reflejar en un listview

Asegúrate de tener el Listview en modo reporte:

Código vb:
Ver original
  1. Private Sub Form_Load()
  2.     List_reporte_mayor.View = lvwReport
  3. End Sub

Etiquetas: listview, sentencia, sql, vb, vb6, formulario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:16.