anladığım kadarıyla bu bir muavin defter mizanı
ben bu işlemi şöyle çözdüm
önce table lerden filtreye uygun kayıtları cursor dosyasına istediğim sırayla getirdim.
2 table vardı birisi hesap planı dosyam diğeri fiş hareket dosyam
daha önce clipperda program yazdığım için oop ye tam alışamadım visual foxpro da da yeniyim
ropor filtreleri fromunda
CASE RAPORTIPF="03"
IF thisform.optiongroup1.option1.Value=1 then
SELECT * FROM FISHRKT,HESAPDS ORDER BY FISHRKT.HSNO,FISHRKT.FISN,FISHRKT.SIRA ASC WHERE FISHRKT.HSNO=HESAPDS.HKOD AND;
FISHRKT.HSNO BETWEEN ILKHESAPX AND SONHESAPX AND FISHRKT.FTAR=<sontarm INTO CURSOR MUAVDF
ELSE
SELECT * FROM FISHRKT,HESAPDS ORDER BY FISHRKT.HSNO,FISHRKT.FISN,FISHRKT.SIRA ASC WHERE FISHRKT.HSNO=HESAPDS.HKOD AND;
FISHRKT.HSNO BETWEEN ILKHESAPX AND SONHESAPX AND FISHRKT.FTAR=<sontarm AND FISHRKT.MIKT>0 INTO CURSOR MUAVDF
ENDIF
SELECT MUAVDF.HSNO,SUM(MUAVDF.ALAC) AS ALAC,SUM(MUAVDF.BORC)AS BORC ,SUM(BORC-ALAC) AS TOPL FROM;
MUAVDF GROUP BY HSNO INTO CURSOR HESAP
SELECT MUAVDF.FTAR,MUAVDF.HSNO,MUAVDF.HADI,MUAVDF.SIRA,MUAVDF.IZAH;
,MUAVDF.BORC,MUAVDF.ALAC,MUAVDF.FISN FROM MUAVDF,HESAP ORDER BY MUAVDF.HSNO,MUAVDF.FISN,MUAVDF.SIRA ASC;
DISTINCT WHERE HESAP.HSNO=MUAVDF.HSNO INTO CURSOR MUAVDEF
SELECT MUAVDEF
GO TOP
PUBLIC ATOPm,BTOPm
STORE 0 TO ATOPm,BTOPm
IF thisform.islbakiye.Value=1 then
REPORT FORM MUAVDEB TO PRINTER PROMPT PREVIEW
ELSE
REPORT FORM MUAVDEF TO PRINTER PROMPT PREVIEW
ENDIF
RELEASE ATOPM,BTOPM
hesapların bakiyelerinin alınması aşamasında
FUNCTION BAKIYEALM
PARAMETERS HESAP
ATOPM=0
BTOPM=0
SELECT MUAVDEF
do while .NOT. EOF() .AND. hesap = hsno .AND. MUAVDEF.ftar < ilktarM
if MUAVDEF.hsno = hesap .AND. MUAVDEF.ftar < ilktarM
BTOPm=BTOPm+MUAVDEF.BORC
ATOPm=ATOPm+MUAVDEF.ALAC
endif
SKIP
ENDDO
ATOP=ATOP+ATOPm
BTOP=BTOP+BTOPm
RETURN
ENDFUNC
son olarak bu değerleri frx formatında
group header da bakiye al functionu kullandığımda raporları çalıştırdım