Paco este es el Method para imprimir.
Gracias Pepe.
METHOD Button1Click( oSender ) CLASS TForm1
Local dFechaIni := CToD(::oMaskEdit1:Value)
Local dFechaFin := CToD(::oMaskEdit2:Value)
Local oRepDiario, oGroup, oFont1, oFont2
//If dFechaIni > dFechaFin .OR. EMPTY(dFechaIni)
// Application:MessageBox("Error de Fechas","ERROR",MB_OK+MB_ICONERROR)
// RETURN Nil
//EndIf
With Object oFont1 := TFont():New()
:cName := "Arial"
:nSize := 12
:lBold := .T.
END WITH
With Object oFont2 := TFont():New()
:cName := "Arial"
:nSize := 10
:lBold := .f.
END WITH
::oAdoDataSource1:cConnect('Provider=MSDASQL;Persist Security
Info=False;Extended Properties="DSN=Hotel;DBQ=M:FUENTE LA
HIGUERADATOS;DefaultDir=M:FUENTE LA
HIGUERADATOS;DriverId=538;FIL=Paradox
5.X;MaxBufferSize=2048;PageTimeout=600;"')
::oAdoDataSource1:lConnected := .T.
::oSQLQuery1:cSelect := "SELECT FacturasDte.Descripcion AS Descripcion1,
Sum(FacturasDte.Cantidad) AS SumaDeCantidad, Sum(FacturasDte.Precio) AS
SumaDePrecio "+;
"FROM FacturasDte INNER JOIN Factura ON
FacturasDte.Factura = Factura.Factura "+;
"WHERE (((Factura.Fecha)>=#01/01/2007# And
(Factura.Fecha)<=#12/31/2007#)) "+;
"GROUP BY FacturasDte.Descripcion;"
::oSQLQuery1:lOpen := .T.
//::oLabel1:cText := Str(::oSQLQuery1:RecCount())
* Creamos el reporte
REPORT oRepDiario ;
PREVIEW ;
HEADER "DIARIO DE CONSUMO","" ALIGN taCENTER;
TITLE "Desde fecha: " + DToC(dFechaIni) + " hata fecha:
"+DToC(dFechaFin)+" Página No."+str(oRepDiario:nPage,3)+" "+ DtoC( Date() )
+ " " + Time() ALIGN taCENTER;
JOBNAME "LISTADO DE FACTURACION";
FONT oFont1, oFont2
oRepDiario:bSkip := {|| ::oSQLQuery1:Skip()}
//oRepDiario:bWhile := {|| !::oSqlQuery1:eof()}
::oSQLQuery1:GoTop()
* Definimos las columnas
COLUMN OF oRepDiario ;
TITLE "Descripcion" ;
DATA ::oSQLQuery1:Descripcion1 ;
FONT 2 ;
CHARSIZE 20
COLUMN OF oRepDiario ;
DATA ::oSQLQuery1:SumaDeCantidad ;
PICTURE "999,999.99" ;
TITLE "Unidades";
ALIGN taRIGHT ;
FONT 2 ;
CHARSIZE 10 ;
TOTAL
COLUMN OF oRepDiario ;
DATA ::oSQLQuery1:SumaDePrecio ;
PICTURE "999,999.99" ;
TITLE "Importe";
ALIGN taRIGHT ;
FONT 2 ;
CHARSIZE 10 ;
TOTAL
* Ejecutamos el reporte
If ::oCheckbox1:lChecked()
oRepDiario:ToExcel()
Else
RUN REPORT oRepDiario
EndIf
oFont1:End()
oFont2:End()
RETURN Nil
//---------------------------------------------------------- --------------------
"Paco V" <
ssi@ono.com> escribió en el mensaje
news:469e5e57$[email=
1@ozsrv2.ozlan.local...]
1@ozsrv2.ozlan.local...[/email]
>
>
> ::oSqlQuery1:savestate(.t.)
> oReport:bSkip := {|| ::oSqlQuery1:Skip()}
> oReport:bWhile := {|| !::oSqlQuery:eof()}
> ::oDbfDataset1:Gotop()
> COLUMN OF oReport ;
> TITLE "Telefono" ;
> DATA alltrim(::oSqlQuery1:telefono)
>
>
> Pepe, yo lo hago asi y funciona OK.
>
> No me hagas mucho caso pero pruebalo y me dices.
>
> Paco V
>
>
> "Jose Lopez Carrasco" <
tritoncomputer@infonegocio.com> wrote:
>>Hola a todos
>>
>>Estoy intentando hacer un report de una consulta oSQLQuery1 y no se como
>
>>vincular los datos pongo:
>>
>>
>>REPORT oRepDiario ;
>> PREVIEW ;
>> ......
>> ......
>>
>>COLUMN OF oRepDiario ;
>> TITLE "Descripcion" ;
>> DATA ::oSQLQuery1:Descripcion1 ;
>> FONT 2 ;
>> CHARSIZE 20
>>
>> oRepDiario:bSkip := {| | ::oSQLQuery1:Skip() }
>>.......
>>.......
>>
>>RUN REPORT oRepDiario
>>
>>Gracias Pepe.
>>
>>
>>
>