Search  
Wednesday, May 23, 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  One to many in ...
 One to many in REPORT
 
 2/7/2011 4:25:25 PM
User is offlinemarinserban16
21 posts


One to many in REPORT
 (N/A)
Salut! Am nevoie de ajutorul dvs! (Normal...) Am urmatoarea situatie: Trebuie sa pun pe un REPORT (in spate am doua tabele legate dupa campul marca: one to many): marca x1 cu toate inregistrarile pt. marca x1. Raportul se afla intr-un proiect cu tot tacamul. Am folosit VFP8. In formular cu doua grid-uri merge perfect, in raport nu reusesc. mai am de invatat...Un pic de ajutor, va rog!
 2/7/2011 5:50:07 PM
User is offlineDaniel Buduru
2332 posts
1st




Re: One to many in REPORT
 (N/A)
Daca vrei sa nu ai vreodata batai de cap cu rapoartele, ai de respectat doua reguli:

1. Raportul sa fie definit cu private datasession
2. Sa folosesti mereu un select sql intr-un cursor ca sursa pentru raport, si nu direct tabele cu filtre si relatii intre ele.

In cazu tau, daca raportul nu iesei cum vrei, cursorul /tabela selectata nu este tabela care contine marca. Selecteaza tabela chiar inainte de comanda report. Daca tot ai probleme - uneori merge corect, alteori nu - de vina este un grid de pe formul din care lansezi reportul.
Un grid care primeste focusul selecteaza in mod automat aliasul din recorsource - si implicit deselecteaza aliasul reportului. De asta te scapa private datasession.

Daca vrei sa ai un raport de sine statator, executa selectul in raport.dataenvironment.init. Daca ai nevoie de filtrare, declari niste variabile private in metoda din care dai comanda report form.
Pentru ca raportul sa nu genereze o eroare in cazu in care contextul nu e asigurat (lipsesc variabilele), testezi existenta lor la inceputul metodei init:
IF vartype(variabila1)="U" or vartype(variabila2)="U"
messagebox('Context nedefinit',0,'Raport')
return .F.
endif

apoi setarile specifice sessiunii:

SET DATE DMY
SET DELETED ON
SET ....

pe urma selectul:

select ... from ... into cursor crsreport

Asta e tot, tot codul e in report.

Daniel Buduru
 2/8/2011 6:58:43 AM
User is offlinemarinserban16
21 posts


Re: One to many in REPORT
 (N/A)
Multumesc mult!
  Visual FoxPro  Rapoarte si generatoare de rapoarte  One to many in ...

Search  Forum Home         

 Google Ads Minimize

    

Copyright 2002-2010 Profox   Terms Of Use  Privacy Statement