FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Problema Recorset oRs:RecordCount() (SOLUCIONADO)
Posts: 1818
Joined: Wed Oct 26, 2005 02:49 PM
Problema Recorset oRs:RecordCount() (SOLUCIONADO)
Posted: Mon Jan 25, 2021 03:42 PM
Buenos d铆as para todos, hoy me sali贸 un error al momento de intentar contar la cantidad de registros que tiene un recorset. La consulta que estoy haciendo contiene la clausula LEFT JOIN, no se si sea por eso, lo raro es que tengo muchas de las consultas en la aplicaci贸n tienen esta clausula y funcionan bien.

La consulta:

Code (fw): Select all Collapse
//CONSULTA DEL RESUMEN DE LAS FACTURAS POR CAJA Y FECHA
cQry:="SELECT FAC.ll_cajare,ll_fechas,"+;
"IFNULL(SUM(MOV.mm_subtot),0) AS subtotal,"+;
"IFNULL(SUM(MOV.mm_basiva),0) AS base,"+;
"IFNULL(SUM(MOV.mm_valiva),0) AS iva,"+;
"IFNULL(SUM(MOV.mm_totale),0) AS total "+;
"FROM ("+oLamcla:tFact+" FAC) "+;
"LEFT JOIN "+oLamcla:tMofa+" MOV ON FAC.ll_docume=MOV.mm_docume AND FAC.ll_consec=MOV.mm_consec "+;
"WHERE FAC.ll_cajare='"+alltrim(cCjaActiva)+"' AND FAC.ll_fechas='"+dtos(dFechaDia)+"' AND FAC.ll_anulad<>'A'"
oRs := FW_OPENRECORDSET(oCnCja,cQry,adLockOptimistic,adOpenKeyset)
NrEG := oRs:RecordCount()


El error:
Code (fw): Select all Collapse
Application
===========
聽 聽Path and name: C:\DLYMA\dlyma.exe (32 bits)
聽 聽Size: 6,552,576 bytes
聽 聽Compiler version: xHarbour 1.2.3 Intl. (SimpLex) (Build 20190613)
聽 聽FiveWin 聽version: FWH 19.09
聽 聽C compiler version: Borland/Embarcadero C++ 7.3 (32-bit)
聽 聽Windows version: 6.2, Build 9200 

聽 聽Time from start: 0 hours 0 mins 29 secs 
聽 聽Error occurred at: 25/01/2021, 10:14:45
聽 聽Error description: Error ADODB.RecordSet/6 聽DISP_E_UNKNOWNNAME: RECORDCOUNT
聽 聽Args:

Stack Calls
===========
聽 聽Called from: 聽=> TOLEAUTO:RECORDCOUNT( 0 )
聽 聽Called from: z:\prg\R32_caja.prg => PCIERRE( 1614 )
聽 聽Called from: z:\prg\R32_caja.prg => (b)FOPCIONCAJA( 908 )
聽 聽Called from: .\source\classes\BTNBMP.PRG => TBTNBMP:CLICK( 704 )
聽 聽Called from: .\source\classes\BTNBMP.PRG => TBTNBMP:LBUTTONUP( 990 )
聽 聽Called from: .\source\classes\CONTROL.PRG => TCONTROL:HANDLEEVENT( 1791 )
聽 聽Called from: .\source\classes\BTNBMP.PRG => TBTNBMP:HANDLEEVENT( 2030 )
聽 聽Called from: .\source\classes\WINDOW.PRG => _FWH( 3559 )
聽 聽Called from: 聽=> WINRUN( 0 )
聽 聽Called from: .\source\classes\WINDOW.PRG => TMDIFRAME:ACTIVATE( 1097 )
聽 聽Called from: z:\prg\R32_menu.prg => VTNAPRINCIPAL( 550 )
聽 聽Called from: z:\prg\R32_menu.prg => MAIN( 90 )


Si cambio la consulta sin la relaci贸n LEFT JOIN si me devuelve correctamente el valor 0
Code (fw): Select all Collapse
cQry:="SELECT * FROM tbl_fact WHERE ll_consec='777777777'"


De antemano gracias
Saludos
LEANDRO AREVALO
Bogot谩 (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 25.01 ] [ xHarbour 64 bits) ]
Posts: 1818
Joined: Wed Oct 26, 2005 02:49 PM
Re: Problema Recorset oRs:RecordCount()
Posted: Mon Jan 25, 2021 03:58 PM
Parece que ya encontre la soluci贸n, el problema es que el recorset que devuelve tiene en el primer campo un registro null.



Lo solucione de la siguiente manera:

Code (fw): Select all Collapse
SELECT IFNULL(FAC.ll_cajare,''),IFNULL(ll_fechas,''),"+;
"IFNULL(SUM(MOV.mm_subtot),0) AS subtotal,"+;
"IFNULL(SUM(MOV.mm_basiva),0) AS base,"+;
"IFNULL(SUM(MOV.mm_valiva),0) AS iva,"+;
"IFNULL(SUM(MOV.mm_totale),0) AS total "+;
"FROM ("+oLamcla:tFact+" FAC) "+;
"LEFT JOIN "+oLamcla:tMofa+" MOV ON FAC.ll_docume=MOV.mm_docume AND FAC.ll_consec=MOV.mm_consec "+;
"WHERE FAC.ll_cajare='"+alltrim(cCjaActiva)+"' AND FAC.ll_fechas='"+dtos(dFechaDia)+"' AND FAC.ll_anulad<>'A'
Saludos
LEANDRO AREVALO
Bogot谩 (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 25.01 ] [ xHarbour 64 bits) ]

Continue the discussion