Preluarea automata a datelor din casuta unui tabel in altul

Informatii despre cum se utilizeaza Microsoft Access 2007. Baze de date, Interogari, Formulare, Rapoarte, etc
Închis
Soldatino
Mesaje: 19
Membru din: Dum Iul 28, 2013 12:06 pm

Preluarea automata a datelor din casuta unui tabel in altul

Mesaj de Soldatino » Mie Aug 07, 2013 11:06 am

Salutare,

am două tabele („Cursuri” și „Examene și certificate”) și pentru fiecare am câte un Formular (Form) de inserare a datelor.

Fiecare Formular are câte o căsuță cu o denumire identică și anume „Denumire curs”.

Întrebările mele sunt:
1. ce fel de setări/coduri trebuie să utilizez astfel încât, în momentul în care introduc (manual) în tabelul „Examene și certificate” ID-ul unui curs (cules din tabelul „Cursuri”) să îmi apară automat denumirea cursului respectiv (pe care am introdus-o manual în tabelul „Cursuri” în căsuța „Denumire curs”) și în căsuța „Denumire curs” din tabelul „Examene și certificate”?

2. Care ar fi calea cea mai eficientă și mai stabilă? (MACRO? VBA?) Vă înaintez această problemă deoarece, deja baza de date conține setări și coduri care să îmi facă anumite condiționări și mi-e teamă să nu dau lucrurile peste cap...

Atașez un fișier ca să vedeți despre ce este vorba....
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.

Tzica
Mesaje: 639
Membru din: Sâm Aug 11, 2012 10:52 pm

Re: Preluarea automata a datelor din casuta unui tabel in al

Mesaj de Tzica » Joi Aug 08, 2013 4:15 pm

imho,
1. Folosim clasicul combobox (in acest caz textbox/label Id curs nu mai este necesar in formular/forma);
2. Pastram Id curs, iar in textboxul Denumire Curs scriem functia globala DLookUp.

Cod: Selectaţi tot

=DLookUp("[Denumire Curs]","03_Cursuri","[ID curs]=" & [Form]![ID curs] & "")
NB:
1.Numele campurilor in tabele e indicat sa le scriem fara spatiu de ex IDcurs.In etichetele din formular le putem scrie cum vrem noi ;
2.Putem presupune ca un curs poate fi tinut la/in diverse date si/sau , in/la diverse locatii, motiv pentru care si tabelul cursuri ar trebui "spart" in dou tabele in relatia "unu-la-mai-multi".
(simple pareri)

Soldatino
Mesaje: 19
Membru din: Dum Iul 28, 2013 12:06 pm

Re: Preluarea automata a datelor din casuta unui tabel in al

Mesaj de Soldatino » Vin Aug 09, 2013 9:13 am

Mulțumesc pentru timpul alocat și pentru sprijin.

Astăzi voi testa soluția propusă și voi reveni cu un feedback.

Încă odată mulțumesc frumos.

Soldatino
Mesaje: 19
Membru din: Dum Iul 28, 2013 12:06 pm

Re: Preluarea automata a datelor din casuta unui tabel in al

Mesaj de Soldatino » Vin Aug 09, 2013 9:46 pm

Am revenit...

Mi-am cam prins urechile, trebuie să recunosc.

Am ales opțiunea Combo Box....problema este că nu găsesc nicăieri în proprietăți (după ce am efectuat pașii Design Wiew-LookUp-DisplayCtrl-ComboBox) nici o căsuță „Denumire curs” unde aș putea să introduc funcția globală pe care mi-ați propus-o....

Puteți să-mi furnizați ceva date suplimentare?

Încă o rugăminte, referitoare la indicația dumneavoastră „(în acest caz textbox/label Id curs nu mai este necesar in formular/forma)” ați putea să îmi explicați la care Textbox/label id curs” faceți referire?...la cel din formularul Cursuri sau la cel din „Examene și certificate”? ....(presupun că la cel din Examene și certificate” doar că eu am nevoie de acel ID odată ce în funcție de alegerea lui să îmi apară o denumire de curs într-un tabel, după ce, în prealabil am scris-o în altul)...

....eu mi-aș dori ca în momentul în care introduc ID-ul cursului din tabelul „Cursuri” în locul corespunzător din tabelul/Formularul „Examene și certificate”, în mod automat să îmi apară în căsuța Denumire curs din tabelul „E și C” textul din căsuța „Denumire curs” existentă în căsuța cu același nume din tabelul „Cursuri”....de aceea, indicația dumneavoastră cu privire la eliminarea textbox/label id nu pot să o înțeleg...

Vă mulțumesc frumos pentru timpul acordat și pentru amabilitate

Tzica
Mesaje: 639
Membru din: Sâm Aug 11, 2012 10:52 pm

Re: Preluarea automata a datelor din casuta unui tabel in al

Mesaj de Tzica » Lun Aug 12, 2013 10:07 am

Off topic:
Multumesc administratorilor forumului, si celor ce m-au votat pentru concurs.Pe aceasta cale, am sa va rog totusi, sa ma scoateti de pe lista (daca exista asa ceva!) concurentilor.Pur si simplu raspund de placere, mai imi verific si eu cunostintele..atata tot.Multumesc.
On topic:
Soldatino> nu e nevoie sa fim chiar asa de protocolari.Mai mult ca sigur ca te-ai privat singur de raspunsurile altor formisti mai cu experienta.Intr-adevar, m-am grabit cu raspunsul, m-am concentrat strict pe aparitia in formular.Cred ca ar trebui sa urmezi recomandarile date de dr.W (in sensul sa citesti putin despre organizarea/normalizarea bazelor de date relationale;link-uri din link) :
viewtopic.php?f=53&t=4647&start=10

Pe scurt, in tabele stocam date, date ce le introducem cu ajutorul formularelor.Extragem informatii cu ajutorul interogarilor si/sau rapoartelor.Acel Id (cheia primara) e.."treaba" programului, utlizatorul nu trebuie sa-si incarce memoria cu tot felul de date.
In fine...mi-am permis sa fac respectivele modificari (combobox in formular).Am modificat in tabel proprietatea respectiva, dupa care am preluat-o in formular.Partea haioasa, e ca de acasa unde am 2007 nu pot sa accesez forumul iar la servici am 2010.
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.

Soldatino
Mesaje: 19
Membru din: Dum Iul 28, 2013 12:06 pm

Re: Preluarea automata a datelor din casuta unui tabel in al

Mesaj de Soldatino » Joi Aug 15, 2013 2:30 pm

salutare. Am să-ți răspund punctat:

1. Mulțumesc pentru interes și pentru ajutor.

2. Știu că nu este nevoie să fiu atât de formal/protocolar. Experiența în comunicarea pe forumuri m-a învățat că e mai bine să procedez în acest mod (nu vreau să dezvolt aici/acum subiectul)...În ceea ce privește eliminarea altora care ar fi avut ceva soluții doar pentru că am fost eu protocolar, cred că poate fi adevărat, dar e trist (eu am cerut sfaturi tehnice, coduri și nu răspunsuri formulate pentru vreo familie regală). Cu toate acestea, mi-ai răspuns tu și este de ajuns (îmi permit să folosesc persoana a doua singular tocmai pentru că mi-ai cerut-o indirect). Calitate vs cantitate....

3. Acum am descărcat fișierul pe care mi l-ai trimis și sper să găsesc toate modificările pe care le-ai făcut ca să le pot insera în baza mea de date. Dacă nu mă voi descurca, te rog să nu neglijezi capacitatea mea de a stresa lumea :D , așa că așteaptă-te la noi SOS-uri (sper să ai timp și disponibilitate de a mă ajuta).

Îți mulțumesc încă odată pentru ajutor și pentru timpul alocat subiectului.

Noroc

Soldatino
Mesaje: 19
Membru din: Dum Iul 28, 2013 12:06 pm

Re: Preluarea automata a datelor din casuta unui tabel in al

Mesaj de Soldatino » Joi Aug 15, 2013 2:46 pm

gata...am văzut cum ai procedat.

Ideea este că, probabil, nu am știut să explic foarte bine și de aceea poate că nu te-am lămurit cum trebuie:

1. știu cum să setez combobox (soluția ta) dar eu nu o prefer în acest caz pentru că am motive bine întemeiate (baza de date va fi completată de operatori voluntari care nu au experiență și care pot să greșească în momentul în care vor da clickuri pe zecile de nume de curs existând riscul ca să apară erori: adică să dăm un certificat unui absolvent pentru un alt curs decât cel la care el a participat și a fost evaluat.

2. eu am vrut ca să aflu dacă este posibil ca să setez o funcție/un cod astfel încât să introduc într-un tabel (1) ID-ul unui curs existent în alt tabel (2), iar în momentul în care fac acest demers, să îmi apară denumirea cursului în tabelul 1, așa cum a fost ea scrisă în tabelul 2.

ca să explic și mai bine, voi insera aici pașii:

1. Inserez datele despre un curs nou. O fac în tabelul „Cursuri”, ok? Primesc automat ID-ul (logic, funcția autonumber) și inserez manual în acest tabel în caseta „Denumire curs” un titlu (adică titlul cursului, care ar putea fi - de exemplu - „Educație parentală”).

2. intru în tabelul „Examene și certificate” și mă apuc să inserez datele despre cea făcut un anume cursant: adică ce note a luat, ce calificative și pentru ce curs a luat acele note.

3. În mod automat trebuie să introduc manual ID-ul cursantului (pe care-l iau din Formularul „Cursanți”) ca să știe Accesul despre care omuleț este vorba, iar după aceasta trebuie să introduc datele despre ce curs este vorba, pentru care curs s-au dat notele și certificatul. Ei bine, am ajuns unde vroiam eu să ajungem: mă duc în tabelul cursuri, iau ID-ul cursului care mă interesează și îl introduc manual în căsuța ID curs (din tabelul Evaluări și certificate) tocmai ca Accesul să îmi facă legătura între respectiva evaluare-omuleț-cursul pentru care s-au făcut evaluare și pentru care s-au obținut acele note/calificative.

Ei bine, eu îmi doresc ca, în momentul în care introduc ID-ul cursului (în tabelul Examene și certificate) în căsuța „Denumire curs” (tabelul Examene și certificate”) să îmi apară „Educație parentală” (așa cum a fost inserată în căsuța cu același nume din Formularul „Cursuri”).

Cam atât...aștept răspuns de la tine....sper că am reușit să explic mai bine....

Mulțumesc, noroc

Tzica
Mesaje: 639
Membru din: Sâm Aug 11, 2012 10:52 pm

Re: Preluarea automata a datelor din casuta unui tabel in al

Mesaj de Tzica » Sâm Aug 17, 2013 11:42 am

ehhmmm...nu exista procedura inafailibila...adica protectie la erorile umane de culegere/introducere a datelor.Sau daca exista...pierzi mult mai mult timp sa pui o gramada de bife ( la un moment dat uiti de unde ai plecat!) decat sa faci o verificare la intervale regulate.Eu lucrez cu cifre, si mi se intampla din cand in cand (lol...timpul/perioada fiind o notiune relativa!) sa mai introduc 4563 in loc de 4563 (de ex).In fine..
Revenind la BD din acest topic, fireste ca se poate ceea ce doresti," umbland" la Evenimentul After Update al controlului Id Curs.
Miscellaneous:
-Vei remarca de ce numele campurilor (in tabele) e indicat sa le scriem fara spatiu.Cand avem de scris chiar si o formula simpla, trebuie sa ne folosim de paranteze in cazul numelui nelegat);
-Dupa o sesiune de lucru, nu ar fi rau sa mai compactam BD-ul.Se poate face automat din Acces Option.
In fine..succes.
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.

Soldatino
Mesaje: 19
Membru din: Dum Iul 28, 2013 12:06 pm

Re: Preluarea automata a datelor din casuta unui tabel in al

Mesaj de Soldatino » Mar Sep 03, 2013 5:08 pm

Bună.

Îmi cer scuze pentru acest răspuns întârziat. Am fost plecat în concediu și abia acum am apucat sa reintru pe forum.

Îți mulțumesc frumos pentru ajutor. Îmi scot pălăria...

Acest forum este foarte util, felicitări celor care muncesc pentru el.

Încă o dată mulțumesc frumos, a mers din prima setarea. Între timp am reușit să-i fac și o parte grafică cu butoane realizate în Illustrator, eu zic că arată bine.

Avatar utilizator
mesersmith
Mesaje: 2088
Membru din: Sâm Oct 23, 2010 6:44 am
Localitate: calarasi
Contact:

Re: Preluarea automata a datelor din casuta unui tabel in al

Mesaj de mesersmith » Mar Oct 15, 2013 12:11 pm

Daca ai timp, poti pune un print screen, eu sunt foarte interesat de modul in care arata grafic o baza de date, stiut fiind faptul ca Access-ul arata destul de neolitic pe default.

Închis

Înapoi la “Intrebari despre Access 2007”