Search  
Wednesday, May 23, 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  Visual FoxPro in general  Replace intr-un...
 Replace intr-un camp cu 2 zecimale
 
 12/30/2011 10:39:20 AM
User is offlinedalinx
124 posts
5th


Replace intr-un camp cu 2 zecimale
 (N/A)
Va salut ! AM o tabela unde doresc sa fac un replace de genul: replace camp with camp + camp1 "camp" si "camp1" au 2 zecimale. Replace-ul se efectueaza, dar fara zecimale. AM pus inainte "set decimals to 2" si "set fixed on" dar degeaba. Nu stiu care sa fie problema. Multumesc mult pentru ajutor.
 12/30/2011 7:37:31 PM
User is offlineSCHRECK
156 posts
5th


Re: Replace intr-un camp cu 2 zecimale
 (N/A)
Verifica inca o data daca in structura tabelei campurile 'cam', 'camp1' sunt definite N(x,2). Eu am incercat si functioneaza
Mai verifica daca n-ai cumva o rutina care sa-ti modifice dinamic structura tabelei adica sa contina o comanda de genul
ALTER TABLE tabela ALTER COLUMN camp N(x,0)
 1/3/2012 12:53:42 PM
User is offlinedalinx
124 posts
5th


Re: Replace intr-un camp cu 2 zecimale
 (N/A)

Scuze de intarziere.

Ambele campuri sunt de tip numeric (10,2). Nu folosesc deloc in program comanda Alter Table. Am verificat si inainte si dupa rulare tabela, ambele campuri sunt de tip numeric (x,2). Interesant este ca pana acum o luna nu a facut astfel de probleme. Aplicatia ruleaza de 8 ani. Sunt in impas.

Multumesc mult !

 1/3/2012 1:05:57 PM
User is offlinedalinx
124 posts
5th


Re: Replace intr-un camp cu 2 zecimale
 (N/A)
Am pus chiar si un punct de oprire. Am verificat chiar inainte sa fac "gather memvar", structura tabelei cu pricina. Are campurile de tip numeric (10,2).
 1/3/2012 1:52:35 PM
User is offlineMarian Dobre
398 posts
3rd


Re: Replace intr-un camp cu 2 zecimale
 (N/A)
Comenzile REPLACE, SCATTER sau GATHER nu distrug structura unei tabele. Necazul este in alta parte. Pune puncte de intrerupere la intrarea in procedura si inainte de inlocuire si verifica acolo structura fisierelor. S-ar putea fa folosesti o comanda copy de pe niste fisiere cu structura alterata.

Orice putere omeneasca este un compus de rabdare si de timp. Balzac
 1/3/2012 2:31:43 PM
User is offlineDaniel Buduru
2332 posts
1st




Re: Replace intr-un camp cu 2 zecimale
 (N/A)
 dalinx wrote
Am pus chiar si un punct de oprire. Am verificat chiar inainte sa fac "gather memvar", structura tabelei cu pricina. Are campurile de tip numeric (10,2).


Daca la inlocuire dispar zecimalele, cum arata valoarea? Este truncheata sau rotunjita?

Introdu un pas intermediar, calculeaza noua valoare intr-o variabila apoi inlocuieste campul cu aceasta variabila.
Pune un breakpoint chiar inainte de replace si examineaza variabila, vezi daca este intreg sau are zecimale.



Daniel Buduru
 1/3/2012 4:26:16 PM
User is offlineiojibrezan
40 posts


Re: Replace intr-un camp cu 2 zecimale
 (N/A)
Verifica daca valoarea nu este mai mare decit 9999999.99
 1/3/2012 4:32:46 PM
User is offlineSCHRECK
156 posts
5th


Re: Replace intr-un camp cu 2 zecimale
 (N/A)
Daca inainte a functionat cu acelasi cod si acum nu sa nu fi patit ceva tabela
Fa un experiment
Redenumeste vechea tabela si creaza una noua manual (nu cu Copy stru), recreaza indexsi si adauga inregistrarile cu APPEND din vechuil tabel si incearca asa
Omul la disperare incearca orice
 1/5/2012 12:18:31 AM
User is offlinedalinx
124 posts
5th


Re: Replace intr-un camp cu 2 zecimale
 (N/A)
Asta era solutia. Valoarea era mai mare decat 9999999.99.
Multumesc mult pentru sfaturi si timpul acordat !
O zi buna !
 1/5/2012 12:18:41 AM
User is offlinedalinx
124 posts
5th


Re: Replace intr-un camp cu 2 zecimale
 (N/A)
Asta era solutia. Valoarea era mai mare decat 9999999.99.
Multumesc mult pentru sfaturi si timpul acordat !
O zi buna !
 1/5/2012 11:09:12 AM
User is offlineMarian Dobre
398 posts
3rd


Re: Replace intr-un camp cu 2 zecimale
 (N/A)
Pai aici nu este vorba de modificarea structurii tabelei ci de afisarea continutului unui camp al sau.
Campul tau este N(10,2) si vrei sa-l umpli cu 123456789.12.
Ca sa-ti fie afisat corect continutul campului ar fi trebuit ca partea intreaga a numarului sa aiba maxim 7 cifre. Aici Foxu incearca sa fie mai destept decat trebuie. Daca partea intreaga a numarului cu care faci inlocuirea ar fi avut 11 cifre ai fi obtinut Numeric overflow. Data was lost.


Orice putere omeneasca este un compus de rabdare si de timp. Balzac
 1/5/2012 2:00:36 PM
User is offlineGrigore Dolghin
3590 posts
www.class-software.eu
1st






Re: Replace intr-un camp cu 2 zecimale
 (N/A)
Ceea ce ar fi fost foarte bine. Detest cand se intampla asta. Daca era o eroare VREAU SA VAD EROAREA, nu sa faca el ce-si inchipuie ca vreau eu.

Grigore Dolghin
Visual FoxPro MVP 2006 - 2010
Class Software
My blog
  Visual FoxPro  Visual FoxPro in general  Replace intr-un...

Search  Forum Home         

 Google Ads Minimize

    

Copyright 2002-2010 Profox   Terms Of Use  Privacy Statement