Page 1 of 1

OT: Consulta SQL ADO / Agrupar reporte

Posted: Thu Apr 11, 2019 12:04 am
by jparada
Hola,

Aquí vengo con otra molestia.

Esto es parte del código, para obtener datos de SQL Server:

Code: Select all

if ( oCnn := win_OleCreateObject( "ADODB.Connection" ) ) == NIL
    Msginfo( "No es posible crear objeto conexión [" + win_oleErrorText() + "]" )
    return NIL
endif

try
    oCnn:Open( "Provider=SQLNCLI11;Server=local;Database=DB;Uid=ui;Pwd=pwd;" )
    catch oErr
    MsgInfo( "Error de conexión: " + oErr:Description, "Error" )
    return NIL
end    

oRs := win_OleCreateObject( "ADODB.Recordset" )
    
oQry :=  "SELECT CAST(docto.cFecha AS DATE) AS Fecha, "
oQry +=  "docto.cSerieDocumento + CAST(docto.cFolio AS VARCHAR) AS Factura, "
oQry +=  "cteD.cCodigoCliente AS CodigoCliente, cteD.cRazonsocial AS RazonSocial, "

oRs:Open( oQry , oCnn )

do while !oRs:Eof
    fechaFactura :=  oRs:Fields( "Fecha" ):Value
    serieFactura	:=  oRs:Fields( "Factura" ):Value
    numeroCliente :=  oRs:Fields( "CodigoCliente" ):Value
    nombreCliente :=  oRs:Fields( "RazonSocial" ):Value

    AADD( aResultVentas, { fechaFactura,  serieFactura, numeroCliente, nombreCliente } )
    oRs:MoveNext()    
enddo
    
oRs:Close()
oCnn:Close()
Todo esto funciona correctamente, lo que no sé y es lo que estoy solicitando ayuda, es cuál sería el proceso para generar una impresión parecida a esto:
reporte.png
reporte.png (43.57 KiB) Viewed 1453 times
O sea, lo relevante y que no sé manejar es hacer el encabezado y corte por cada cliente, alguna idea?.

Gracias.

Saludos,
Javier

Re: OT: Consulta SQL ADO / Agrupar reporte

Posted: Thu Apr 11, 2019 6:31 am
by dragancesu
In the SQL query add ORDER BY

See one demo attached, program rep_b,
The data is in DBF, the principle is the same

Re: OT: Consulta SQL ADO / Agrupar reporte

Posted: Fri Apr 12, 2019 6:01 pm
by jparada
Hi,
Thanks for answering, please let me take a look at this.

I appreciate your help.

Regards,
Javier