Partea 7 (episodul 3) - Gconea's Blog
Partea 7 (episodul 3)
Autor Alin Selicean
Ultimul comentariu:
"Nu stiu de ce setari este nevoie pentru ca o baza de date creat in Access care functioneaza pe SQL server sa functioneze in reteaua locala??? Ma poate ajuta cineva? Multumesc anticipat pentru idei."
Toate comentariile
Adauga comentarii
| |
| |
| |
| |
|Commentariile voastre |
| |
| |
| |
| |
| |
| |
| |
| |
|Testarea aplicatiei |
|Acum sa testam aplicatia. Aici am sa va las pe fiecare in parte sa faceti acest test. Eu am sa evidentiez direct unele lipsuri, pe|
|care le-am lasat intentionat la urma. De ce ? Pentru ca am dorit sa evidentiez importanta analizei din mai multe puncte de vedere:|
|functionalitati, interfata (formul principal), implementarea functionalitatilor in diferite locuri in cadrul aplicatiei. |
| |
|Deficienta majora a aplicatiei o reprezinta faptul ca nu exista formuri de actualizare a datelor statice (gen cataloage) care sa |
|fie afisate in combobox-urile corespunzatoare. Aceasta lipsa este evidenta in formul de editare / adaugare discuri. |
|[pic] |
| |
| |
| |
| |
| |
| |
| |
|Intrebarea apare cind incercam sa modificam, de exemplu, genul unui disc si genul dorit nu este regasit in lista afisata. |
| |
|Cum corectam aceasta deficienta ? Putem adauga, linga fiecare lista de acest tip, cite un buton care sa activeze un form de |
|actualizare a tabelelor care contin datele respective. Formurile necesare vor trebui sa permita atit adaugarea rapida de date, cit|
|si editarea datelor existente. |
| |
|Sint necesari trei pasi majori: 1) modificarea designului formului de editare / adaugare a unui titlu, 2) creerea cite unui form |
|de adaugare rapida a datelor dorite specific fiecarui combobox si 3) creerea unui form general care sa contina tabelele cu datele |
|existente pentru a putea fi modificate. Va voi prezenta modul de creere a formului general si a unui form de adaugare rapida si va|
|las cu titlu de exercitiu creerea celorlalte formuri. Dispuneti de aplicatia completa pentru download, daca intimpinati probleme |
|cu acest exercitiu. |
| |
|Deschidem formul frm_Detalii in modul Design. |
|[pic] |
| |
| |
| |
| |
| |
| |
| |
|Pentru a face loc noilor butoane, marim spre dreapta formul, repozitionam spre dreapta butoanele Salvare, Abandon si casuta |
|DiscID. Putem, acum, pozitiona cite un buton linga fiecare combobox, similar imaginii de mai sus. Sfat: inserati un buton, |
|redimensionati-l si schimbati-i textul afisat din “CommandNN” in “…”, dupa care cu Copy & Paste creati celelalte butoane (e nevoie|
|de repozitionarea acestora). |
| |
|Actualizam proprietatea Name pentru fiecare buton (primul este descris in imaginea de mai sus): |
|[pic] |
| |
| |
| |
| |
| |
| |
|[pic] |
| |
| |
| |
| |
| |
| |
|[pic] |
| |
| |
| |
| |
| |
| |
| |
|Creem acum formurile care vor fi apelate de aceste butoane. |
| |
|Pentru a usura acest task, vom apela la wizard-uri. In containerul Tables, selectam tabela tbl_CaseDeDiscuri si din toolbar, |
|selectam wizard-ul Autoform. |
|[pic] |
| |
| |
| |
| |
| |
| |
| |
|Rezultatul: |
|[pic] |
| |
| |
| |
| |
| |
| |
| |
|Urmeaza sa finisam formul creat cu acest wizard, prin ajustarea unro setari la nivel de form. Dupa aceasta, vom avea de adaugat |
|unele controale la acest form. Pentru aceasta, comutam in modul Design. |
| |
|In primul rind dorim sa nu mai avem fereastra de proprietati afisata tot timpul. |
|[pic] |
| |
| |
| |
| |
| |
| |
| |
|In al doilea rind, dorim sa eliminam unele elemente incluse implicit de wizard: scrollbars, record selectors, titlul, etc. |
|[pic] |
| |
| |
| |
| |
| |
| |
| |
|Eliminam subformul care apare sub numele Table.tbl_Colectie. |
|[pic] |
| |
| |
| |
| |
| |
| |
| |
|Adaugam 2 butoane: OK (sau Save) si Abandon. |
|[pic] |
| |
| |
| |
| |
| |
| |
|[pic] |
| |
| |
| |
| |
| |
| |
| |
|Setam cimpul CasaID sa nu fie disponibil si vizibil: |
|[pic] |
| |
| |
| |
| |
| |
| |
|[pic] |
| |
| |
| |
| |
| |
| |
| |
|Salvam formul nou creat: |
|[pic] |
| |
| |
| |
| |
| |
| |
| |
|La acest form, mai avem de adaugat codul VBA care sa ne ofere functionalitatile specifice contextului din care vom apela acest |
|form. |
| |
|Nu am sa intru in detalii foarte mari, dar pe scurt: |
|Acest form va fi apelat atit din formul de editare detalii cit si dintr-un form care ne va permite accesul la toate cataloagele |
|aplicatiei (case de discuri, standarde, etc) |
|In functie de context, formul se va comporta diferit (anumite liste vor trebui repopulate cu datele din tabelele corespunzatoare, |
|etc) |
|Contextul din care este apelat va fi determinat cu ajutorul parametrului OpenArgs care se poate furniza (parametrul este optional)|
|unui form la deschiderea acestuia (via VBA) |
| |
|Sa trecem la construirea codului VBA pentru acest form, incepind cu formul de editare a detaliilor unui disc. |
|[pic] |
| |
| |
| |
| |
| |
| |
|[pic] |
| |
| |
| |
| |
| |
| |
|[pic] |
| |
| |
| |
| |
| |
| |
| |
|Citeva cuvinte despre bucata de cod: |
|Deschidem formul in modul de afisare “normal” (acNormal), in modul de parcurgere a datelor “adaugare” (acFormAdd), in modul |
|“Dialog” (acDialog – nu se permite accesarea altor elemente ale aplicatiei pina nu se inchide formul curent) si transmitem prin |
|intermediul ultimului parametru contextul din care apelam formul (“ADD” – OpenArgs). Acest ultim parametru il vom folosi in cadrul|
|codului VBA asociat formului frm_CasaDeDiscuri pentru a actiona conform cerintelor acelui context. |
| |
|Deschidem acest form pentru design si completam codul VBA asociat atit formului (ce sa se intimple cind formul este deschis sau |
|inchis), cit si codul asociat diferitelor controale. |
|[pic] |
| |
| |
| |
| |
| |
| |
| |
|Introducem codul urmator: |
| |
| |
|Private Sub btn_Save_Click() |
|Dim sArgs As String |
| |
|' Salvam valoarea ultimului parametru |
|sArgs = Me.OpenArgs |
|If sArgs = "ADD" Then |
|' Sintem in modul adaugare rapida din formul de editare detalii |
|' 1. Inchidem formul curent |
|' 2. Recitim tabela cu casele de discuri, afisata in controlul CASAID |
|' 3. Predam focusul pe controlul CASAID |
|DoCmd.Close acForm, "frm_CasaDeDiscuri" |
|Forms![frm_DetaliiDisc]![CasaID].Requery |
|Forms![frm_DetaliiDisc]![CasaID].SetFocus |
|End If |
|End Sub |
| |
| |
|Codul este comentat, asa ca nu am sa mai insist asupra actiunilor din cod. |
| |
|Adaugam si codul pentru butonul Abandon. |
| |
| |
|Private Sub btn_Abandon_Click() |
|Dim sArgs As String |
| |
|' Salvam valoarea ultimului parametru |
|sArgs = Me.OpenArgs |
|If sArgs = "ADD" Then |
|' Sintem in modul adaugare rapida din formul de editare detalii |
|' Inchidem formul curent |
|DoCmd.Close acForm, "frm_CasaDeDiscuri" |
|' Redam focusul pe lista CasaID |
|Forms![frm_DetaliiDisc]![CasaID].SetFocus |
|End If |
|End Sub |
| |
| |
| |
|Pentru a putea identifica vizual contextul in care lucreaza formul, vom introduce un cod VBA care va afisa in bara de titlu a |
|ferestrei modul de lucru curent. |
|[pic] |
| |
| |
| |
| |
| |
| |
| |
|Cu click pe butonul … se deschide VBA Editor si se introduce codul de mai jos: |
| |
| |
|Private Sub Form_Open(Cancel As Integer) |
|If Me.OpenArgs = "ADD" Then |
|Me.Caption = "Adaugare rapida casa de discuri" |
|ElseIf Me.OpenArgs = "EDT" Then |
|Me.Caption = "Editare casa de discuri" |
|ElseIf Me.OpenArgs = "ADR" Then |
|Me.Caption = "Adaugare casa de discuri" |
|End If |
|End Sub |
| |
| |
|Si acum sa vedem efectul. |
|[pic] |
| |
| |
| |
| |
| |
| |
| |
|Se poate vedea ca titlul afisat in bara de titlu este “Adaugare rapida”. |
| |
|Va voi asista acum in creerea formului in care vom putea edita datele din celelalte tabele asociate aplicatiei: case de discuri, |
|genuri, standarde disc, agenda. Pentru usurinta, vom folosi modul de afisare / gestionare / modificare date tabelar, cu subformuri|
|care include tabelele dorite. |
| |
|Pentru aceasta vom avea nevoie de un form principal, in care vom include aceste subformuri, pe cite un tab separat fiecare |
|subform. Incepem cu un click pe New… in containerul Forms. |
|[pic] |
| |
| |
| |
| |
| |
| |
| |
|Click pe Design View, OK. |
|[pic] |
| |
| |
| |
| |
| |
| |
| |
|Redimensionati formul implicit pina ajunge suficient de mare (similar cu imaginea de mai sus). Click pe butonul Tabbed Control |
|(vezi imaginea de mai sus pentru localizarea acestuia in toolbar). NOTA: Tabbed control este un control ActiveX. Mai multe detalii|
|despre controalele ActiveX gasiti in documentatia Access. |
|[pic] |
| |
| |
| |
| |
| |
| |
| |
|Dimensionati tab-urile similar imaginii de mai sus. Click dreapta pe tab-uri si selectati Properties. |
|[pic] |
| |
| |
| |
| |
| |
| |
|[pic] |
| |
| |
| |
| |
| |
| |
| |
|Modificam titlul afisat pentru fiecare tab si adaugam tab-uri conform imaginii de mai sus |
|[pic] |
| |
| |
| |
| |
| |
| |
| |
|Adaugam pagini noi cu click dreapta si Insert Page. |
|[pic] |
| |
| |
| |
| |
| |
| |
| |
|Inseram ca subform in fiecare tab, un link catre tabelele cu rol de cataloage. Pentru a insera un subform, click pe butonul |
|Subform / Subreport din toolbar (vezi in imaginea de mai sus localizarea acestui buton in toolbar). |
|[pic] |
| |
| |
| |
| |
| |
| |
| |
|Procedati similar cu celelalte tab-uri si subformuri. |
|[pic] |
| |
| |
| |
| |
| |
| |
| |
|Click pe tab-ul dorit, si apoi click pe subformul inclus. Modificati proprietatea Name conform imaginii de mai sus. Procedati |
|similar pentru restul tab-urilor / subformurilor. |
| |
|Formul creat mai sus ne va permite accesul rapid si facil la datele cu rol de cataloage, pentru a actualiza aceste date: adaugari,|
|modificari si stergeri de date din aceste cataloage. |
| |
|Modificam unele proprietati de afisare a formului. Setati conform imaginii de mai jos: |
|[pic] |
| |
| |
| |
| |
| |
| |
| |
|Acest form se va inchide cu ajutorul butonului standard Close (X) al ferestrelor Windows. |
|[pic] |
| |
| |
| |
| |
| |
| |
| |
|Salvam formul si facem o proba. |
|[pic] |
| |
| |
| |
| |
| |
| |
| |
|Formul nou creat: |
|[pic] |
| |
| |
| |
| |
| |
| |
| |
|Acum, pentru a accesa acest form, trebuie sa creem un nou buton in formul principal al aplicatiei. Deschidem formul frm_Startup in|
|modul design. |
|[pic] |
| |
| |
| |
| |
| |
| |
|[pic] |
| |
| |
| |
| |
| |
| |
| |
|Asignam o actiune acestui buton, si anume sa deschida formul frm_Cataloage, prin intermediul codului de mai jos: |
| |
| |
|Private Sub btn_Cataloage_Click() |
|DoCmd.OpenForm "frm_Cataloage", , , , , acDialog |
|End Sub |
| |
| |
|Salvam si inchidem formul frm_Startup. Cu acestea, am putea spune ca aplicatia noastra este gata. Totusi, am vrea ca accesind |
|aceasta baza de date (sau aplicatie Access), sa se deschida automat formul frm_Startup si fereastra bazei de date Access (unde |
|sint disponibile tabelele si celelalte obiecte) sa fie ascunse. |
| |
|Aceasta se poate face foarte usor, astfel: |
|[pic] |
| |
| |
| |
| |
| |
| |
| |
|Tools, Startup… |
|[pic] |
| |
| |
| |
| |
| |
| |
| |
|Efectuati setarile conform imaginii de mai sus si click pe OK. Inchideti Access si creati un shortcut la baza de date creata in |
|cadrul acestui exercitiu. Dati dublu click pe acest shortcut si vedeti rezultatul muncii voastre. |
| |
|In functie de anumite setari de securitate din cadrul pachetului Office, poate aparea urmatorul mesaj de avertizare: |
|[pic] |
| |
| |
| |
| |
| |
| |
| |
|Selectati Open si mergeti mai departe. |
|[pic] |
| |
| |
| |
| |
| |
| |
| |
|Si cu asta putem considera aplicatia noastra terminata. Va invit sa o parcurgeti de la un capat la altul si sa ii testati |
|functionalitatile. |
| |
|Concluzii |
|Citeva imbuntatiri posibile: |
|• Se poate asigna formului de rapoarte ca la dublu-click pe un raport sa se afiseze raportul dorit; |
|• Se poate adopta un alt format al raportului, se pot filtra datele pe diferite criterii, se pot genera rapoarte diferite pentru |
|diferitele categorii de cd-uri, care sa includa datele relevante pentru acea categorie |
|• Se pot include si alte informatii relevante pentru acest domeniu |
| |
|Pentru comoditatea voastra, aveti aplicatia disponibila pentru download Aici |
| |
|Sper ca acest tutorial sa va fi ajutat cit de cit si sa va trezeasca interesul pentru bazele de date. Dupa cum ati vazut, Access |
|poate fi o unealta puternica si permite lucrul cu baze de date mari, stocate pe un server puternic de baze de date (SQL Server). |
|Frumusetea acestui aspect nu consta in faptul ca puteti folosi un SQL Server, ci ca puteti folosi orice motor de baze de date |
|puternic (Oracle, etc), cu unele mici amendamente (care nu fac obiectul acestui tutorial) si unele aspecte specifice fiecarui |
|motor de baze de date. |
................
................
In order to avoid copyright disputes, this page is only a partial summary.
To fulfill the demand for quickly locating and searching documents.
It is intelligent file search solution for home and business.
Related searches
- 7 stages of alzheimer s life expectancy
- 7 x 3 answer
- x 7 x 3 0
- 7 x 3 x 2
- centos 7 python 3 8
- 7 stages of alzheimer s chart
- centos 7 python 3 yum
- 7 stages of alzheimer s printable
- grammar and language workbook grade 7 unit 3 verbs
- 7 days of god s creation
- life path number 7 and 3 compatibility
- centos 7 python 3 6