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  Verificare secv...
 Verificare secventa numar in bd
 
 10/29/2011 10:58:10 AM
User is offlinechucki21
152 posts
5th


Verificare secventa numar in bd
 (N/A)
Buna ziua,

Am o mare problema cu crearea unui script de verificare a introducerii unui document.Ce trebuie sa faca scriptul; in momentul in care utilizatorul da salveaza acesta apeleaza de fapt o procedura de verificare a acelui document, mai exact:

Am in tabela campurile :
nrcrt dsrnumber dsrid year
1 120 7000 2011
2 120 7011 2011

Scriptul verifica introducerea datelor urmatoare (1, 120,7009,2011) daca detecteaza in tabela ca mai exista o secventa 7000 (dsrid) atunci sa-l anunte pe utilizator p.s (7000 si 7009 avand acelasi numar nu trebuie sa existe decat unu din ele) pentru asta am facut:

if
exists(select * from tabela where @dsrid in (7000,7009) and year=@year and dsrnumber=@dsrnumber)
begin
raiserror('Exista deja secventa 7000 ',16,1)
return
end

Pentru cazurile in care in tabela nu apare nici 7000 si nici 7009 atunci am creat scriptul: IF..etc
exists(select * from tabela where dsrid=@dsrid and @dsrid in (7000,7009) and year=@year and dsrnumber=@dsrnumber


Problema mea este urmatoarea:

Ambele situatii , ambele scripturi trebuie sa apara intr-o singura procedura.Utilizatorul da salveaza si procedura verifica problema apare atunci cand sa presupunem secventele 7000 si 7009 nu se gasec in tabela si totusi din cauza primului script sa spunem nu pot salva documentul.Exista vreo varianta in care intr-un singur IF sa verific tot? sau cum sa fac astfel incat sa nu se bata cap in cap aceste scripturi.Unul nu ii da voie celuilalt sa salveze.

Multumesc frumos
 10/30/2011 2:12:05 AM
User is offlineGrigore Dolghin
3590 posts
www.class-software.eu
1st






Re: Verificare secventa numar in bd
 (N/A)
Da' 7008 e bun? sau e la fel ca 7009? Daca da, ai putea pur si simplu sa imparti cifra aia la cat trebuie astfel incat rezultatele sa fie consecutive. Mai multe nu pot sa-ti zic fiindca n-ai spus nimic de modul in care se face validarea cifrei (cand e buna si cand nu).

De exemplu, daca 7000 ala trebuie sa fie din 100 in 100 (adica 7000, 7100, 7200, etc), imparte numarul introdus de user la 100. O sa-ti dea 70, 71, 72, 73, etc si verifici daca in tabela mai ai vreo valoare care impartita la 100 iti da cat ti-a dat asta de la user. Daca da, e duplicat, out.

Grigore Dolghin
Visual FoxPro MVP 2006 - 2010
Class Software
My blog
  Visual FoxPro  Client/Server  Verificare secv...

Search  Forum Home         

 Google Ads Minimize

    

Copyright 2002-2010 Profox   Terms Of Use  Privacy Statement