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  Cod, sintaxa si comenzi  variabila nu &q...
 variabila nu "functioneaza"
 
 12/8/2010 8:30:45 PM
User is offlinepd
167 posts
5th


variabila nu "functioneaza"
 (N/A)
Intr-un prg incerc sa fac o statistica. Am comenzi de genul:
SELECT SUM(p1tva) FROM tabela WHERE p1ab=1 AND lc=11 AND anc=2010 INTO ARRAY tva1
SELECT SUM(p2tva) FROM tabela WHERE p2ab=1 AND lc=11 AND anc=2010 INTO ARRAY tva2
apoi
tvatot=NVL(tva1[1,1],0)+NVL(tva2[1,1],0)

la sfarsit fac un insert intr-un cursor creat anterior.
Problema pe care o am e ca variabile de genul tvatot raman cu valoare 0. Am incercat un debug step into si in fereastra Locals tutul e ok, tvatot luand valoarea corecta dar daca am pus in Watch variabila ca sa vad si acolo valoarea, din pacate valoarea ramane 0.
Nu am mai patit asa ceva. Care ar fi problema?
 12/8/2010 11:45:05 PM
User is offlineGrigore Dolghin
3590 posts
www.class-software.eu
1st






Re: variabila nu "functioneaza"
 (N/A)
Daca cele trei linii de cod pe care le-ai scris sunt in aceeasi functie/procedura si NU se apeleaza nimic intre timp, si, simultan, variabila in Locals difera de variabila din Watch, atunci singura explicatie e ca ai o eroare de scriere (ferestrele watch si locals afiseaza variabile diferite).

Altfel, e ca si cum ai zice asta:
x = 5
si in locals vezi x = 5 iar in watch vezi x = 10. Nu se poate, deci cel mai probabil sunt variabile diferite.

Daca vrei sa fii sigur ca scapi de problema, poti sa faci SELECT in cursoare:
SELECT SUM(p1tva) As camp FROM tabela WHERE p1ab=1 AND lc=11 AND anc=2010 INTO cursor crs1
SELECT SUM(p2tva) As camp FROM tabela WHERE p2ab=1 AND lc=11 AND anc=2010 INTO cursor crs2
tvatot = crs1.camp + crs2.camp
si gata, ai scapat.

Grigore Dolghin
Visual FoxPro MVP 2006 - 2010
Class Software
My blog
 12/10/2010 4:53:24 PM
User is offlinepd
167 posts
5th


Re: variabila nu "functioneaza"
 (N/A)
Multumesc pentru raspuns!
Intre timp am gasit problema (asa ceva se intampla doar oamenilor lenesi care folosesc copy/paste).
In procedura de generare a statisticii am o gramada de variabile (pt TVA, incasari, restante...). Toate variabilele le inserez in final intr-un cursor pe baza caruia fac un raport.
La denumirea campurilor cursorului am folosit din greseala acelasi nume ca numele variabilelor (copy/paste) si de aici...Le-am pus un 1 in coada si problema e rezolvata.
 12/10/2010 9:02:05 PM
User is offlineGrigore Dolghin
3590 posts
www.class-software.eu
1st






Re: variabila nu "functioneaza"
 (N/A)
Aha, deci am fost pe-aproape, doar ca nu erau variabile diferite ci o variabila si un camp dintr-un cursor. :)

Grigore Dolghin
Visual FoxPro MVP 2006 - 2010
Class Software
My blog
  Visual FoxPro  Cod, sintaxa si comenzi  variabila nu &q...

Search  Forum Home         

 Google Ads Minimize

    

Copyright 2002-2010 Profox   Terms Of Use  Privacy Statement