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  Client/Server  Index ...
 Index
 
 2/20/2006 1:52:34 AM
User is offlineGhiorghiu Bogdan
928 posts
1st




Index
 (Romania)

Am un cursor actualizabil cu buferring 3. Datele din acest cursor le afisez intr-un grid ce are posibilitatea de sortare asc/des la click pe header (gen Member Classes din sectiunea download)

Pe dbf imi merge ca am indexii setati in ea, dar aici nu stiu cum sa procedez.


Ghiorghiu Bogdan >>> Dacă tot te apuci să faci o treabă, fă-o bine de la inceput!
 2/20/2006 2:02:03 AM
User is offlineGhiorghiu Bogdan
928 posts
1st




Re: Index
 (Romania) Modified By Ghiorghiu Bogdan  on 2/20/2006 3:04:52 AM)

Am incercat si cu exemplul MemberClasses din download dar adaptat pe un cursor actualizabil.

Cursorul are 2 coloane.

In Initul formei am

thisform.grid1.col1.sorTABLE = .t.

thisform.grid1.col2.sorTABLE = .t.

thisform.grid1.col1.sortTAG = "id"

thisform.grid1.col1.sortTAG = "denumire"

in load am

Index On vum.Id To Id   (cum fiind cursorul)

Sortarea pe coloana ID imi merge bine dar daca e sa sortez coloana denumire, la primul clik le sorteaza asc dar la al doilea primers mesajul File does not exist.

Cum pot seta indexi acestia?


Ghiorghiu Bogdan >>> Dacă tot te apuci să faci o treabă, fă-o bine de la inceput!
 2/20/2006 2:03:54 AM
User is offlineGhiorghiu Bogdan
928 posts
1st




Re: Index
 (Romania)
Daca ii dau ignore la mesajul de eroare le sorteaza. Dar la fiecare incercare de sortate primesc acelasi mesaj.
Ghiorghiu Bogdan >>> Dacă tot te apuci să faci o treabă, fă-o bine de la inceput!
 2/20/2006 2:11:57 AM
User is offlineDaniel Buduru
2335 posts
1st




Re: Index
 (N/A)

Ce versiune VFP?

Cum e creat cursorul? View?


Daniel Buduru
 2/20/2006 2:20:31 AM
User is offlineGhiorghiu Bogdan
928 posts
1st




Re: Index
 (Romania)

VFP 9 cu SP1

 

=CursorSetProp("Buffering",3,"vum")

=CursorSetProp("Tables" ,"um","vum")

=CursorSetProp("KeyFieldList","ID","vum")

=CursorSetProp("UpdatableFieldList" , "ID, denumire, den, cod","vum")

=CursorSetProp("UpdateNameList" , "ID um.id, denumire um.denumire, den um.den, cod um.cod","vum")

=CursorSetProp("WhereType" , DB_Key ,"vum")

=CursorSetProp("SendUpdates" , .T. , "vum")

=CursorSetProp("UpdateType" , DB_Update, "vum")


Ghiorghiu Bogdan >>> Dacă tot te apuci să faci o treabă, fă-o bine de la inceput!
 2/20/2006 2:45:45 AM
User is offlineDaniel Buduru
2335 posts
1st




Re: Index
 (N/A)

? CursorGetProp("SourceType")

In VFP9 am dat de un bug la accesarea unui fisier index (idx sau cdx) asociat unui view.

Daca se sterg tagurile din fisierul index asociat, la urmatoarea indexare da eroarea "File does not exist". Nu pot testa in acest moment codul din memberclass, dar trebuie sa fie ceva legat de asta.

Sunt de evitat atat indexarea unui cursor actualizabil, dupa ce s-au facut modificari in el, cat si utlilzarea intr-un grid a unui cursor actualizabil cu buffermode <5.

Problemele se pot evita indexand toate coloanele de la inceput, intr-un index structural (cdx), inainte de a incepe actualizarea cursorului.
in grid.init, sau in form.init:

select (cursor)
Index on (nume_camp_coloana_1) tag (nume_camp_coloana_1)
Index on (nume_camp_coloana_2) tag (nume_camp_coloana_2)
...

La requery(), un view sau cursor creat cu cursoradapter actualizeaza automat indecsii, fara a fi nevoie de reindexare

 

 

 

 

 

 


Daniel Buduru
 2/20/2006 12:09:52 PM
User is offlineGhiorghiu Bogdan
928 posts
1st




Re: Index
 (Romania)

Cum as putea solutiona problema asta?

Cum as putea sa evit acel mesaj de eroare?


Ghiorghiu Bogdan >>> Dacă tot te apuci să faci o treabă, fă-o bine de la inceput!
 2/20/2006 2:24:26 PM
User is offlineDorin Vasilescu
1366 posts
1st




Re: Index
 (Romania)
 cyclyman wrote
Daca ii dau ignore la mesajul de eroare le sorteaza. Dar la fiecare incercare de sortate primesc acelasi mesaj.


Daca e vorba de memberclasses.prg pe care l-am postat eu, comanda trebuie sa creeze un tag, nu fisier index.
Deci :
INDEX ON ...  TAG ...
nu
INDEX ON ...  TO ...
si sa la aiba pregatite inainte de un posibil click.
Dar eu m-am gandit la cazul asta in special pentru tabelele normale, cu indecsi gata facuti, din design

In cazul cursoarelor, e mai potrivita optiunea
sortable = .T.
useTempIndex = .T.

Va crea un IDX temporar in folderul windows pentru tabele temporare, pe care-l va sterge automat in Destroy() (se poate observa cu usurinta "activitatea" asta in folderul respectiv). Dar nu-l sterge/creeaza la fiecare click, doar o singura data pe perioada de existenta a grid-ului respectiv.

Mai vreau sa modific putin memberclasses.prg, pentru a putea specifica o expresie de indexare deosebita fata de sursa coloanei din grid (ex: judet+client la click pe header judet)

 2/20/2006 2:49:35 PM
User is offlineGhiorghiu Bogdan
928 posts
1st




Re: Index
 (Romania)

Am in initul Grid-ului

thisform.grid1.col1.sorTABLE = .t.

thisform.grid1.col2.sorTABLE = .t.

thisform.grid1.col3.sorTABLE = .t.

thisform.grid1.col4.sorTABLE = .t.

thisform.grid1.col1.sortTAG = "id"

thisform.grid1.col1.sortTAG = "denumire"

thisform.grid1.col1.sortTAG = "den"

thisform.grid1.col1.sortTAG = "cod"

Iar Form in load are:

select vum

Index on id tag id

Index on denumire tag denumire

Index on den tag den

Index on cod tag cod

Go Top

Primesc acelasi mesaj chiar daca e Index on id to id sau Index on id tag id.


Ghiorghiu Bogdan >>> Dacă tot te apuci să faci o treabă, fă-o bine de la inceput!
 2/20/2006 2:51:19 PM
User is offlineGhiorghiu Bogdan
928 posts
1st




Re: Index
 (Romania)

Pot folosi doar sortable = .T. si useTempIndex = .T. fara ca sortTAG sa aiba vreo valoare?


Ghiorghiu Bogdan >>> Dacă tot te apuci să faci o treabă, fă-o bine de la inceput!
 2/20/2006 8:54:03 PM
User is offlineDorin Vasilescu
1366 posts
1st




Re: Index
 (N/A) Modified By Dorin Vasilescu  on 2/20/2006 9:55:57 PM)
Desigur.
Aşa cum am scris, sortTag este de de folosit pentru cazul când sursa grid-ului este o tabelă care are indecşii respectivi existenţi deja.
Dacă nu e specificat, se creează indecşi temporari pe cum e nevoie de ei. Şi sunt refolosiţi la click-urile ulterioare, nu se indexează la fiecare click.

 2/20/2006 8:56:57 PM
User is offlineDorin Vasilescu
1366 posts
1st




Re: Index
 (N/A)
Nu ataşezi un ZIP, că sunt curios?
 2/20/2006 8:59:36 PM
User is offlineGhiorghiu Bogdan
928 posts
1st




Re: Index
 (Romania)
Trebuie sa mai folosesc in  Load: (?)

select vum

Index on id tag id

Index on denumire tag denumire

Index on den tag den

Index on cod tag cod

Go Top


Ghiorghiu Bogdan >>> Dacă tot te apuci să faci o treabă, fă-o bine de la inceput!
 2/20/2006 9:03:25 PM
User is offlineGhiorghiu Bogdan
928 posts
1st




Re: Index
 (Romania)
Ce se intampla cu  tempindex?
Ghiorghiu Bogdan >>> Dacă tot te apuci să faci o treabă, fă-o bine de la inceput!
 2/20/2006 9:10:03 PM
User is offlineGhiorghiu Bogdan
928 posts
1st




Re: Index
 (Romania)

Am facut exact cu mi-ai spus si tot nu reusesc sa scap de acel mesaj de eroare. "File does not exist!"

Erorare mi-o da in memberclasses.prg in PROCEDURE Click la Set Index

CASE this.Parent.useTempIndex AND NOT EMPTY(this.parent.tempIndex)

SET INDEX TO (this.parent.tempIndex)

OTHERWISE

Chiar daca setez tag-urile in Load chiar daca nu.


Ghiorghiu Bogdan >>> Dacă tot te apuci să faci o treabă, fă-o bine de la inceput!
 2/20/2006 9:13:36 PM
User is offlineGhiorghiu Bogdan
928 posts
1st




Re: Index
 (Romania)

Atashez imediat un zip.


Ghiorghiu Bogdan >>> Dacă tot te apuci să faci o treabă, fă-o bine de la inceput!
 2/20/2006 9:35:27 PM
User is offlineGhiorghiu Bogdan
928 posts
1st




Re: Index
 (Romania)

Am modificat forma din memberclasses. Primesc aceeasi eroare.

 


Ghiorghiu Bogdan >>> Dacă tot te apuci să faci o treabă, fă-o bine de la inceput!
 2/20/2006 9:37:55 PM
User is offlineGhiorghiu Bogdan
928 posts
1st




Re: Index
 (Romania)

Scuze dar nu stiu de ce nu mi-a atashat zip-ul la mesajul anterior.

Sper sa mearga acum.


Ghiorghiu Bogdan >>> Dacă tot te apuci să faci o treabă, fă-o bine de la inceput!
 2/20/2006 9:44:43 PM
User is offlineDaniel Buduru
2335 posts
1st




Re: Index
 (N/A)

Pun aici procedura folosita de mine intr-un obiect oarecum similar. Poate ca e acelasi cu codul din memberclasses, dar inca nu apuc sa ma uit pe cod. Poate intr-o zi mai putin aglomerata ....
Fara sa indexezi in prealabil, vezi daca iti da acelasi mesaj de eroare.  Face doar indexarea si set order, schimbarea asc/desc se face din alta procedura.

PROCEDURE IndexCursor
LPARAMETERS tcAlias, tcKey,
IF TXNLEVEL()>0 OR EMPTY(tcKey)
   
RETURN .f.
endif
LOCAL
lnArea, lcKey, lcCommand, lcAlias, lcOrder, lnTag, aTags[1]
lcKey=tcKey
lcAlias=
EVL(tcAlias,ALIAS())
FOR lnTag=1 TO ATAGINFO(aTags,'',lcAlias)
   
IF UPPER(lcKey)=aTags[lnTag,1]
      
SET ORDER TO (lcKey) IN (lcAlias)
      
RETURN ORDER(lcAlias)==UPPER(lcKey)
   
ENDIF
ENDFOR
lnBuffering=CURSORGETPROP('buffering',lcAlias)
IF lnBuffering>3
   
IF GETNEXTMODIFIED(0,lcAlias,.t.)=0 
      
IF !CURSORSETPROP('buffering',3,lcAlias)
         
RETURN .f.
      
ENDIF
   ELSE   
      
RETURN .f.
   
ENDIF
ENDIF
IF CURSORGETPROP
('sourcetype',lcAlias)%100<3
   lnArea=
SELECT()
   
SELECT (lcAlias)
   
EXECSCRIPT("Index on "+lcKey+" TAG "+LEFT(lcKey,10))
   
SELECT (lnArea)
ENDIF
IF
lnBuffering>3
   
CURSORSETPROP('buffering',lnBuffering, lcAlias)
ENDIF

RETURN ORDER(lcAlias)==UPPER(lcKey)


Daniel Buduru
 2/20/2006 9:45:41 PM
User is offlineGhiorghiu Bogdan
928 posts
1st




Re: Index
 (Romania) Modified By Ghiorghiu Bogdan  on 2/21/2006 3:25:58 AM)

Vad ca nu reusesc sa-l pun aici.

Ai vrea sa-l trimit in mail?


Ghiorghiu Bogdan >>> Dacă tot te apuci să faci o treabă, fă-o bine de la inceput!
 2/21/2006 7:24:49 AM
User is offlineDorin Vasilescu
1366 posts
1st




Re: Index
 (Romania)
Da, trimite-l
 2/21/2006 9:35:55 AM
User is offlineGrigore Dolghin
3590 posts
www.class-software.eu
1st






Re: Index
 (Romania)
 cyclyman wrote

Vad ca nu reusesc sa-l pun aici.

Ai vrea sa-l trimit in mail?

Browse, Add, Browse, Add, Browse, Add, s.a.m.d. La sfarsit Upload.

Ai incercat asa si n-a mers?


Grigore Dolghin
Visual FoxPro MVP 2006 - 2010
Class Software
My blog
 2/21/2006 10:04:14 AM
User is offlineGhiorghiu Bogdan
928 posts
1st




Re: Index
 (Romania)
0
Ghiorghiu Bogdan >>> Dacă tot te apuci să faci o treabă, fă-o bine de la inceput!
 2/21/2006 11:39:32 AM
User is offlineDorin Vasilescu
1366 posts
1st




Re: Index
 (Romania)
M-am prins ce face.
E ciudat.
Desi nu exista nici o instructiune de stergere decat in Destroy(), la comanda SET INDEX TO ... sterge automat indexul precedent. Chiar si daca pun ADDITIVE tot il sterge daca se schimba la altul.

O sa vad cum pot sa-l aranjez, daca e posibil

La cursoare create cu CursorAdapter nu face kestia asta, l-as fi prins



 2/21/2006 11:47:15 AM
User is offlineGhiorghiu Bogdan
928 posts
1st




Re: Index
 (Romania)

Nu stiu sa folosesc CursorAdapter, sunt junior si abia invat.

Stie cineva unde as putea gasi un model cum se foloseste CursorAdapter.


Ghiorghiu Bogdan >>> Dacă tot te apuci să faci o treabă, fă-o bine de la inceput!
 2/21/2006 12:19:36 PM
User is offlineGhiorghiu Bogdan
928 posts
1st




Re: Index
 (Romania)
M-am uitat in help dar nu ma prea descurc.
Ghiorghiu Bogdan >>> Dacă tot te apuci să faci o treabă, fă-o bine de la inceput!
 2/21/2006 12:53:09 PM
User is offlineGhiorghiu Bogdan
928 posts
1st




Re: Index
 (Romania)

Gata am reusit sa leg forma prin CursorAdapter.

Dar sper supararea mea si acum primesc tot acelasi mesaj. Unde trebuie sa ii setez tag-urile acum?


Ghiorghiu Bogdan >>> Dacă tot te apuci să faci o treabă, fă-o bine de la inceput!
 3/1/2006 7:52:08 PM
User is offlineGhiorghiu Bogdan
928 posts
1st




Re: Index
 (Romania)

G A T A. Am reusit sa o scot la capat. Nu mai imi da nici o eroare cu procedura de la Dan.

Va multumesc tuturor.


Ghiorghiu Bogdan >>> Dacă tot te apuci să faci o treabă, fă-o bine de la inceput!
  Visual FoxPro  Client/Server  Index ...

Search  Forum Home         

 Google Ads Minimize

    

Copyright 2002-2010 Profox   Terms Of Use  Privacy Statement