Secțiunile următoare vă arată cum să utilizați formularele pentru angajați și cum să le programați. Numele obiectelor sunt furnizate, astfel încât să le puteți examina cu ușurință în baza de date Northwind 2.0 Starter Edition.
Acestea sunt detalii importante despre utilizarea formularului listă de angajați:
-
Începând din meniul principal, selectarea Angajați din meniul din stânga afișează o listă de angajați (sfrmMainMenu_EmployeeList) în spațiul de lucru din dreapta.
-
ID-ul fiecărui angajat este un hyperlink pentru a deschide înregistrarea angajatului respectiv într-un formular popup pentru a-și edita detaliile.
-
Pentru a adăuga un angajat nou, faceți clic pe butonul Adăugare angajat din extremitatea dreaptă a rândului antet, care deschide o înregistrare nouă de angajat într-un formular popup (sfrmEmployeeDetail_OrderList) pentru a-i adăuga detaliile.
Acestea sunt detalii importante despre utilizarea formularului popup cu detalii despre angajat:
-
Formularul popup cu detalii despre angajat (frmEmployeeDetail) permite editarea și adăugarea înregistrărilor angajaților.
-
Sunt necesare trei câmpuri pentru toți angajații: Prenume, Nume și Funcție.
-
Mesajele de eroare Acces implicit vă avertizează atunci când unul sau mai multe nu sunt finalizate înainte de a încerca să salvați înregistrarea angajatului. Nu se aplică nicio validare pentru alte câmpuri, cum ar fi adresa de e-mail și numerele de telefon. Utilizatorii sunt responsabili pentru formatarea corectă, cum ar fi (000) 000-000. Validarea Access implicită din controlul vertical pentru intrările de limite de titluri într-o listă de valori preselectat. Puteți adăuga titluri noi, din nou, utilizând comportamentul Access implicit pentru controalele câmp valoare. Selectarea listei verticale din formular afișează pictograma de editare.
-
Imaginile angajaților sunt stocate în tabel sub formă de câmp atașare. Puteți să adăugați imagini noi sau să modificați imaginile existente, utilizând comportamentul Access implicit pentru câmpurile atașare.
-
Dacă un angajat a creat comenzi, subformularul din partea dreaptă a ferestrei popup cu detaliile angajatului listează acele comenzi în Vizualizare foaie de date.
-
Orice comandă existentă pentru acel angajat poate fi editată făcând clic pe ID comandă cu hyperlink în subformularul Comenzi (sfrmOrderDetails).
Formularele angajaților utilizează atât VBA, cât și macrocomenzi încorporate în controale din formulare pentru a efectua logica de bază. Acestea conțin două macrocomenzi independente și mai multe macrocomenzi încorporate.
Listă angajați
-
Formularul Listă angajați (sfrmMainMenu_EmployeeList) își preia datele dintr-o interogare simplă qryEmployeeList (din proprietatea RecordSource ). Bazarea unui formular de introducere a datelor pe o interogare cu un singur tabel este o practică recomandată.
-
Controalele din formularul listă de angajați sunt activate, ceea ce înseamnă că le puteți selecta și bloca, ceea ce înseamnă că sunt doar în citire.
-
Câmpul Titlu, care se bazează pe un câmp multi-valoare, este o listă verticală sau o casetă combo. Sursa sa de rânduri este o listă de valori, ceea ce înseamnă că elementele opționale disponibile sunt conținute direct în acel câmp. Lista are proprietatea Limită la listă setată la "Da", deoarece acest formular nu este destinat editării. Câmpul multi-valoare este inclus doar ca ilustrație a caracteristicii, nu ca recomandare.
-
În lista de angajați (sfrmMainMenu_EmployeeList), două proceduri Sub din evenimentele Key Up și Key Down răspund la mișcările cursorului unui utilizator în Vizualizarea foaie de date. Ele detectează direcția unei mișcări a cursorului (la stânga, la dreapta, deasupra sau mai jos) și apelează funcții VBA care mută focalizarea la controlul corespunzător.
-
Editați înregistrările existente ale angajaților și adăugați unele noi în formularul de detalii (frmEmployeeDetail).
-
Puteți deschide formularul de detalii despre angajat din lista de angajați ca formular popup editabil în oricare dintre următoarele două moduri:
-
Selectând un IDAngajat, care este formatat pentru a apărea ca hyperlink, deschideți formularul cu detaliile angajatului și filtrați-l numai la înregistrarea angajatului respectiv.
-
Selectând eticheta Adăugare angajat din antetul formularului pentru a deschide formularul cu detalii despre angajat și a muta focalizarea la o înregistrare nouă. Toate înregistrările curente se află în sursa de înregistrări a formularului.
Rețineți că cele două abordări pot avea efecte diferite asupra performanței. Filtrarea unui formular într-o singură înregistrare minimizează volumul de date de transferat din tabel. Cu un set mic de înregistrări, diferența poate să nu fie vizibilă.
-
Detalii despre angajat
-
Formularul de detalii al angajatului (frmEmployeeDetail) preia datele dintr-o interogare simplă, qryEmployeeDetails (din proprietatea RecordSource a formularului). Se recomandă să bazați un formular de introducere a datelor pe o interogare cu un singur tabel.
-
Clauza SELECT din qryEmployeeDetails utilizează caracterul wildcard asterisc (*) pentru a selecta toate câmpurile din tabel, în timp ce clauza SELECT din qryEmployeeList listează câmpuri specifice. Utilizarea metacaracterului permite regăsirea câmpurilor noi dintr-un tabel subiacent fără editare suplimentară a interogării. Acest lucru nu este posibil cu o listă de câmpuri specifice. O listă de câmpuri specifice restricționează setul de înregistrări doar la acele câmpuri necesare în formularul doar de afișare. Proiectarea dvs. ar trebui să se bazeze pe examinarea abordării mai potrivite cerinței dvs., deși preferința ar trebui să fie cea mai puțin probabilă pentru a necesita întreținere viitoare, care este utilizarea metacaracterului.
-
Controalele din formularul cu detalii despre angajat sunt activate și nu sunt blocate, ceea ce înseamnă că puteți să le selectați și să le editați.
-
Câmpul Titlu, care se bazează pe un câmp multi-valoare, este o listă verticală sau o casetă combo. Sursa sa de rânduri este o listă de valori, ceea ce înseamnă că elementele opționale disponibile sunt conținute direct în acel câmp. Lista are proprietatea Limită la listă setată la "Nu", deoarece acest formular este destinat editării. Adăugarea sau editarea titlurilor utilizează metoda Access încorporată, deci nu este necesar niciun cod. Câmpul multi-valoare este inclus doar ca ilustrație a caracteristicii, nu ca recomandare.
-
Puteți edita înregistrările existente ale angajaților și pe cele noi în formularul de detalii.
-
Puteți deschide formularul de detalii despre angajat din lista de angajați ca formular popup editabil în oricare dintre următoarele două moduri:
-
Selectând un IDAngajat, care este formatat pentru a apărea ca hyperlink, deschideți formularul cu detaliile angajatului și filtrați-l numai la înregistrarea angajatului respectiv.
-
Selectând eticheta Adăugare angajat din antetul formularului pentru a deschide formularul cu detalii despre angajat și a muta focalizarea la o înregistrare nouă. Toate înregistrările curente se află în sursa de înregistrări a formularului.
-
-
Filtrarea unui formular într-o singură înregistrare minimizează volumul de date de transferat în formular din tabel. Cu un set mic de înregistrări, cum ar fi datele eșantion, diferența poate să nu fie vizibilă.
-
Controlul de subformular (sfrmEmployeeDetail_OrderList) din partea dreaptă a opțiunii Informații personaleafișează comenzile pentru angajatul selectat în prezent (dacă există). Subformularul din controlul de subformular este reutilizat din secțiunea Comenzi . Proprietățile Access LinkMasterFields/LinkChildFields predefinite ale înregistrărilor de sincronizare și filtrare ale controlului de subformular afișate pentru fiecare angajat.
-
În detaliile despre angajat (frmEmployeeDetail), două proceduri Sub din evenimentul La eveniment curent și La Închidere al formularului răspund la aceste evenimente:
-
În Current afișează sau ascunde eticheta Adăugare angajat , în funcție de înregistrarea curentă, dacă aceasta este existentă sau când este o înregistrare pentru un angajat nou, pornită, dar nesalvată încă.
-
La Închidere efectuează două acțiuni de întreținere. Acesta interoghează din nou setul de înregistrări din subformularul de detalii al angajatului pentru a actualiza toate adăugirile sau modificările efectuate în formularul de detalii. Aceasta sincronizează afișarea contoarelor de angajați în meniul principal, apelând macrocomanda respectivă.
-
Macrocomenzi
macMainMenu_UpdateSubs Această macrocomandă este independentă și rulează atunci când apar anumite evenimente, inclusiv formularele angajaților. În macMainMenu_UpdateSubs, submacrocomedile sunt grupate în funcție de caracteristicile la care se aplică. Pentru angajați, submacrocomanda sincronizează numărul de înregistrări ale angajaților cu numărul afișat în meniul principal.
Macrocomenzi încorporate Formularele angajaților sunt determinate în principal de macrocomenzi încorporate conținute în formular și editabile numai din formular. În lista de angajați (sfrmMainMenu_EmployeeList):
-
Hyperlink ID angajat Dacă faceți clic pe IDAngajat în formularul listă angajați, se deschide formularul Detalii angajat și se setează focalizarea la înregistrarea de angajat selectată.
-
Adăugare etichetă angajat Dacă faceți clic pe butonul Adăugare angajat , se deschide formularul de detalii al angajatului (frmEmployeeDetail) și setează focalizarea la o înregistrare nouă.
-
Detalii despre angajat Dacă faceți clic pe butonul Adăugare angajat din antet, se salvează înregistrarea curentă și se setează focalizarea la o înregistrare nouă.