Search  
Wednesday, September 08, 2010 ..:: 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!
SearchForum Home
  Visual FoxPro  Visual FoxPro in general  Proiect atestat...
 Proiect atestat
 
 3/14/2010 11:25:08 AM
User is offlineflorin2005840
557 posts
1st


Proiect atestat
 (N/A)
Salut. Sunt un elev de clasa a XII-a si trebuie sa imi fac proiectul de atestat. La inceput mi se parea mult mai usor dar din cate observ este mai greu decat am crezut. Limbajul de programare Visual FoxPro este destul de complex, si nu tine numai de programarea interactiva cu ajutorul wizard-urilor, cum  am invatat la liceu. Rugamintea mea este urmatoarea : ati  putea sa ma indrumati si pe mine in realizarea acestui atestat, in sensul de a-mi oferi niste raspunsuri , variante, etc...? Am stat ieri toata ziua si am citit diverse topicuri pe acest forum si am aflat chestii interesante pe care am incercat sa le aplic dar nu prea am reusit. Sunt si un pic presat de timp, astfel ca proiectul de atestat trebuie facut in2 saptamani.
Ocolind subiectul discutiei apreciez interesul pe care il manifesta administratorii site-ului si utilizatorii experimentati fata de problemele intalnite de noii utilizatori Visual Fox Pro. Ati avut  o initiativa foarte buna cu derularea acestui site. Astept un raspuns daca se poate sa ma ajutati.

Deci, folosesc Visual FoxPro 9. Am ales ca fiind tema proiectului un program (baza de date) pentru gestiunea unui dealer de telefoane.
Am inceput prin a crea un nou proiect, in care am creat o noua baza de date. De aceasta baza de date, m-am gandit sa atasez 3 tabele: Telefoane / Specificatii / Cumparator. Ceea ce urmeaza nu prea stiu. Adica nu stiu care pe ce camp sa pun cheia primara, si in plus nu stiu cum ar trebuia sa leg intre ele tabelele. Va rog ajutati-ma!
 3/14/2010 1:04:16 PM
User is offlinegldesign
388 posts
3rd


Re: Proiect atestat
 (N/A)

Timpul pe care il ai este cam scurt.

Incerc sa te ajut la tabele.

Pt. inceput iti sugerez si o tabela Producator cu structura:

 - id N(6)

 - nume C(40) ; numele producatorului (fabricantului) ex. Nokia,...

Eventual o alta tabela Model cu structura

  - id N(6)

 - idprod N(6) ; id producatorului (fabricantului)

 - denumire C(40) ; modelul telefonului

 

Propune aici structura celorlalte tabele

 3/14/2010 7:09:59 PM
User is offlineflorin2005840
557 posts
1st


Re: Proiect atestat
 (N/A)
Nu, deci eu ma gandeam in felul urmator:
- o tabela Telefoane care sa contina Id_Telefon  / Brand / Model / Pret  / Stoc
 - o tabela Detalii care sa contina specificatii legate de fiecare telefon. Aici pot alege dintr-o varietate de campuri  de ex ( Caracteristici principale / Imagini si sunet / Conectivitate / Alte caracteristici ) . Aici intervine ajutorul de care am nevoie. Ce camp trebuie  sa includ aici ca sa fac legatura intre tabele ? tot Id_telefon si il fac cheie primara sau cum ?
- o a treia tabela Cumparator care sa contina  campuri legate de un posibil cumparator, cum ar fi numele, prenumele , adresa, cnp , data incheiere contract ..etc...Aici de asemenea spuneti-mi va rog ce camp tre sa  includ  si pe ce sa pun cheia primara pentru a realiza  conexiunile  dintre tabele.
 
 3/14/2010 7:24:26 PM
User is offlineflorin2005840
557 posts
1st


Re: Proiect atestat
 (N/A)
Nu stiu daca ai inteles exact ce am vrut sa zic, deoarece nu  prea cunosc terminologia si conceptele SGBD , de aceea vin cu un exemplu :
Acelasi   lucru l-am observat pe un alt topic tot in acest forum, deschis de Goody, tot un elev ca si mine care solicita ajutorul . Tema pe care a ales-o este o biblioteca scolara. Tabele lui aratau cam asa:


"Am facut proiectul in VFP , baza de date si implicit tabelele care arata asa :

Autori -> IDautor | Nume
Carte -> IDcarte | IDautor | Titlu | Volum | Tstoc | Dstoc | Pret | Sector | Rand | Corp | Raft
Abonament -> IDabonat | Nume | Clasa
Imprumut -> IDimprumut | IDabonat | IDcarte | DTimprumut | DTtermen | DTreturnare
(DTimprumut-data imprumutului | DTtermen- data termen | DTreturnare- data la care sa returnat cartea)

Am creeat tabelele , urmatorul pas ar fii popularea tabelelor . Am citit ca ar trebui sa stabilesc cheile primare , asta nu ar trebui sa o fac inainte de a popula tabelele ? . Partea urata este ca aici se termina firul , nu am invatat ce urmeaza , cum se face si in ce mod . Am luat 2 carti/tutoriale  Baze de date in VFP si Manual VFP , si am incercat sa le citesc , nu prea am inteles mare lucru fara un model , voi mai parcurge din nou pentru o aprofundare mai completa .

Multumesc ! "


Cam asta incerc si eu sa fac. Care ar putea fi campurile cheie la mine ? Si cum as putea sa le leg intre ele? As aprecia daca  mi-ar putea da niste sfaturi  si domnul Grigore Dolghin, sau domnul Daniel Buduru, cei care l-au ajutat, in mare, si pe Goody. As fi foarte recunoscator.
Si iti multumesc  ca incerci sa ma ajuti Gldesign. Sper sa nu fiu stresant !
 3/14/2010 7:37:18 PM
User is offlinegldesign
388 posts
3rd


Re: Proiect atestat
 (N/A)

In tabela Telefoane ce se intampla daca introduci o data Nokia, alta data Nokya sau alte variante ale aceluiasi nume?

 La fel si la model. Daca introduci o dam M300, alta data M 300 (cu spatiu dupa M)? E acelasi model? (Modelul e unu ipotetic, nu stiu daca exista)

Acelasi model de telefonul il primesti o data cu un pret iar dupa un timp cu alt pret. La vanzare va avea acelasi pret?

Pretul il tii in lei sau in valuta?

Acceptand ideea cu cele 2 tabele propuse de mine, tabela telefon ar trebui sa aiba structura:

 - id N(6)

 - idmodel N(6) ; id-ul modelului pe care il iei din tabela model

 - stoc N(6)

 - pret  N(10,2)

In tabela model poti introduce si campurile pt. caracteristici pe care le-ai propus in Detalii

Tabela Cumparator:

 - id N(6)

 - Nume C(30)

 - prenume C(30)

 - adresa C(50) ; aici ai putea face campuri diferite pt. judet, localitate, strada, numar, bloc, ap

 -cnp C(13)

 - tipul C(1) , persoana fizica/juridica

Iti mai trebuie o tabela cu vanzarile in care sa ai id-ul cumparatorului, id-ul modelului, cantitate, data ...

 3/14/2010 7:41:01 PM
User is offlineoviciandrus
720 posts
www.comptech.ro
1st




Re: Proiect atestat
 (N/A)
Salut Florin!

Am inteles că tema ta este "Gestiunea unui dealer de telefoane" şi că ai puţin timp la dispoziţie. Mai întâi trebuie şă-ţi stabileşti ce vrei să facă programul. Chestia asta se face în limbaj natural.
După ce vedem o listă cu ceea ce trebuie să facă programul putem trece la proiectarea bazei de date. Adică cerinţele determină structura bazei de date şi nu baza de date determină cerinţele.
În concluzie, aşteptăm o listă cu cerinţe descrise în limba română cât mai amănunţit.
 3/14/2010 8:49:51 PM
User is offlinegldesign
388 posts
3rd


Re: Proiect atestat
 (N/A)
Credeam ca ai vazut similitudine dintre tabelele Autori / Producator, Carte /Model ...
Stiu cat se invata Fox la liceu pt. ca fica mea a terminat acu trei ani un liceu de info si era in situatia ta.
Pt atestatul ei am stabilit intai ce trebuie sa faca proiectul (asa cum bine a punctat Ovi) apoi am stabilit tabelele si nu a mai fost nevoie sa le modifice structura pana la finalizarea proiectului.
Ma bucur ca mai e cineva sa te ajute pe forum pt. ca eu in timpul zilei nu am acces la acest site (politica administratorilor de retea din firma mea) si de aceea ti-am si propus structurile tabelelor fortind putin lucrurile (timpul de 2 saptamani e foarte scurt pt. cat stii - fara intentia de a te jigni)
 3/15/2010 3:08:15 PM
User is offlineflorin2005840
557 posts
1st


Re: Proiect atestat In primul rand va multumesc pentru ajutorul dezinteresat pe care m-il oferiti si
 (N/A)
In primul rand va multumesc pentru ajutorul dezinteresat pe care m-il oferiti si inteleg ca, in primul rand este proiectul meu de atestat, si eu trebuie sa ma "strofoc" sa iasa cat mai bine si ca practic timpul pe care il alocati pentru a ma ajuta provine practic din timpul dvs liber , asa ca o  sa incerc sa fiu cat mai atent la detaliile pe care mi le dati si sa imi insusesc notiunile de baza. De fapt asta am si inceput sa fac. Weekend-ul acesta am umblat pe Fox toata ziua, si am citit foarte multe topicuri de pe acest forum, incercand sa pun in aplicare chestiile  noi.

Deci, proiectul meu suna cam asa:    Un program " Gestiunea unui dealer de telefoane" realizat in Visual FoxPro 9,  care sa permita unui posibil utilizator sa vada toate telefoane din magazin, sa caute un telefon , sa vada daca este  in stoc sau nu , sa  incheie un contract, sa completeze baza de date cu un nou model, sa stearga unul , etc.
De exemplu vine un client la mine, si imi cere un telefon .   Aici intervine programul, care  clasifica telefoanele in mai multe cateogorii, prin niste interogari pe care sa pun niste conditii referitoare la pret ( de ex  gratis, preturi mai mici de 100 euroi, mai mari , etc) , functiile telefonului ( multimedia, business, de baza, internet , nou , cum sunt si la Orange daca stiti ) , etc. Apoi butonul cu preturi contine o trimitere la un raport in care sa prezint telefoanele respective.   Apoi clientul isi alege unul dintre telefoanele pe care i le-am prezentat. Datoria mea in continuare este sa ii vand respectivului telefonul, adica sa fiu in stare sa inchei un contract , sa-l introduc in baza de date la cumparator si sa completez campurile corespunzatoare, sau sa pot sterge un client care a renuntat la contract. Cam asta ar fi , in mare suportul   pe care trebuie sa-mi construiesc programul.
Formularele, butoanele,  imaginea de prezentare , rapoartele, cred ca  ma pot descurca la ele. Problemele care  vor aparea pe parcurs le voi pune  in discutie aici. Problema este insa la crearea tabelelor.  Nu prea  stiu cum sa fac legaturile intre ele, asta nu prea am facut la liceu.  De ex caut un telefon  in   tabela telefoane, dar am nevoie si de detaliile telefonului respectiv din tabela detalii, etc.. Cred ca m-ati inteles.


Gldesign, da preiau ideea ta cu tabelele, respectiv telefon , model, cumparator, vanzari. De fapt asta vreau , sa ma ajutati sa le construiesc pentru ca eu nu prea stiu cum sa le leg.
Multumesc inca o data de ajutor!!!

 3/15/2010 4:02:00 PM
User is offlineoviciandrus
720 posts
www.comptech.ro
1st




Re: Proiect atestat In primul rand va multumesc pentru ajutorul dezinteresat pe care m-il oferiti si
 (N/A)
Salut Florin!

La prima vedere, ai nevoie de urmatoarele tabele:

1. MODELE, cu structura
IDMODEL - cheie primara, identificator unic
MODEL - denumirea modelului

2. FUNCTII
IDFUNCTIE
FUNCTIE

3. TELEFOANE, cu strucura
IDTELEFON,
TELEFON = denumirea telefonului
IDMODEL - "legatura" cu tabela MODELE
IDFUNCTIE
PRET

4. CLIENTI
IDCLIENT
CLIENT - denumirea clientului
..... alte informatii

5. CONTRACTE
IDCONTRACT
NUMAR
DATA
IDCLIENT = "legatura" cu tabela clienti
IDTELEFON = "legatura" cu tabela telefoane
... alte informatii necesare contractului
 3/15/2010 4:51:26 PM
User is offlineflorin2005840
557 posts
1st


Re: Proiect atestat
 (N/A)
Ca sa raspund la intrebarile tale Gldesign, daca fac tabelele asa cum mi-ai spus evit intamplarile de genul acela , adica daca am o inregistrare M300 si  vreau sa introduc un nou model M 300 ( cu spatiu, nestiind ca exista deja, dar e fara spatiu  )  , voi putea vedea ca de fapt acel model se gaseste in magazin dupa id nu (care este unic)  ?
Referitor la pret, conteaza daca este in lei sau in valuta ? probabil voi alege valuta.
.
Incerc aici sa fac un sumar al tabelelor:

Deci o prima tabela este cea TELEFOANE care contine:
          id  ( numeric 6 - cheie primara )   sau  il fac integer autoinc ???
          id _model   ( numeric 6)
          stoc (character 15 - deoarece vreau sa evit actualizarea campului stoc in cazul in care as vinde un telefon, deaorece nu prea stiu functiile , Deci va fi disponibil / indisponibil)
          pret  ( numeric 10,2 sau currency daca ma hotarasc la euro )

A doua tabela PRODUCATOR  are structura:
          id_prod ( numeric 6 )
          nume ( character 40)

A 3a tabela MODEL cu strucutra :
          id_model ( numeric 6)
          id_prod (numeric 6)
          denumire ( character 40 )
          caracteristici ( aici cum pot face campuri diferite. De ex Caracteristici este titlul  sa zicem si celelalte care le-am menitionat eu Imagini si sunet / Conectivitate , etc ar fi subtitlurile in care urmeaza sa scriu explicit detaliile . Am dat un exemplu impropriu cazului  meu dar am vrut sa fiu cat mai precis )

A 4a tabela CUMPARATOR
          id_cump
          nume ( character 30 )
          prenume ( character 30 )
          adresa ( aceeasi problema cu campurile diferite  , ca la caracteristici )
          cnp (numeric 14)
          tip ( character 40 persoana fizica / juridica )

A 5a tabela VANZARI
          id_cump ( numeric 6)
          id_model (  numeric 6)
          cantitate ( numeric 3)
          data ( date 10)
          perioada contractuala ( general 10 ; de ex 1 an ) sau expirare contract .


Ce parere ai ? Astept sfaturi!
Am rugamintea daca se poate sa copiezi structura bazei de date  din mesajul meu si sa modifici acolo unde e nevoie ca sa vad eu diferentele,astfel scurtezi si din timpul in care ai fi tastat ).
Si te rog frumos sa-mi precizezi care trebuie facute chei primare si apoi  sa vad cum fac legaturile dintre tabele in database designer.
Si as avea o  intrebare. Sa presupunem ca vine un  client si isi  face abonament. Mai apoi vreau sa caut acel client in baza de date. Problema sta in felul urmator: n-ar trebui sa mai fac o tabela CNP care sa contina 2 campuri, ID_CNP si CNP  , fiecare individ avand drept cod unic acest cnp. si in loc de CNP din tabela CUMPARATOR  sa  pun ID_CNP ???


P.S. : Am remarcat diferenta de varsta ( citez : "fiica mea a terminat acu trei ani liceu de info " ) , de aceea normal ar fi sa vorbesc cu pronume de politete si nu personale , dar am incercat  sa evit sa lungesc mesajul, sa scriu de fiecare data dumneavoastra ....dar  trebuia sa va intreb intai , se poate sa vorbesc  la per tu ? ( desi intrebare asta isi avea rostul mai demult, imi cer scuze ) .


         
         
         

 3/15/2010 4:53:30 PM
User is offlineflorin2005840
557 posts
1st


Re: Proiect atestat In primul rand va multumesc pentru ajutorul dezinteresat pe care m-il oferiti si
 (N/A)
in timp ce am tastat eu se pare ca am primit un raspuns! am vazut raspunsul dupa ce am postat eu. ma uit acum pe structura pe care mi-ati prezentat-o dvs.
 3/15/2010 4:59:27 PM
User is offlineflorin2005840
557 posts
1st


Re: Proiect atestat In primul rand va multumesc pentru ajutorul dezinteresat pe care m-il oferiti si
 (N/A)
 florin2005840 wrote
in timp ce am tastat eu se pare ca am primit un raspuns! am vazut raspunsul dupa ce am postat eu. ma uit acum pe structura pe care mi-ati prezentat-o dvs.

As putea corela cele doua structuri. Adica as mai aduga dintre campurile prezentate de dvs la mine in tabele sau  invers . Insa ar fi corecta si structura mea ? ( Incerc sa inteleg logic cum se fac legaturile )
 3/15/2010 5:37:40 PM
User is offlineoviciandrus
720 posts
www.comptech.ro
1st




Re: Proiect atestat In primul rand va multumesc pentru ajutorul dezinteresat pe care m-il oferiti si
 (N/A)
1. MODELE, cu structura
IDMODEL - cheie primara, identificator unic
MODEL - denumirea modelului

2. FUNCTII
IDFUNCTIE
FUNCTIE

3. PRODUCATORI
IDPROD
PRODUCATOR


3. TELEFOANE, cu strucura
IDTELEFON,
TELEFON = denumirea telefonului
IDMODEL - "legatura" cu tabela MODELE
IDFUNCTIE
IDPROD
GREUTATE = caracteristica 1
IMAGINE = caracteristica 2
... cate caracteristici vrei

STOC - de tip logic (.T. = disponibil, .F. = indisponibil)
PRET

4. CLIENTI
IDCLIENT
NUME
PRENUME
STRADA
BLOC
NUMAR
CNP
TIP C(1) => "F" - fizica, "J" - juridica

5. CONTRACTE
IDCONTRACT
NUMAR
DATA
IDCLIENT = "legatura" cu tabela clienti
IDTELEFON = "legatura" cu tabela telefoane
CANTITATE
PERIOADA
 3/15/2010 5:40:31 PM
User is offlineoviciandrus
720 posts
www.comptech.ro
1st




Re: Proiect atestat In primul rand va multumesc pentru ajutorul dezinteresat pe care m-il oferiti si
 (N/A)
Am incercat sa comasez eu cele doua variante. Am considerat CONTRACTE = VANZARI.
 3/15/2010 5:46:29 PM
User is offlinegldesign
388 posts
3rd


Re: Proiect atestat In primul rand va multumesc pentru ajutorul dezinteresat pe care m-il oferiti si
 (N/A)
Sunt de acord cu structura propusa de ovi
As pune stocul de tip numeric pentru ca poti avea mai multe bucati din acelasi model.
Vine un client si vrea 3 bucati pt. el, sotie si amanta
De unde stii daca ai in stoc 3 bucati? Te duci in magazie si verifici cutiile?
De aceea as merge pe numeric su nu pe logic (am in stoc sau nu).

Nu ma deranjeaza persoana 2-a singular. Ai vazut ca asta e modul de conversatie pe forum
 3/15/2010 5:46:57 PM
User is offlineflorin2005840
557 posts
1st


Re: Proiect atestat In primul rand va multumesc pentru ajutorul dezinteresat pe care m-il oferiti si
 (N/A)
O sa  merg pe modelul acesta. Voi incepe efectiv crearea tabelelor, si le voi popula. Insa am i problema la campurile cu id.  Nu stiu care trebuie sa le cresc eu cu cate o unitate si pe care nu, pentru ca sa corespunda atunci cand fac legaturile.
 3/15/2010 5:48:33 PM
User is offlineflorin2005840
557 posts
1st


Re: Proiect atestat
 (N/A)
aaa si inca ceva. Toate campurile din fiecare tabel , respectiv, idclient, idfunctie, id telefon , adica primele campuri sunt chei primare toate nu ?
 3/15/2010 5:51:18 PM
User is offlinegldesign
388 posts
3rd


Re: Proiect atestat
 (N/A)
Da sunt chei primare si punele integer autoinc asa cum s-a prpus la celalat atestat de catre Daniel (astea vor creste automat)
 3/15/2010 5:51:18 PM
User is offlineoviciandrus
720 posts
www.comptech.ro
1st




Re: Proiect atestat
 (N/A)
Toate sunt chei primare si propun sa le pui integer cu autoinc.
Si hai sa facem stocul numeric aşa cum corect s-a observat.
 3/15/2010 5:57:38 PM
User is offlineoviciandrus
720 posts
www.comptech.ro
1st




Re: Proiect atestat
 (N/A)
La crearea indecşilor, primele ID-uri le pui primary cu autoincrementare celelalte ID-uri care apar, dacă apar, le pui regular
 3/15/2010 5:59:53 PM
User is offlineflorin2005840
557 posts
1st


Re: Proiect atestat
 (N/A)
le pun regular si  ce valori pun in ele ? sau nu pun eu valorile, si ce vor pune singure atunci cand unesc tabelele?
 3/15/2010 6:01:33 PM
User is offlineflorin2005840
557 posts
1st


Re: Proiect atestat
 (N/A)
aaaa iar daca facem stocul numeric, apoi va trebui si actualizat in functie de vanzari sau de noile inregistrari. Si nu prea stiu cum sa fac sa se actulizeze:(
 3/15/2010 6:03:40 PM
User is offlineoviciandrus
720 posts
www.comptech.ro
1st




Re: Proiect atestat
 (N/A)
Incepe cu popularea tabelelor care au doar un singur ID pe cel PRIMARY si apoi scrie aici cu ce valori le-ai populat!
 3/15/2010 6:04:37 PM
User is offlinegldesign
388 posts
3rd


Re: Proiect atestat
 (N/A)
Asta sa fie singura problema pe care nu stii cum s-o rezolvi
 3/15/2010 6:09:48 PM
User is offlineflorin2005840
557 posts
1st


Re: Proiect atestat
 (N/A)
Ok multumesc. Incep popularea tabelelor. Domnul Gldesign ce parere are, daca a urmarit  posturile anterioare? e un inceput bun ?

 3/15/2010 6:15:46 PM
User is offlinegldesign
388 posts
3rd


Re: Proiect atestat
 (N/A)
E bine doar ca ar trebui definitivate toate tabelele cu numele campului si tipul
 3/15/2010 6:42:50 PM
User is offlineflorin2005840
557 posts
1st


Re: Proiect atestat
 (N/A)
am uitat sa va intreb.  tabela functie cu ce trebuie completata ?  daca  va referiti la funciitile telefonului , o sa le includ la caracteristici
 3/15/2010 7:39:57 PM
User is offlineoviciandrus
720 posts
www.comptech.ro
1st




Re: Proiect atestat
 (N/A)
pai atunci scoate tabela de functii si toate legaturile spre ea
 3/15/2010 7:43:59 PM
User is offlineflorin2005840
557 posts
1st


Re: Proiect atestat
 (N/A)
Da asa voi face, daca la asta va gandeati ( functiile telefonului ) cand ati pus in discutie acea tabela.
 3/15/2010 8:26:37 PM
User is offlineflorin2005840
557 posts
1st


Re: Proiect atestat
 (N/A)
Apropo, acum am observat ceva: in tabela TELEFON am campul telefon ( denumirea telefonului) dar acest camp este cam acelasi lucru cu tabela producator , deoarece la producator urma sa scriu Nokia de ex. Asta inseamna ca renunt la campul telefon din tabela TELEFON si in loc de telefon pun id_prod, nu ? Asta ca sa tin cont de problema ridicata de gldesign, referitoare la unicitatea telefonului.Altfel as putea renunta la tabela producator si sa scriu pur si simplu numele producatorului in campul telefon din tabela TELEFON
 3/15/2010 8:42:51 PM
User is offlinegldesign
388 posts
3rd


Re: Proiect atestat
 (N/A)
Renunta atunci la campul telefon si pune numai id_prod.
Daca citesti ceea ce a scris Daniel la celalat atestat o sa vezi de ce nu trebuie sa renunti la tabela producator (acolo era vorba de tabela autori)
Poate ar fi bine sa mai recitesti postarile de la inceputul acelei teme atestat2010. Acolo se explica foarte bine principiile , cheie primara index...
Nu cred ca ar fi un timp pierdut.
 3/15/2010 8:51:45 PM
User is offlineflorin2005840
557 posts
1st


Re: Proiect atestat
 (N/A)
Da asa am facut. Cred ca am cam inteles cum e cu cheile, insa ce nu stiu, dar voi intelege de indata ce voi vedea un model , cum arata valorile din campurile id care sunt regular , deoarece trebuie sa existe o concordanta intre ele, adica daca de ex iau telefonul Nokia , dupa producator , pai atunci cand solicit alte date despre el de ex din tabela telefon, sa imi arate datele din dreptul acelui telefon , nu de la Sony Ericsson, de exemplu. Aici trebuie sa reflectez. Si asa o sa fac. Mai arunc o privire pe acel topic. Oricum , pana maine veti putea vedea un progres al atestatului.Lucrez in aceasta seara la el. Voi posta aici tabelele, si precizez unde am pus cheile, si pun si cateva date fictive , de care sa ma pot folosi. ( de fapt nu-s chiar fictive, ca ma voi folosi de ele ) .
 3/15/2010 9:03:21 PM
User is offlinegldesign
388 posts
3rd


Re: Proiect atestat
 (N/A)
Asta se face cu select-uri si joinuri.
Tot acolo Daniel spune ce comenzi Select trebuie studiate.
Studiaza acele selecturi dar cel mai bine le vom vedea cand o sa fie date in tabele, acum sunt bune doar ca torie
 3/15/2010 10:02:09 PM
User is offlineflorin2005840
557 posts
1st


Re: Proiect atestat
 (N/A)
1.JPG            Asta e tabela Clienti. Id Client este cheie primara. In Adresa includ str, bloc, etc...
_metadata.resources 
 3/15/2010 10:31:27 PM
User is offlineflorin2005840
557 posts
1st


Re: Proiect atestat
 (N/A)
2.JPG
acesta este Tabela Contracte, cu id_contract primary ,si id_client si id_telefon regular

3.JPG

Tabela model cu primary pe id_model



4.JPG

Tabela producator cu primary pe id_prod


5.JPG
Tabela telefoane, cu primary pe id_telefon si regular pe id_prod si id_model.



 3/15/2010 10:37:04 PM
User is offlineflorin2005840
557 posts
1st


Re: Proiect atestat
 (N/A)
Astea  nu trebuia neaparat sa le postez, deoarece le-am tot discutat, dar  ca sa nu fac vreo greseala, avand in vedere ca e primul meu prog. M-am cam pripit cand am zis ca le completez in seara aceasta pentru ca tre sa dau o fuga pan' la orange ( pe net nu sunt clasificate asa)  sa vad niste telefoane clasificate  in functie de clase ( business, multimedia, etc ) si probabil ca voi mai face un camp  cu titlu clasa , pe care voi pune conditia atunci cand fac raportul care ma va trimite la telefoanele business, multimedia etc. Deci maine dupa masa voi posta si tabelele completate.. Acum voi  parcurge din nou topicul cu atestatul acela cu biblioteca.
 3/16/2010 12:44:05 AM
User is offlineoviciandrus
720 posts
www.comptech.ro
1st




Re: Proiect atestat
 (N/A)

Observatii

1. CNP C(13) - cnp-ul ii de tip char numai daca nu vrei sa faci socoteli aritmetice (adunari, scaderi etc) cu el ;)

2. In tabela PERSOANE, ce-i aia PERSOANA?

3. Care-i diferenta dintre ADRESA, JUDET, ORAS si DOMICILIU_STABIL????

4. Ce zici de inca doua tabele JUDETE (IDJUDET, JUDET) si LOCALITATI (IDLOCALIT, LOCALITATE, IDJUDET) si in tabela PERSOANE sa ai doar IDLOCALIT care face legatura cu LOCALITATI in care este IDJUDET care face legatura cu JUDETE?!

5. Ce-i aia CARACTERISTICI_P, IMAGINI_SI_SUNE, CONECTIVITATE? S-ar putea sa trebuiasca inca trei tabele ....

6. Mai trebuie o tabela CLASE (IDCLASA, CLASA) si un camp in tabela IDCLASA in tabela TELEFOANE care sa te trimita la CLASE. In tabela CLASE poti sa ai inregistrarile (1, "business"), (2, "multimedia"), (3, "Ovidiu") si multe altele. Daca in tabela TELEFOANE pe coloana IDCLASA ai 3 ===> acel telefon ii din clasa "Ovidiu". Nu trebuia sa dai o fuga in oras ca acuma lucram numai cu date fictive ;) nu?

 3/16/2010 12:48:45 AM
User is offlineoviciandrus
720 posts
www.comptech.ro
1st




Re: Proiect atestat
 (N/A)
PS! Daca vrei sa vezi cum se fac legaturile intre tabele in Database designer, incearca pe google "create persistent relation in VFP"
 3/16/2010 7:38:06 AM
User is offlineflorin2005840
557 posts
1st


Re: Proiect atestat
 (N/A)
1. Cnp am inteles de ce trebuie character . Voi face modificarea.

2. In tabela PERSOANE,  in campul persoana voi completa cu Fizica sau Juridica atunci cand popolez efectiv tabela.

3. Eventual as putea taia judetul si orasul de acolo si sa le scriu la adresa toate, insa m-am gandit sa fiu mai realist, deoarece asa apare prin toate actele ( Adresa : str, bloc, ap, sector, nr ...) apoi judet , oras. Cand am scris Domiciliul Stabil am vrut sa ma refer  la o adresa clara, unde se pot emite facturile sa zicem. Probabil vo scrie ADRESA_FACTURARE sau o voi scoate.

4 Nu cred ca ar fi nevoie de cele doua tabele judet si oras, deoarece nu am neaparat nevoie de unicitatea lor, sa stau sa caut o persoana dintr-un anumit judet, sau localitate. Insa mi-ar surade aceasta idee. Cand voi vrea sa caut ceva as simplifica radical cautarile. ( De ex merg sa achit factura la curent. Tanti  se uita in BUZAU nu  sta sa caute  in toata baza de date ) . Dar nu  vreau nici sa imi complic existenta, lovindu-ma de  anumite probleme. Dar incec, nu mi se pare foarte greu.

5. CARACTERISTICI_PRINCIPALE  / IMAGINI _ SI _ SUNET ...( apare de fapt, dar nu se vedea tot numele, trebuia sa mai trag un pic de  aceea margine, ca sa se vada) . Se refera practic la  detaliiile modelului. Cum era aceea  tabela FUNCTIE la inceput, dar m-am gandit  ca nici aici nu am nevoie de unicitatea lor, nu le voi cauta dupa functii sau ceva , ci toate vor fi diferite oricum. De aceea m-am gandit sa le includ la MODEL. ( unde am producatorul, modelul , apoi vin caracteristicile ) .

6. Da asa voi face. Eu intial ma gandisem sa scriu pur si simplu  un camp CLASA in tabela TELEFOANE sau MODEL apoi cand  voi avea nevoie sa le grupez , voi pune o conditie ( filtru ) in pasii pe care ii  parcurg la query design  MODEL.CLASA EQUALS VALUE '  '. 
Si da, datele sunt fictive, dar oricum  va trebui sa popoulez tabelele. Si ziceam sa  le populez de pe acum  sa nu fiu nevoit apoi sa modific datele  din tabele. Dar voi pune in fiecare tabela  un numar de inregistrati sa vad efectiv cum functioneaza.
 3/16/2010 7:50:12 AM
User is offlineflorin2005840
557 posts
1st


Re: Proiect atestat
 (N/A)
gldesign, m-am uitat cat de cat pe acele selecturi si join-uri , dar nu prea am inteles. Tre sa incerc efectiv si eu sa fac. Eu la liceu nu am facut deloc comenzi decat cateva exemple scrise in caiet  ( care ar suna cam asa
"Fie BD cu tabele elevi si clase.
cerere:  1  numele tuturor elevilor SELECT NUME FROM ELEVI sau tot continutul fisieruluii SELECT ALL FROM ELEVI
            2 sau sa ii afisez dupa medii ceva, SELECT NUME,CLS FROM ELEVI
                                                               WHERE MED=10 GROUP BY CLS [HAVING CLS=11].
Cam asa ceva am facut eu.  Insa pot invata si cum e cu  cererile SQL, dar cred  ca mai usor este sa interactiv.
Timp as avea mai mult decat am precizat . Teoretic atestatul are loc undeva la sfarsitul lunii mai, dar noua ni s-au cerut atestatele prin aprilie.
 3/16/2010 6:43:25 PM
User is offlineflorin2005840
557 posts
1st


Re: Proiect atestat
 (N/A)
Incep popularea tabelelor. Voi posta aici cum arata  toate tabelele. Dar  cum fac la campurile  id care sunt regular ? ce valoare atribui ? Si ce fac daca am de ex doua   modele ale aceluiasi producator. De ex tabela producatori  va contine Nokia Sony Alcatel.   Apoi in tabela telefoane ce fac , daca de ex vreau sa  trec 2 modele de la Nokia sau mai multe sau 2 de la altceva ? Acceasi intrebare si pentru judet . Mai multi clienti vor fi din acelasi judet. Astept  un raspuns  .
 3/16/2010 7:46:55 PM
User is offlinegldesign
388 posts
3rd


Re: Proiect atestat
 (N/A)
Mai intai cred ca ar trebui modificata tabela Model prin adaugare unui camp id_prod.
Pot fi 2 modele cu acelasi nume la 2 producatori diferiti
Apoi lu un moment dat poate vei vrea sa stii cate modele ai de la producatoral x si fara acel id_prod nu vei putea

Intr-o aplicatie de productie cred ca ideea lui ovi cu tabelele judete si localitate ar fi foarte buna.
Aici te hotarasti tu (nu ar fi nici o complicatie foarte mare cum poate ti se pare)

Legat de adaugare inregistrari, mi-am permis sa copiez di postul lui Daniel (imi cer scuze sper sa nu se supere)

Atunci sa trecem la ceva exercitii.
Mai intai sa populam tabelele cu cateva inregistrari, altfel nu avem pe ce testa.
Ia vreo 10 carti din biblioteca si incarca-le.
Vei da comenzile din fereastra de comenzi. Am sa-ti dau eu comenzile pentru insert, pe celelalte le vei scrie singur

Mai intai, incarci autorul. Nu mai stiu exact ce nume de tabele si campuri au ramas la final, le pui tu pe cele pe care le ai acolo

na="Numele Autorului"
INSERT INTO autori (nume) VALUES (na)

* Acum trebuie sa regasim idautor, pentru ca nu-l stim, il pune automat campul autoinc
* Functia GETAUTOINC() returneaza ultima valoare generata de un camp autoinc intr-o sesiune de date (datasession)
* Vezi in help mai multe

nIDAutor=GETAUTOINC()

* Incarcam cartea:

tc="Titlul cartii"
npu=pretul cartii
nex=numarul de exemplare
INSERT INTO carti (idautor, titlu, pret, exemplare) VALUES (nIDautor, tc, npu, nex)

Reperti asta pentru fiecare carte

La tine in loc de Autori ai Producator si in loc de Carti Model (tu nu ai aici pretul si celelalte ci doar id_prod si model)
 3/16/2010 7:49:04 PM
User is offlineflorin2005840
557 posts
1st


Re: Proiect atestat
 (N/A)
hmm, eu as vrea sa fac cat mai mult. Dar nu  prea pot. Sunt conditionat de ajutorul vostru.  Eu o sa fac ce  pot si o sa postez aici . O seara frumoasa!
 3/16/2010 7:51:52 PM
User is offlineoviciandrus
720 posts
www.comptech.ro
1st




Re: Proiect atestat
 (N/A) Modified By oviciandrus  on 3/16/2010 8:52:20 PM)

Te-am mai ruguat!

Incepe cu popularea tabelelor care au doar un singur ID pe cel PRIMARY si apoi scrie aici cu ce valori le-ai populat!

De exemplu,

Tabela JUDETE are

IDJUDET JUDET

1 Alba

2 Arad

3 Arges

....

In altă tabelă de câte ori vrei judeţul Arad, pui un 2. Poţi să pui oricâţi de 2 vrei.... care-i problema cu unicitatea?

Vezi şi

6. Mai trebuie o tabela CLASE (IDCLASA, CLASA) si un camp in tabela IDCLASA in tabela TELEFOANE care sa te trimita la CLASE. In tabela CLASE poti sa ai inregistrarile (1, "business"), (2, "multimedia"), (3, "Ovidiu") si multe altele. Daca in tabela TELEFOANE pe coloana IDCLASA ai 3 ===> acel telefon ii din clasa "Ovidiu".

Poţi să pui telefoane in tabela TELEFOANE cu IDCLASA = 3 câte doreşte sufleţelul tău.

 3/16/2010 8:02:26 PM
User is offlineflorin2005840
557 posts
1st


Re: Proiect atestat
 (N/A)
ok. Imi cer scuze daca sunt stresant. Am vointa sa il fac , dar ma lovesc de lucruri pe care nu le cunosc.
 3/16/2010 8:03:39 PM
User is offlinegldesign
388 posts
3rd


Re: Proiect atestat
 (N/A)
Sper ca ai prins ideea.
Daca in tabela producator Motorola va avea id_prod=7 toate modelele de la acest producator vor avea id_prod=7 in tabela Model (sau in alta tabela in care apare id_prod) dar id_model va fi diferit pt. fiecare model
 3/16/2010 8:04:06 PM
User is offlineoviciandrus
720 posts
www.comptech.ro
1st




Re: Proiect atestat
 (N/A)
Ai înţeles cum vine cu popularea datelor?
 3/16/2010 8:14:29 PM
User is offlinegldesign
388 posts
3rd


Re: Proiect atestat
 (N/A)
Mai vin cu o precizare: acel id_prod in celelalte tabele (altele decat Producator) le vei pune tu cand adaugi o inregistrare noua in acele tabele.
Deci cand tu vrei sa adagi in tabela Model un model nou de la Motorola va trebui sa stii ce id_prod are Motorola in tabela Producator
 3/16/2010 8:17:35 PM
User is offlineflorin2005840
557 posts
1st


Re: Proiect atestat
 (N/A)
da am inteles. O intrebare am : de fiecare data cand trec pe o linie mai jos, se face incrementarea pentru cheia primara cu o unitate. Insa sa zicem ca merg pe o casuta mai jos dar nu o completez, insa incrementarea tot are loc, chiar daca numa ma deplasez acolo. Acelasi lucru se intampla si daca de ex am completat o tabela cu trei inregistrati. Cheia primara ajunge la 3. Inchid tabela. Apoi sa zicem ca imi amintesc sa mai trec o inregistrare. Deshchid iar tabela si cand ii dau append mode imi sare o unitate. De ex cheia primara era la 3 si urmatoarea inregistrare are idul 5.
 3/16/2010 8:23:16 PM
User is offlinegldesign
388 posts
3rd


Re: Proiect atestat
 (N/A)
Pune aici comenzile cu care adaugi date in fiecare tabel
 3/16/2010 8:27:13 PM
User is offlineflorin2005840
557 posts
1st


Re: Proiect atestat
 (N/A)
pai momentan adaug datele pe care le folosesc efectiv ca sa arat ca merge programul. Adica pur si simplu dau browse la tabela apoi VIEW -> APPEND MODE si introduc datele de la tastatura. Mai am pana ajung la functiile de adaugare sau stergere pe care le va folosi utilizatorul. SAu la ce va referiti ?
 3/16/2010 8:32:47 PM
User is offlinegldesign
388 posts
3rd


Re: Proiect atestat
 (N/A)
Nu ai citit primul meu post din sear asta?
Ti-am dat un exemplu preluat de la Daniel.
 3/16/2010 8:35:25 PM
User is offlineflorin2005840
557 posts
1st


Re: Proiect atestat
 (N/A)
aaa, acum am observat. ma uit acum pe el
 3/16/2010 8:41:39 PM
User is offlineflorin2005840
557 posts
1st


Re: Proiect atestat
 (N/A)
pai daca fac asa atunci nu-mi va aparea producatorul de doua ori ?
6.JPG

Odata voi avea producatorul din id_prod , apoi il  voi avea inca o data din id_model, nu ?




 3/16/2010 8:43:04 PM
User is offlineflorin2005840
557 posts
1st


Re: Proiect atestat
 (N/A)
Referitor la postul preluat de la Daniel, asa trebuiesc introduse toate datele? eu credeam ca le tastez pur si simplu prin browse, apoi dau append mode si scriu in tabela :(
 3/16/2010 8:45:16 PM
User is offlinegldesign
388 posts
3rd


Re: Proiect atestat
 (N/A)
Aici poti renunta la el.
Aici nu-ti rezolva problema sa aflii cate modele ai de la un producator
Ajunge doar id_model care prin tabela model te duce si la producator
 3/16/2010 8:47:08 PM
User is offlinegldesign
388 posts
3rd


Re: Proiect atestat
 (N/A)
Poti adauga date si din browse, faci CTRL+Y si iti adauga un rand nou la sfarsitul tabelei
 3/16/2010 8:47:43 PM
User is offlineflorin2005840
557 posts
1st


Re: Proiect atestat
 (N/A)
puteti sa imi dai un exemplu mai elocvent pentru tabela telefoane sa zicem( am postat mai sus un pic cum arata tabela,  care sunt toate campurile  ) .
Constat ca lucrurile nu sunt chiar cum credeam eu :( . La scoala  le adaugam  pur si  simplu cum am  zis mai devreme.
 3/16/2010 8:48:56 PM
User is offlineflorin2005840
557 posts
1st


Re: Proiect atestat
 (N/A)
ok  deci renunt la id_prod din tabela telefoane si il pun in tabela MODELE.
 3/16/2010 9:04:13 PM
User is offlinegldesign
388 posts
3rd


Re: Proiect atestat
 (N/A)
Ar trebui sa te obisnuiesti cu comanda Insert SQL pt. ca in program asa vei adauga datele.
Mai bine sa te obisnuiesti acum chiar daca ti se pare mai greu pt. ca tot la comanda insert o sa ajungi in program
Un exemplu: insert into telefoane (id_model,caracteristici_p,stoc,pret,id_clasa) values (7,'Alb cu dungi mov",3,15.23,9)
De aceea trebuie sa populezi asa cum a zis ovi intai tabelele care au numai cheie primara si un alt camp
Studiaza comanda Insert SQL parca daniel a dat si un link pt. aceasta comanda
 3/16/2010 9:04:52 PM
User is offlineflorin2005840
557 posts
1st


Re: Proiect atestat
 (N/A)
incerc sa scriu aici sa vad daca am inteles:

INSERT INTO producatori (Producator) VALUES ("Nokia")

apoi tastez
nId_prod=GETAUTOINC()

INSERT INTO modele (id_prod, Model) VALUES (nId_prod, 5500)
Cam asa ceva ?
apoi tre sa fac
nId_model=GETAUTOINC() sau de unde voi sti acum id_model care este tot cheie primara? 
 3/16/2010 9:06:16 PM
User is offlinegldesign
388 posts
3rd


Re: Proiect atestat
 (N/A)
Scuze trebuie sau 'Alb cu dungi mov' sau "Alb cu dungi mov"
nu merge strutocamila pe care am scris-o dar eram si cu fiul meu pe mes. Acu l-am expediat
 3/16/2010 9:06:47 PM
User is offlineflorin2005840
557 posts
1st


Re: Proiect atestat
 (N/A)
complicat...
 3/16/2010 9:10:18 PM
User is offlinegldesign
388 posts
3rd


Re: Proiect atestat
 (N/A)
Scuze trebuie sau 'Alb cu dungi mov' sau "Alb cu dungi mov"
nu merge strutocamila pe care am scris-o dar eram si cu fiul meu pe mes. Acu l-am expediat
 3/16/2010 9:15:41 PM
User is offlinegldesign
388 posts
3rd


Re: Proiect atestat
 (N/A)
In program NU O SA SCRII NICIODATA DATELE DE LA TASTATURA DIRECT IN TABELE

Populeaza asa cum am mai zis tabelele care au numai cheie primara (nu trebuie decat cateva inregistrari in fiecare o sa mai adaugam mai tarziu si prin exemplele pe care le vom realiza)
 3/16/2010 9:21:51 PM
User is offlinegldesign
388 posts
3rd


Re: Proiect atestat
 (N/A)
Deocamdata dupa ce populezi tabelele care au numai cheia primara (sau in timp ce le populezi) iti notezi id-urile si Producatorul (de exemplu)
Apoi cand vrei sa introduci un model te uiti ce id are producatorul si stii ce valoare trebuie sa introduci in campul id_prod
Nu stiu daca stii ca poti avea mai multe tabele deschise simultan si sa treci de la unul la altul si atunci nu ar trebui sa-ti notezi nimic
 3/17/2010 12:47:58 AM
User is offlineflorin2005840
557 posts
1st


Re: Proiect atestat
 (N/A)
7.JPG

8.JPG

9.JPG

Nu am stiut data cum trebuie introdusa, in ce format.

10.JPG

11.JPG

13.JPG

14.JPG

La pret nu am stiu ce sa zic exact. Pana la urma l-am pus character si am tastat lei. Daca il fac numeric nu stiu cum ii fac sa apara lei, sau daca il fac currency sa apara euro.

15.JPG














 3/17/2010 1:03:26 AM
User is offlineflorin2005840
557 posts
1st


Re: Proiect atestat
 (N/A)
16.JPG


SI cam asa cred ca trebuie sa arate legaturile dintre tabele, dar nu stiu de ce am impresia ca am gresit si nu asa se puneau Valorile acelea in campurile cu regular, deoarece am incercat sa fac  o interogare  in care am folosit tabela telefoane. Ma asteptam ca in locul campurile regular de ex id_model sau id_clasa sa imi fi aparut modelul respectiv si clasa care ii corespundeau, si nu valoarea pe care am inserat-o eu.
 3/17/2010 1:52:53 AM
User is offlineoviciandrus
720 posts
www.comptech.ro
1st




Re: Proiect atestat
 (N/A)
Spune-ne si noua interogarea pe care ai facut-o! Care nu a dat eroare şi care nu te-a ascultat! :)
Relaţiile persistente sunt bine făcute. Până la a a vedea valorile efective in loc de ID-uri mai este puţin drum.

De exemplu, incearca comanda

select NUME, PRENUME, CNP, LOCALITATE from CLIENTI left join LOCALITATI on CLIENTI.ID_LOCALIT = LOCALITATI.ID_LOCALIT order by CNP

sau

select NUME, PRENUME, CNP, LOCALITATE, JUDET from CLIENTI left join LOCALITATI LEFT JOIN JUDETE on LOCALITATI.ID_JUDET = JUDETE.ID_JUDET on CLIENTI.ID_LOCALIT = LOCALITATI.ID_LOCALIT where PERSOANA = 'Fizica' order by JUDET DESC

Obs. Nu m-ai ascultat ca la tipul clientului să fie F sau J

Ce zici? Cauti in HELP si pe internet despre comenzile:

INSERT INTO .....
UPDATE ....
DELETE FROM ....

SELECT ... FROM ....

si sa ne dai 3-4 exemple de aplicare a lor la tabelele din baza ta de date.

PS. Te rog citeşte cu atenţie ca să nu se mai întâmple chestii de genul "Scuze, nu am văzut ce aţi scris".
 

 3/17/2010 1:57:26 AM
User is offlineoviciandrus
720 posts
www.comptech.ro
1st




Re: Proiect atestat
 (N/A)
Pretul nu poate fi de tip char!!!!!! Cum o sa calculezi valoarea totala a telefeoanelor de pe stoc! Sau pretul maxim! Sau cum afli telefoanele dintr-un interval de preturi.
Lasă-l de tip numeric! In tabelă memorăm doar date. Semnificaţia datelor (informaţia) se va sugera prin interfaţă.
 3/17/2010 8:50:10 AM
User is offlineflorin2005840
557 posts
1st


Re: Proiect atestat
 (N/A)
Pai nu  m-am folosit de fereastra de comenzi pentru a face interogarea. Am facut-o interactiv din project manager, am mers la queries New -> Query Wizard -> aici am ales iar query wizard ->  si am parcurs pasii.SI am luat tabela telefoane cu toate campurile si am facut interogarea. Si imi apareau valorile asa cum le-am tastat eu.
Am incercat comanda aceea  cu select .MErge.Imi arata si  ce trebuia sa imi apara in campurile regular.  Voi studia mult mai atent aceste comenzi. Insa imi vine mai greu pentru ca nu am un exemplu dupa care sa ma pot ghida.

De precizat ca eu la scoala nu am facut nimic de genu'. Este ceva nou pentru mine. Eu faceam pur si simplu din proiect manager interogari , vizualizari , rapoarte  care se salvau in baza de date, urmand sa le folosesc pur si simplu atunci cand voi avea nevoie de ele. De ex un buton intr-un form avea comanda DO NUME.QPR si gata.  Nu puneam comenzi in spatele fiecarui buton care sa execute secventa de cod in excat  cand accesam butonu.

Te-am ascultat la persoana fizica , juridica, dar nu am stiut cum sa zic. De ex redenumesc campul persoana in Tip si in dreptul lui scriu F sau J . Dar de unde asocierea cu Fizica , Juridica ??

Nu mi-ai spus cum introduc data, in ce format ?

Pretul ....La pret am stat un pic pe ganduri. Nu stiam cum fac sa pun lei sau euro daca il faceam numeric. Si pana la urma am zis sa il fac char. Dar il voi schimba in numeric, desi nu cred ca voi mai face ceva de genu sa calculez totalul, sau cel mai scump etc.. Intru prea mult in detalii, si proiectul de atestat se  vrea a fi mai simplist.  In plus nu  prea am timp sa  invat tot limbajul Visual FoxPro. Profit de zilelea acestea de greva ( ce  bine a picat) ca sa lucrez cat mai mult la atestat.


Incerc acum comnezile, ma uit la help apoi  tastez aici cateva incercari.

 3/17/2010 9:21:19 AM
User is offlineflorin2005840
557 posts
1st


Re: Proiect atestat
 (N/A)
Apropo, mi-au prins foarte bine exemplele tale. Asta ar fi ideal, daca as putea sa corelez practica cu teoria ( din help ) mi-ar fi mult mai usor.  Poate ai mai  putea sa-mi dai  niste exemple ( si cu update eventual ), asta pe langa exemplele care le voi crea eu.
 3/17/2010 9:33:57 AM
User is offlineoviciandrus
720 posts
www.comptech.ro
1st




Re: Proiect atestat
 (N/A)
De exemplu vine un client la mine, si imi cere un telefon .   Aici intervine programul, care  clasifica telefoanele in mai multe cateogorii, prin niste interogari pe care sa pun niste conditii referitoare la pret ( de ex  gratis, preturi mai mici de 100 euroi, mai mari , etc) , functiile telefonului ( multimedia, business, de baza, internet , nou , cum sunt si la Orange daca stiti ) , etc.

Sunt incă de părere că preţul trebuie să fie numeric. In rapoarte, la afişări pe formulare vom mai scrie lângă şi cuvântul LEI sau EURO.
 3/17/2010 9:39:34 AM
User is offlineoviciandrus
720 posts
www.comptech.ro
1st




Re: Proiect atestat
 (N/A)

Te-am ascultat la persoana fizica , juridica, dar nu am stiut cum sa zic. De ex redenumesc campul persoana in Tip si in dreptul lui scriu F sau J . Dar de unde asocierea cu Fizica , Juridica ??

Asa:

FUNCTION cTip(tcTip)
LOCAL lcRez
IF tcTip = 'F'
     lcRez = 'Fizica'
ELSE
    lcRez = 'Juridica'
ENDIF
RETURN lcRez
ENDFUNC

sau

IIF(tcTip='F', 'Fizica','Juridica')

dar asta in rapoarte şi pe formulare
 3/17/2010 9:41:01 AM
User is offlineflorin2005840
557 posts
1st


Re: Proiect atestat
 (N/A)
Da  l-am facut numeric. Dar data ? cum trebuie introdusa ?
Acum studiez comenzile acelea. Ma uit si pe ex din  celalat topic  si incerc sa le  fac pe toate .
 3/17/2010 9:41:56 AM
User is offlineflorin2005840
557 posts
1st


Re: Proiect atestat
 (N/A)
si unde trebuie pusa aceasta  functie IIF(tcTip='F', 'Fizica','Juridica') ?
 3/17/2010 9:43:27 AM
User is offlineflorin2005840
557 posts
1st


Re: Proiect atestat
 (N/A)
aaa am vazut acum  * dar asta in rapoarte si pe formulare
Iar acel program unde ar veni ?
 3/17/2010 9:47:08 AM
User is offlineoviciandrus
720 posts
www.comptech.ro
1st




Re: Proiect atestat
 (N/A)
Acuma ceva mai practic:

1. Fa pe discul D: un folder TELEFOANE
2. In folderul telefoane mai crează următoarele foldere: Data, Forms, Reports, Menus, Prgs
3. Copiezi baza de date pe care a-i creat-o in folderul Data
4. Intri in VFP si faci un proiect nou telefoane pe care-l salvezi in radacina folderului D:\TELEFOANE
5. Adaugi baza de date la proiect. Apropo cum o cheamă?
6. Mergi la sectiunea Code faci un fisier program nou pe care sa-l cheme main.prg. Pe acesta il salvezi in folderul Prgs. Deocamdata nu scri nimica in el.
 3/17/2010 9:49:10 AM
User is offlineoviciandrus
720 posts
www.comptech.ro
1st




Re: Proiect atestat
 (N/A)
 florin2005840 wrote
si unde trebuie pusa aceasta  functie IIF(tcTip='F', 'Fizica','Juridica') ?


Deocamdată las-o aşa. Bagă la bibilică faptul că poţi transforma datele in informaţii, codificările in informaţii prin tot felul de funcţii de conversie
 3/17/2010 9:50:36 AM
User is offlineoviciandrus
720 posts
www.comptech.ro
1st




Re: Proiect atestat
 (N/A)
 florin2005840 wrote
Da  l-am facut numeric. Dar data ? cum trebuie introdusa ?
Acum studiez comenzile acelea. Ma uit si pe ex din  celalat topic  si incerc sa le  fac pe toate .


La ce dată te referi?
 3/17/2010 9:51:47 AM
User is offlineflorin2005840
557 posts
1st


Re: Proiect atestat
 (N/A)
Baza - data1 - nu i-am schimbat numele. Asa am lasat-o. O intrebare : baza e acum independenta de tabelele pe care le-am creat? ce vreau sa zic.... am creat baza si in ea sunt incluse toate acele tabele. Dar acele tabele sunt salvata si ele separat. Daca iau numai  baza , imi va vedea tabelele?
 3/17/2010 9:58:57 AM
User is offlineoviciandrus
720 posts
www.comptech.ro
1st




Re: Proiect atestat
 (N/A)
baza de date cu tabele cu tot punele in folderul Data
dupa aia din Project Manager incearca sa-i dai un nume sugestiv
 3/17/2010 10:00:34 AM
User is offlineflorin2005840
557 posts
1st


Re: Proiect atestat
 (N/A)
a.JPG

Ii dau ok , apoi merg la databases  , imi apare baza de date si daca intru pe ea zice asa :
b.JPG



 3/17/2010 10:01:04 AM
User is offlineflorin2005840
557 posts
1st


Re: Proiect atestat
 (N/A)
aha. ok deci iau si tabelele.
 3/17/2010 10:03:03 AM
User is offlineoviciandrus
720 posts
www.comptech.ro
1st




Re: Proiect atestat
 (N/A)
toate cele trei tabele ale bazei de date .dbc, .dct, .dcx
 3/17/2010 10:15:33 AM
User is offlineflorin2005840
557 posts
1st


Re: Proiect atestat
 (N/A)
 oviciandrus wrote
 florin2005840 wrote
Da  l-am facut numeric. Dar data ? cum trebuie introdusa ?
Acum studiez comenzile acelea. Ma uit si pe ex din  celalat topic  si incerc sa le  fac pe toate .


La ce dată te referi?


la data din tabela contracte. Ca  tip de data este date.
 3/17/2010 10:16:59 AM
User is offlineflorin2005840
557 posts
1st


Re: Proiect atestat
 (N/A)
am facut si acele foldere. Am  copiat si  baza toata. Am facut  si programul. L-am lasat gol.
 3/17/2010 10:24:01 AM
User is offlineoviciandrus
720 posts
www.comptech.ro
1st




Re: Proiect atestat
 (N/A)
 florin2005840 wrote
 oviciandrus wrote
 florin2005840 wrote
Da  l-am facut numeric. Dar data ? cum trebuie introdusa ?
Acum studiez comenzile acelea. Ma uit si pe ex din  celalat topic  si incerc sa le  fac pe toate .


La ce dată te referi?


la data din tabela contracte. Ca  tip de data este date.


Exista tipul de dată DATE folosit pentru date de tip dată calendaristica
 3/17/2010 10:24:52 AM
User is offlineoviciandrus
720 posts
www.comptech.ro
1st




Re: Proiect atestat
 (N/A)
 florin2005840 wrote
am facut si acele foldere. Am  copiat si  baza toata. Am facut  si programul. L-am lasat gol.


Mai dă eroare la deschiderea bazei de date?
Ai putut redenumi baza de date!
 3/17/2010 10:27:28 AM
User is offlineflorin2005840
557 posts
1st


Re: Proiect atestat
 (N/A)
nu imi da eroare. problema era ca eu  acum am vazut ca salvasem unele chestii in alta parte, in   folderu de la Visual Fox  care si-l face el, dar le-am adundat si nu imi da nici o eroare. Am  si incercat p comanda pe el . Am redenumit baza t telefoane.
 3/17/2010 10:32:17 AM
User is offlineflorin2005840
557 posts
1st


Re: Proiect atestat
 (N/A)
aaaa. de fapt cand dau browse la o tabela imi zice asa. Dar daca ii dau da nu e nici o problema. Ma afecteaza cu ceva ?  c.JPG
 3/17/2010 10:34:17 AM
User is offlineflorin2005840
557 posts
1st


Re: Proiect atestat
 (N/A)
da, acel tip de data l-am folosit intrebarea era urmatoare:
INSERT INTO contracte (Data, Expirare_contract) VALUES ( cum scriu aici data - pur si simplu 03042010 sau cum )
 3/17/2010 10:37:57 AM
User is offlineoviciandrus
720 posts
www.comptech.ro
1st




Re: Proiect atestat
 (N/A)
Baga asta in programul principal main.prg (ii scris cu bold? daca nu fa click dreapta pe el si alege set main ... ca sa se faca bold)

*!*    asta-i programul principal; de aici incepe

CLEAR
CLEAR ALL

*!*    formatul datei: zz.ll.aaaa
SET DATE TO GERMAN

*!*    sa se afiseze 4 cifre pentru an
SET CENTURY ON

*!*    pentru a nu verifica stric datele calendaristice
SET STRICTDATE TO 0

*!*    ca sa nu trec mai departe cand se umple o casuta de editare
SET CONFIRM ON

*!*    sa nu ma intrebe cand fac suprascrieri de fisiere
SET SAFETY OFF

*!*    sa nu mai apara ceea ce zice fox-ul
SET TALK OFF

*!*    sa nu se vada inregistrarile sterse        
SET DELETED ON

*!*    ce sa se intample cand inchid (SHUTDOWN)
ON SHUTDOWN DO Iesire

*!*    am fixat folderul de lucru
Folder = JUSTDRIVE(SYS(16)) + "\TELEFOANE"
SET DEFAULT TO &Folder

*!*    fixez celelalte foldere in care se afla fisiere
SET PATH TO MENUS;DATA;PRGS;FORMS;REPORTS

*!*    sa stie ca am unele functii si proceduri in fisierul RUTINE.PRG
SET PROCEDURE TO RUTINE


compileaza si executa vezi daca ai erori


 3/17/2010 10:40:44 AM
User is offlineoviciandrus
720 posts
www.comptech.ro
1st




Re: Proiect atestat
 (N/A)
 florin2005840 wrote
da, acel tip de data l-am folosit intrebarea era urmatoare:
INSERT INTO contracte (Data, Expirare_contract) VALUES ( cum scriu aici data - pur si simplu 03042010 sau cum )


{16.03.2010} sau {16/03/2010} sau .... depinde de nişte parametri ce pot fi setaţi cu comenzile SET DATE ... sau SET CENTURY ... (vezi Help)
 3/17/2010 10:44:38 AM
User is offlineRomeo
371 posts
3rd


Re: Proiect atestat
 (N/A) Modified By Romeo  on 3/17/2010 11:46:34 AM)
 florin2005840 wrote
da, acel tip de data l-am folosit intrebarea era urmatoare:
INSERT INTO contracte (Data, Expirare_contract) VALUES ( cum scriu aici data - pur si simplu 03042010 sau cum )


Poti folosi functia CTOD() pt a transforma date scrise in format caracter, dar trebuie sa fii atent la validare:

In cazul:

SET CENTURY ON
SET DATE TO GERMAN

merge ceva de genul:

INSERT INTO contracte (Data, Expirare_contract) VALUES (CTOD("21.10.2009"), CTOD("15.01.2009"))
 3/17/2010 10:47:13 AM
User is offlineflorin2005840
557 posts
1st


Re: Proiect atestat
 (N/A)
d.JPG
 3/17/2010 11:39:58 AM
User is offlineoviciandrus
720 posts
www.comptech.ro
1st




Re: Proiect atestat
 (N/A)
mai fa un fisier rutine.prg pe la Code salveaza-l in folderul PRGS cu numele rutine.prg, deocamdata nu baga nimica in el
 3/17/2010 11:43:56 AM
User is offlineflorin2005840
557 posts
1st


Re: Proiect atestat
 (N/A)
am facut
 3/17/2010 11:44:02 AM
User is offlineoviciandrus
720 posts
www.comptech.ro
1st




Re: Proiect atestat
 (N/A)
completam main.prg cu

DO "Menus\MeniuPrincipal.MPR"
*!*    pornesc citirea evenimentelor
READ EVENTS
*!*    refacerea meniului foxpro
ON SHUTDOWN
SET SYSMENU TO DEFAULT

PROCEDURE Iesire
        CLEAR EVENTS
ENDPROC

 3/17/2010 11:44:36 AM
User is offlineflorin2005840
557 posts
1st


Re: Proiect atestat
 (N/A)
compilez din nou si rulez?
 3/17/2010 11:44:51 AM
User is offlineRomeo
371 posts
3rd


Re: Proiect atestat
 (N/A)
Mesajul arata ca nu ai pus fisierul rutine.prg in nici unul din directoarele specificate in cale:
Aplicate\Prgs, Aplicate\Menus, Aplicate\Data, Aplicate\Forms, Aplicate\Raports. Normal ar fi fost sa stea in Aplicate\Prgs

Eu pun programul main.prg (care lanseaza in executie aplicatia in directorul Aplicatie (folosesc mai rar SET PATh TO...). Folosesc cai relative mai mult.
De aici lansez celelalte programe cu

DO "Prgs\prg01.prg"
DO FORM "Forms\form01.scx"

In cazul tau incearca si solutia:
Pune rutine.prg in Aplicatie\Prgs, apoi SET PROCEDURE TO "Prgs\rutine"

PS In manualul de fox 2.x pe care il am se face precizare: "Mediul de programare accepta un singur fisier de procedurideschis la un momentdat. Lipsa argumentului - deci SET Procedure to - are ca efect inchiderea fisierului de proceduri activ." Verifica prin surse: poate ai un set procedure to, sau pate ai set procedure to rutine2.
  Visual FoxPro  Visual FoxPro in general  Proiect atestat...

Search  Forum Home         

 Google Ads Minimize

    

Copyright 2002-2007 Profox   Terms Of Use  Privacy Statement