Search  
Friday, May 25, 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  Baze de date, tabele, view-uri si indecsi  Selectare date ...
 Selectare date ptr raport
 
 11/4/2011 8:29:09 PM
User is offlinebata01yu
55 posts


Selectare date ptr raport
 (N/A)
Buna seara,
Am un raport cu 4 coloane, sa zicem c1, c2, c3, c4

Si o tabela de unde obtin datele pentru raport cu 7 coloane am sa incerc s postez si un exemplu
s1       s2      s3    s4    s5   s6    s7
0        12      0     32    11    0     12 
0         3       0      0      0     0      3


Valorile sunt ptr exemplificare

cum pot sa fac selectul din tabela unde am 7 coloane pentru a otine coloanele c1, c2, c3, c4
nu voi avea niciodata mai mult de 4 coloane pentru raport.
M-am gandit ca daca sum(s1)#0 atunci c1=s1 daca nu atunci c1=s2, etc., dar problema ca si la exemplul posta mai sus trebuie sa obtin coloanele
c1=s2, c2=s4, c3=s5, c4=s7
Cred ca am reusit sa ma fac inteles.
Multumesc anticipat.


 11/4/2011 8:39:44 PM
User is offlinevaly.m
227 posts
4th


Re: Selectare date ptr raport
 (N/A) Modified By valy.m  on 11/4/2011 10:05:11 PM)
Cred ca trebuie sa fii oleaca mai explicit... Eu nu am inteles mai nimic... s1 reprezinta ceva anume? s3 trebuie sa fie suma dintre s1 si s2?! Nu inteleg....

Editat...
Aaaaa... sa inteleg ca tu vrei sa aduci doar campurile a caror suma sa fie diferita de 0...
Nu-i prea elegant, dar asta mi-a venit acum in cap...
Am creat "proba" ca fiind cursorul/tabela mea cu 6 campuri, dar poate avea mai multe din care doar cele 4 vor fi afisate

CREATE CURSOR proba (c1 n(5),c2 n(5),c3 n(5),c4 n(5),c5 n(5),c6 n(5))
INSERT INTO proba VALUES (0,12,4,0,1,0)
INSERT INTO proba VALUES (0,5,65,0,4,0)
INSERT INTO proba VALUES (0,4,36,3,3,0)
INSERT INTO proba VALUES (0,8,4,0,4,0)
INSERT INTO proba VALUES (0,4,35,0,2,0)

LOCAL campuri,jj
campuri=''
jj=0
ln=AFIELDS(gnMatrice)
FOR ii=1 TO ln
    SELECT proba
    SUM &gnMatrice(ii,1) TO res
    IF res>0
        jj=jj+1
        campuri=campuri+gnMatrice(ii,1)+' as camp'+transform(jj)+','
    ENDIF
ENDFOR
campuri=LEFT(campuri,LEN(campuri)-1)
SELECT &campuri FROM proba INTO CURSOR aaa

De aici rezulta cursorul aaa care va avea coloanele "camp1","camp2","camp3" si "camp4"...

Valy Maties - Beginner programmer
 11/4/2011 9:17:26 PM
User is offlinemgabi
135 posts
5th


Re: Selectare date ptr raport
 (N/A)
Eu cam asa as face ....

use tab7col     &&& tabela ta cu s1... s7
SUM s1,s2,s3,s4,s5,s6,s7 TO tot1,tot2,tot3,tot4,tot5,tot6,tot7    &&& sau folosesti abs(s1) daca ai si negative
listacamp=''
for i=1 to 7
    istr=str(i,1)
    listacamp=listacamp+iif(0=tot&istr ,'',',s'+str(i,1))
endif
listacamp=substr(listacamp,2)   &&&& scap de prima virgula
comanda='copy fields '+listacamp+' to ttt.txt SDF'
&comanda
use tab4col    &&&& tabela cu stuctura cu 4 campuri cu denumirile specifice, daca n-o ai  ....  o construiesti pe loc cu create table (SQL) ...
append from ttt.txt SDF





 11/4/2011 9:22:27 PM
User is offlinemgabi
135 posts
5th


Re: Selectare date ptr raport
 (N/A)
Scuze valy, am scris peste tine :) ... am vazut raspunsul tau dupa ce am dat update.

Vad ca ai avut cam aceeasi idee (cu lista de campuri) , solutia ta este mai buna pentru ca este generala.
 11/11/2011 12:35:05 PM
User is offlinebata01yu
55 posts


Re: Selectare date ptr raport
 (N/A)
Mersii mult pentru raspunsul prompt.
Acuma intervine alta problema la capul de tabel

sa zicem daca tot1#0 atunci la capul tabelului sa am a1

daca imi ia numai campurile s2 si s5 de exemplu
la cap de tabel sa am cap2 si cap5 pentru colonaele 1 si 2
Sper ca m-am facut inteles

  Visual FoxPro  Baze de date, tabele, view-uri si indecsi  Selectare date ...

Search  Forum Home         

 Google Ads Minimize

    

Copyright 2002-2010 Profox   Terms Of Use  Privacy Statement