Search  
Friday, November 15, 2019 ..:: 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  Structural .CDX...
 Structural .CDX file not found...
 
 8/6/2012 12:36:56 PM
User is offlinevaly.m
604 posts
1st


Structural .CDX file not found...
 (N/A) Modified By valy.m  on 8/6/2012 11:39:24 AM)
Salutare.
Am 2 tabele intre care vreau sa fac un join sa aduc anumite campuri din cele 2 tabele intr-un cursor. Pe acest cursor rezultat compun un index prin INDEX ON camp TAG camp... Tin sa mentionez ca cele 2 tabele din care creez cursorul nu contin indecsi asociati. Problema mea este ca la un moment dat, nu mereu, crapa exact la acest select.
Practic am un ComboBox care tine ca RowSource un cursor in care am denumirile unor foldere (dosare) din locul unde e aplicatia. Pe InteractiveChange am acest select, pe care l-am pus intr-un TRY..CATCH..ENDTRY, ca sa pot prelua eroarea. Ce pot face sa nu mai primesc aceasta eroare?

Vali Maties - Beginner programmer
 8/6/2012 12:58:30 PM
User is offlineMarian Dobre
610 posts
1st


Re: Structural .CDX file not found...
 (N/A)
De ce nu folosesti clauza Order By in fraza Select Sql?

Orice putere omeneasca este un compus de rabdare si de timp. Balzac
 8/6/2012 1:11:08 PM
User is offlinevaly.m
604 posts
1st


Re: Structural .CDX file not found...
 (N/A)
Am o clasa grid particularizata. Are bindevent pe click-ul headerului din fiecare coloana si face sortarea crescator sau descrescator, in functie de anumite proprietati ale gridului. Ordonarea o fac dupa tagul din index, ca doar nu oi face selectul ordonat dupa coloana dorita de fiecare data. Asa ca inainte sa atribui gridului recordsource-ul, creez cdx-ul la cursor.


Vali Maties - Beginner programmer
 8/6/2012 3:04:15 PM
User is offlineDaniel Buduru
3508 posts
1st




Re: Structural .CDX file not found...
 (N/A)
La crearea unui cursor fie cu select sql, fie cu create cursor, se creeaza o tabela temporara cu un nume generat cu sys(2015), tabela care este deschisa cu aliasul nume_cursor.
Indexarea cursorului duce la crearea unui index structural pe tabela temporara, cu numele tabelei temporare si cu extensia CDX. La recrearea cursorului, cu o alta comanda select, se creeaza o alta tabela temporara, cu un alt nume. Aceasta tabela nu este indexata.
Daca vrei ca indexul sa se pastreze, fie folosesti un view sau un cursoradapter, fie faci o porcedura care sa faca zap pe cursor apoi append din select - sau  insert into cursor from select ....
In cazul tau, trebuie sa reindexezi cursorul dupa fiecare select sau requery. Pune cod in recordsource_assign, daca selectul este in recordsource.


Daniel Buduru
 8/6/2012 3:12:18 PM
User is offlineMarian Dobre
610 posts
1st


Re: Structural .CDX file not found...
 (N/A)
Ideea cu ordonarea la click pe heder-ul de grid era ca sursa de date sa fie o tabela deja indexata si nu sa indexezi tabela de cate ori dai click pe header. Daca lucrezi monouser poti folosi si metoda asta insa nu este recomandata. In cel mai bun caz poti sa-ti creezi o tabela goala pe care o populezi cu datele necesare, o indexezi (toate astea in init-ul form-ului) si apoi o pui ca sursa de date pentru grid asa cum doresti sa fie ordonata.

Orice putere omeneasca este un compus de rabdare si de timp. Balzac
 8/6/2012 3:26:02 PM
User is offlinevaly.m
604 posts
1st


Re: Structural .CDX file not found...
 (N/A) Modified By valy.m  on 8/6/2012 2:31:13 PM)
Ok... Cred ca nu m-am facut inteles...

In interactivechange al combobox am urmatorul cod:

fis1=addbs(caledefa)+this.value+'\fisier1'
fis2=addbs(caledefa)+this.value+'\fisier2'
TRY
     SELECT aa.listadecampuri1,bb.listadecampuri2 FROM (fis1) aa INNER JOIN (fis2)bb ON aa.id1=bb.id2 INTO CURSOR grid1recordsource READWRITE
CATCH
     AERROR(materr)
     messagebox(materr(2))
     *** Cand am vazut ca da eroare am incercat si urmatorul cod, pus inainte de AERROR
     USE IN SELECT("grid1recordsource")
     SELECT aa.listadecampuri1,bb.listadecampuri2 FROM (fis1) aa INNER JOIN (fis2)bb ON aa.id1=bb.id2 INTO CURSOR grid1recordsource READWRITE
ENDTRY

thisform.grid1def && Aici am setarile grafice pentru grid

Nici macar nu trece mai departe de SELECT ca sa compun cdx-ul, pentru ca imi da eroarea aceasta.

Vali Maties - Beginner programmer
 8/6/2012 3:34:40 PM
User is offlineDaniel Buduru
3508 posts
1st




Re: Structural .CDX file not found...
 (N/A)
Cum spuneam, aliasul este acelasi, tabela nu. Inainte de select sterge tag-urile din cdx, apoi cdx-ul, si reindexeaza dupa select.

Daniel Buduru
 8/6/2012 3:40:40 PM
User is offlinevaly.m
604 posts
1st


Re: Structural .CDX file not found...
 (N/A) Modified By valy.m  on 8/6/2012 2:42:17 PM)
Asa?
SELECT grid1recordsource
DELETE TAG ALL
???

Cum stiu care e denumirea tabelei temporare care are aliasul "grid1recordsource"?
Un simplu USE IN SELECT("grid1recordsource") nu sterge automat si tabela temporara din spatele selectului, respectiv indexul?

Vali Maties - Beginner programmer
 8/6/2012 3:51:28 PM
User is offlineDaniel Buduru
3508 posts
1st




Re: Structural .CDX file not found...
 (N/A)
? DBF(alias) returneaza numele tabelei - pentru cursor va avea extensia tmp
? CDX(alias) retuneaza numele fisierului iondex structural
Select sterge tabela si cdx-ul, si face o alta tabela, dar fara CDX, de data asta. Daca exte vreun index in uz si ceva utilizeaza indexul, vei primi mesajul care zice ca fisierul index structural nu exista.
Am avut de-a face cu asta in clasa mea grid, si asta a fost rezolvarea.
Daca imi aduc bine aminte, problema aceasta s-a rezolvat in vfp9 sp1 sau sp2 - desi dateaza cel putin de la vfp6.


Daniel Buduru
 8/6/2012 3:54:08 PM
User is offlineDaniel Buduru
3508 posts
1st




Re: Structural .CDX file not found...
 (N/A)
 valy.m wrote
Asa?
SELECT grid1recordsource
DELETE TAG ALL



SET ORDER TO 0 IN (ogrid.recordsource)
DELETE TAG ALL OF (CDX(ogrid.recordsource))


Daniel Buduru
 8/6/2012 4:04:18 PM
User is offlinevaly.m
604 posts
1st


Re: Structural .CDX file not found...
 (N/A)
Cu toate ca am folosit APPEND FROM DBF(alias) nu mi-a trecut prin cap.... Asta e, te gandesti la alte solutii cand e una simpla intotdeauna.
Nu cred sa se fi rezolvat, pentru ca SP2 folosesc si eu.

Vali Maties - Beginner programmer
  Visual FoxPro  Baze de date, tabele, view-uri si indecsi  Structural .CDX...

Search  Forum Home         

 Google Ads Minimize

    

Copyright 2002-2013 Profox   Terms Of Use  Privacy Statement