Search  
Tuesday, May 22, 2012 ..:: Forum ::.. Register  Login
 Forum Minimize
Pentru a putea posta mesaje trebuie să vă înregistraţi.
Notă: Mesajele cu conţinut jignitor sau ilegal (inclusiv cereri de soft piratat) nu sunt acceptate şi vor fi şterse imediat .

Pentru a primi raspunsuri rapide si corecte, scrieti in mesaj ce intentionati sa faceti, ce mesaj de eroare primiti, in ce context si in urma caror actiuni. De asemenea, mentionati versiunea de FoxPro in care lucrati!
Dacă nu specificați versiunea, se consideră VFP 9.0 SP2.

SearchForum Home
  Visual FoxPro  Rapoarte si generatoare de rapoarte  Problema de gru...
 Problema de grupare si totalizare in raport
 
 3/17/2009 3:10:41 PM
User is offlinecostin_mentor
492 posts
www.accessoft.ro
2nd




Problema de grupare si totalizare in raport
 (N/A)
Mediu lucru : vfp9

Am urmatoarele 2 tabele :
tabela Parinte (cod n(6), compartiment n(3), nume c(30),salariubaza n(10))
cu inregistrarile : 1 1 ion ion 1000
2 1 paul paul 1000
si tabela copil ( cod n(6), parinte n(6), spor n(10),denumirespor c(10))
cu inregistratile : 1 1 500 spor1
2 1 100 spor2
3 2 300 spor1
4 2 300 spor2

legatura dintre cele 2 tabele fiind data de campul parinte din tabela copil , fiind o relatie de unu la mai multe .
Am un raport in care am grupat prima data dupa campul compartiment si apoi dupa campul cod (zona curent selectata fiind tabela parinte ).
Raportul ar arata cam asa
cod nume salariubaza
denumire spor suma spor
1 ion ion 1000
spor1 500
spor2 100
2 paul paul 1000
spor1 300
spor2 300

total compartiment 4000
Ce vreau :
Vreau ca in gruparea facuta dupa compartiment , ca valoare totala pentru salariu de baza sa-mi apara 2000 cum este corect , si nu 4000 .
Sper ca m-am facut inteles , multumesc anticipat
 3/17/2009 7:41:12 PM
User is offlineCostel
227 posts
www.adrisoft.ro
4th




Re: Problema de grupare si totalizare in raport
 (N/A)
Obtinem cursorul Sit
           SELECT compartiment,Parinte.cod,nume,salariubaza,spor,denumirespor ;
                 FROM parinte,copil WHERE Parinte.cod=Copil.parinte ;
                 ORDER BY compartiment,nume INTO CURSOR Sit

in raport creem doua variabile
      nCod                    value to store   Sit.cod
      nSumSal               value to store   nSumSal+iif(nCod#Sit.cod,Sit.salariubaza,0)
                                   Reset at    Sit.compartiment

in raport punem cimpul   nSumSal

sper sa fi fost destul de explicit. 

Spor !






Nu munci atit de mult incit sa nu-ti mai ramina timp ca sa cistigi bani. (proverb evreiesc)
 3/18/2009 8:32:52 AM
User is offlineVictor Iuga
156 posts
5th


Re: Problema de grupare si totalizare in raport
 (Romania)

din relatia 1 la mai multe (set skip to), in fapt ai o tabela echivalenta in care fiecare inregistrare parinte apare de atatea ori de cate ori are corespondenta in copil.  Implicit iti va aduna de n ori.

Variante:

1) un select in genul celui de mai sus

2) In raport introduci o variabila (sa-i zicem) nrc, pe care faci count initializat pe grupul cod.

La total, pui sa adune in loc de salar expresia: iif(nrc=1, salar, 0), astfel o va insuma o singura data, indiferent de nr de inreg din tabela copil

 

 

 3/18/2009 9:34:42 AM
User is offlinecostin_mentor
492 posts
www.accessoft.ro
2nd




Re: Problema de grupare si totalizare in raport
 (N/A)
Multumesc , am aplicat solutia a doua propusa de victor .
  Visual FoxPro  Rapoarte si generatoare de rapoarte  Problema de gru...

Search  Forum Home         

 Google Ads Minimize

    

Copyright 2002-2010 Profox   Terms Of Use  Privacy Statement