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  Indexare comple...
 Indexare complexa (index compus: data,text, valaoare)
 
 12/20/2011 10:44:54 AM
User is offlinemarin_serban
25 posts


Indexare complexa (index compus: data,text, valaoare)
 (N/A)
Salutare! Am urmatoarea situatie: view1 avand campurile: camp1 c(35);camp2 n(5), camp3 date. Vreau sa obtin un RAPORT care sa insumeze si sa afiseze descrescator valorile din campul 2 dupa luna si dupa an. Am reusit sa le insumez dupa an, luna si denumire dar nu descrescator. Am indexat valorile astfel: INDEX ON STR(YEAR(camp3))+STR(MONTH(camp3))+camp1 TAG indx desce . Am grupat datele in raport astfel: year(camp3) month(camp3) camp1 camp2. Nu stiu unde gresesc. Va rog un punct de vedere. Multumesc!
 12/20/2011 11:11:53 AM
User is offlineGrigore Dolghin
3590 posts
www.class-software.eu
1st






Re: Indexare complexa (index compus: data,text, valaoare)
 (N/A)
Foloseste un SELECT. Rolul indecsilor nu este acela de a sorta inregistrarile (asa cum sunt folositi in marea majoritate a cazurilor) ci acela de a permite sistemului sa gaseasca inregistrarile dorite. Pentru sortari se folosesc SELECT-uri cu clauza ORDER BY care este muuuuuuult mai flexibila.

Select * from tabela order by camp1, camp2 desc, camp3 desc, camp4, camp5 desc, si asa mai departe.

Grigore Dolghin
Visual FoxPro MVP 2006 - 2010
Class Software
My blog
 12/20/2011 11:15:56 AM
User is offlineDaniel Buduru
2335 posts
1st




Re: Indexare complexa (index compus: data,text, valaoare)
 (N/A)
Ai selectat indexul respectiv inainte de rularea raportului?
SET ORDER TO indx

Pentru indexarea dupa data exista functiile DTOS(data) si DTOC(data,1), care returneaza un sting de forma yyyymmdd.
Cheia de indexare devine LEFT(DTOS(camp3),6)+camp1.

Nu ai nevoie de clauza Descending in index, e suficient sa o specifici in comanda SET ORDER
SET ORDER TO indx DESC

Rezolvi mult mai simplu pregatind pentru raportare un cursor cu SELECT SQL:
Select left(dtos(camp3),6) as anluna, camp1, camp2 FROM tabela order by 1 desc, 2 desc into cursor crsraport
Tot aici poti face si calculele pe care le doresti.




Daniel Buduru
 12/20/2011 11:20:10 AM
User is offlinemarin_serban
25 posts


Re: Indexare complexa (index compus: data,text, valaoare)
 (N/A)
Multumesc mult pentru raspunsul prompt!. Sarbatori fericite!
 12/20/2011 11:20:52 AM
User is offlinemarin_serban
25 posts


Re: Indexare complexa (index compus: data,text, valaoare)
 (N/A)
Multumesc mult! Sarbatori fericite!
 12/20/2011 12:18:25 PM
User is offlineDaniel Buduru
2335 posts
1st




Re: Indexare complexa (index compus: data,text, valaoare)
 (N/A)
Sarbatori fericite!

@Grig
Abia acum vad ca am raspuns in aproape acelasi timp :)

Daniel Buduru
  Visual FoxPro  Baze de date, tabele, view-uri si indecsi  Indexare comple...

Search  Forum Home         

 Google Ads Minimize

    

Copyright 2002-2010 Profox   Terms Of Use  Privacy Statement