Search  
Saturday, February 11, 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  eroare update t...
 eroare update tabela
 
 7/13/2010 11:38:16 AM
User is offlineancaemilia
8 posts


eroare update tabela
 (N/A)
Am un cod de update pentru cantitatile dintr-o tabela: Select stocuri LOCATE FOR codm=thisform.text6.value IF FOUND() ct=stocuri.cantitate UPDATE stocuri SET cantitate=CT-cant ENDIF Problema este ca nu se modifica toata coloana cu aceeasi valoare. Am gresit ceva la cod? sau trebuie sa setez ceva anume la tabela
 7/13/2010 11:39:26 AM
User is offlineancaemilia
8 posts


Re: eroare update tabela
 (N/A)
folosesc Visual FoxPro 9
 7/13/2010 11:56:18 AM
User is offlineDaniel Buduru
2141 posts
1st




Re: eroare update tabela
 (N/A)
 ancaemilia wrote
Am un cod de update pentru cantitatile dintr-o tabela: Select stocuri LOCATE FOR codm=thisform.text6.value IF FOUND() ct=stocuri.cantitate UPDATE stocuri SET cantitate=CT-cant ENDIF Problema este ca nu se modifica toata coloana cu aceeasi valoare. Am gresit ceva la cod? sau trebuie sa setez ceva anume la tabela


1. Nu prea inteleg algoritmul pe care vrei sa-l implementezi.
Mai intai, din tabela stocuri, iei stocul curent pentru articolul cu codm=(ce ai in text6) si il pui in variabila CT
Apoi actualizezi la toate inregistrarile din tabela stocuri campul cantitate la valoarea cantitate=CT-cant
Cant poate fi un camp din tabela stocuri sau o variabila.
Ce vrei sa obtii de fapt? Nu cred ca vrei sa pui toata tabela de stocuri la acceasi cantitate.

2. Daca deja folosesti comenzi sql, ar fi bine sa renunti la comenzile xbase: scan, locate, seek ...
Codul s-ar scrie asa:
lvCodM=thisform.text6.value
SELECT * FROM stocuri WHERE codm=lcCodM INTO CURSOR crsStoc
IF RECC("crsstoc")>0
   UPDATE stocuri SET cantitate=ct-cant WHERE stocuri.codm=lvCodm
ENDIF

sau si mai direct:

lvCodM=thisform.text6.value
UPDATE stocuri SET cantitate=cantitate-cant WHERE stocuri.codm=lvCodM AND cantitate>=cant  &&nu vrei sa ai stoc negativ
IF _tally=0
    ** Nu s-a gasit articolul sau stocul e insuficient
    **Aici pui cod pentru tratarea acestei situatii.
ENDIF

Ca sa te asiguri ca in text6 nu ai un cod care nu exista in stocuri, inlocuiesti text6 cu cun combobox pe care il populezi cu codurile din stocuri.


Daniel Buduru
 7/13/2010 12:27:13 PM
User is offlineancaemilia
8 posts


Re: eroare update tabela
 (N/A)
Acuma mi-am dat seama, am cam amestecat valorile pe aici. Ms pentru cod si lamurire.
  Visual FoxPro  Cod, sintaxa si comenzi  eroare update t...

Search  Forum Home         

 Google Ads Minimize

    

Copyright 2002-2010 Profox   Terms Of Use  Privacy Statement