Error en Listbox al mostrar un Recordset vacio
Publicado por Juan Morales (38 intervenciones) el 24/05/2015 15:13:53
Buen dia amigos del foro tengo un problema al mostrar a travez de un folder un recordset de todo un año con 12 pestañas que representas los meses, funciona bien pero cuando selecciono un mes que no tiene movimiento de da
error al mostrar el listbox, dejo parte del fuente
invclusive al cambiar el mes ejecuto un eval para cerrar y abrir el recordset nuevamente y chequear si esta vacio
coloco un if verificando pero al mostrar el listbox me da error. agradezo cualquier orientacion..
muchas gracias..
error al mostrar el listbox, dejo parte del fuente
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
HallaDH := { || oRv:= TOLEAUTO():New("adodb.recordset"),;
oRv:LockType := adLockOptimistic ,;
oRv:CursorType := adOpenKeyset ,;
oRv:CursorLocation := adUseClient,;
oRv:ActiveConnection(oApp:oCon) ,;
oRv:Source :="SELECT * FROM COD030 WHERE ANOF= '" + AllTrim(STR(VANOF)) + "' AND MESF= '" + ALLTRIM(STR(ZMESF)) + "' ORDER BY COSLUG,TCOMP,COMP " ,;
oRv:Open() }
RECALTOT := { || vtdeb:=Tvale(vanof,zMesf,1),vthab:=Tvale(vanof,zMesf,2),vRega:=Tvale(vAnof,zMesf,4),;
vReg:=Tvale(vanof,zMesf,3),otdeb:Refresh(),othab:Refresh(),oRega:Refresh(),oReg:Refresh() }
ActoRv := { || IF (zMesf <> 99,(oFld:aDialogs[zMesf]:Refresh(),oFld:aDialogs[oRv:Fields("MESF"):Value]:Setfocus(),oLbx:Refresh(),oFld:Refresh()) , ) }
DEFINE DIALOG oDlg RESOURCE "Con100" OF oWnd
REDEFINE FOLDER oFld ID 100 OF oDlg ;
PROMPT NM[1],NM[2],NM[3],NM[4],NM[5],NM[6],NM[7],NM[8],NM[9],NM[10],NM[11],NM[12] ;
DIALOGS "Con100_FL","Con100_FL","Con100_FL","Con100_FL","Con100_FL","Con100_FL" , ;
"Con100_FL","Con100_FL","Con100_FL","Con100_FL","Con100_FL","Con100_FL" ;
ON CHANGE( oRv:Close(),zMesf:=nOption,Eval(HallaDH),;
EVAL(RECALTOT),oFld:aDialogs[nOption]:Refresh(),oLbx:Refresh(),oDlg:Refresh())
// Caja de Di logo -----------------------------------------------------
************************************************************
** SI Existe
IF oRv:BOF() .AND. oRv:EOF()
ELSE
REDEFINE LISTBOX oLbx FIELDS DTOC(oRv:Fields("Fecha"):Value) ,;
STR(oRv:Fields("TCOMP"):Value) ,;
STR(oRv:Fields("COMP"):Value) ,;
oRv:Fields("COSLUG"):Value ,;
TransForm (oRv:Fields("TDEBE"):Value, "@Z 999,999,999,999.99"),;
TransForm (oRv:Fields("THABER"):Value,"@Z 999,999,999,999.99"),;
oRv:Fields("DESTCO"):Value ,;
oRv:Fields("FLAG"):Value ,;
oRv:Fields("Orig"):Value ,;
STR(oRv:Fields("NROCHE"):Value) ,;
oRv:Fields("NRIF"):Value ;
HEADERS "Fecha", "Tcomp", "Comp", "Clugar", "T.Debe", "T.Haber","Concepto","Status","Ori","Nroche","Nrif" ;
FIELDSIZES 70, 40, 60,40,100,100,150, 20,80,80 ;
COLOR CLR_BLUE , CLR_HCYAN ;
ID 110 ;
OF oFld:aDialogs[ 1 ]
oLbx:aJustify := {.F., .F., .F., .F., .T., .T., .F., .F., .F., .T., .F. }
oLbx:bLogicLen = { || oRv:RecordCount() }
oLbx:bGoTop = { || oRv:MoveFirst() }
oLbx:bGoBottom = { || oRv:MoveLast() }
oLbx:bSkip = { | nSkip | Skipper( oRv, nSkip ) }
ENDIF
invclusive al cambiar el mes ejecuto un eval para cerrar y abrir el recordset nuevamente y chequear si esta vacio
coloco un if verificando pero al mostrar el listbox me da error. agradezo cualquier orientacion..
muchas gracias..
Valora esta pregunta


0