Dezvoltarea bazei de date în aplicația Access DBMS. Macrocomenzi, concept, numire. Macrocomenzi în DBMS Microsoft Acces Access Schimbarea câmpului de înregistrare macro

Cu ajutorul macrocomenzilor, puteți efectua aproape toate acțiunile pe obiectele de acces de la cele descrise în capitolele anterioare.

Macroul de acces este o structură constând din una sau mai multe macrocomenzi, care sunt efectuate fie secvențial, fie în ordine specificate de anumite condiții. Un set de macrocomenzi în acces este foarte larg, folosind macro-uri, puteți implementa o mare parte din ceea ce face procedurile pe VBA. Fiecare macrocomendă are un nume specific și, probabil, unul sau mai multe argumente care sunt specificate de utilizator. De exemplu, atunci când utilizați comanda macro, deschide forma (openformă) trebuie specificată ca argument, cel puțin numele formei deschise și modul de ieșire al acestuia pe ecran.

În fila. 11.1 conține o listă de Microsoft Access 2002 Macrock, grupate după categorie: Lucrul cu date în forme și rapoarte; Executarea comenzilor, macrocomenzilor, procedurilor și cererilor; Lucrul cu obiecte; Importul / exportul datelor și obiectelor și altele. În categoria "altele" colectate toate macrocomenzile, care vă permit să influențați interfața aplicației.

Categorie Scop Macrocomanda.
Lucrul cu date în formulare și rapoarteSelectarea datelor.Aplicați filtrul (ApplyFilter)
Mișcarea conform datelorGăsiți referință (FindNecord) Găsiți control maritim (Gotocontrol) Saluecord (Gotocord)
Actualizarea datelor sau ecranulREQUINE (REQUIRY) SHOWALRCords
PerformanţăComandă execuțieRulați comanda (runcomraand)
Macro execuția, procedurile sau cererilePrograme de logare RunMacro (Runcode) Deschidere Recorder (OpenQuery) 3nyck 3Apoca SQL (RunspiR)
Efectuați o altă aplicațieRularea aplicației (Runapp)
Întreruperea executăriiAnulați evenimentul (Anulare) STOP Allacros (Stopmacro) STOP MACROS (Stopmacro)
Ieșiți de la Microsoft AccessRenunțați (renunțați)
Import ExportTransferați obiecte de acces Microsoft către alte aplicațiiTrimiteți definirea (ieșirea) Trimite (Sendobject)
Transformarea formatului de dateConvertiți transferul Bazudata (transfersqldat abaze) la transferarea transferurilor (transfertext) (transfertext)
Lucrul cu obiecteCopierea, redenumirea și salvarea unui obiectCopie Obiect (CopyOBJECT) Fișier de copiere bazatta (redenumire) Salvați (salvați)
AlțiiIeșirea pe ecran sau ascunderea barei de instrumente Beep încorporate sau specialeInstrumente de panou (showtoolbar) semnal (ventilator)

Tabelul 11.1. Macrocks Microsoft Acces 2002

După cum se poate observa din acest tabel, acțiunile care pot fi efectuate folosind macrocomenzi sunt foarte diverse. Chiar dacă nu utilizați macrocomenzi în aplicațiile dvs., este logic să studiezi aceste macrocomenzi, deoarece acestea pot fi utilizate în procedurile VBA, după cum se va afișa mai târziu. (vezi capitolul 13).

În comparație cu versiunea anterioară de acces, au apărut trei noi macroshomanzi în Microsoft Access 2002:

Referencesql (transfersqldatabase) - transferă baza de date Microsoft SQL Server 7.0 și deasupra unui alt server;

CopyDatabaseFile - efectuează copierea bazei de date curentă Microsoft SQL Server 7.0 și de mai sus, atașată la proiectul de acces;

Opendfuncționalitate (OpenFunction) - efectuează o funcție definită de utilizator în proiectul de acces. Această caracteristică este o solicitare care, utilizând parametrii de intrare, returnează rezultatele, precum și procedura stocată.

Utilizarea macrocomenzilor este justificată de faptul că sunt ușor de creat, iar pentru aceasta nu trebuie să explorați sintaxa limbajului de programare. Așa cum se va afișa în secțiunea următoare, trebuie să știți numai principalele tehnici de lucru în Microsoft Access și Windows, cum ar fi tragerea obiectelor de pe fereastră Bază de date (Baza de date) într-o fereastră specială - Designer macrocomenzile. (Macro Design), alegerea unei acțiuni din lista și introducerea de expresii ca argumente ale macro. Prin urmare, dacă chiar nu vreau să studiez sintaxa VBA sau pare prea dificilă, aplicați cu îndrăzneală macrocomenzi și veți obține o aplicație destul de funcțională.

După cum sa menționat mai sus, scopul principal al macrocomenzilor este crearea unei interfețe convenabile de aplicație: astfel încât formularele și rapoartele să fie deschise când apăsați butoanele din formular sau în bara de instrumente sau selecția obișnuită a comenzii de meniu; astfel încât atunci când deschideți aplicația, utilizatorul a văzut pe ecran nu o fereastră Bază de date (Baza de date), umplute cu mai multe mese, cereri, formulare și rapoarte și o anumită formă de înțelegere, cu care ar fi posibil să producă imediat acțiunile dorite și așa mai departe.

Cu ajutorul macrocomenzilor, puteți crea meniuri și bare de instrumente convenabile pentru instrumentul de solicitare și un pic mai târziu vom descrie cum să o faceți.

Cu toate acestea, utilizarea macrocomenzilor are unele dezavantaje că este potrivit să spunem aici.

  • Capabilitățile macrocomandului sunt limitate comparativ cu posibilitățile limbajului VBA, astfel încât, în unele cazuri, fără programarea pe VBA nu poate face, deși trebuie să fiți sigur că aceste caracteristici suplimentare sunt într-adevăr necesare. Limba VBA oferă mai multe oportunități de a lucra cu datele, vă permite să utilizați mecanismul de programare a obiectelor pentru a comunica cu alte aplicații, funcții de apel din bibliotecile bibliotecii dinamice de încărcare (DLL) și pentru a crea propriile funcții specializate.
  • Macrocomenzile pot fi utilizate aproape peste tot unde sunt utilizate procedurile VBA, cu toate acestea, procedurile VBA sunt de obicei efectuate mai repede.
  • Macrocomenele sunt obiecte care există separat de formele și rapoartele în care sunt utilizate, prin urmare, atunci când aceste obiecte devin foarte mult, sprijinul lor este destul de laborios. Procedurile de procesare a evenimentelor VBA fac parte integrantă din formulare și rapoarte și există avantajele sale. De exemplu, atunci când transferați formulare și rapoarte dintr-o bază de date la alta cu acestea, procedurile asociate sunt transferate automat.

Cu toate acestea, după cum sa observat deja, în multe cazuri, utilizarea macrocomenzilor este destul de justificată, deoarece simplifică și accelerează foarte mult dezvoltarea cererii. Utilizarea macrocomenzilor, puteți crea mici aplicații cu un singur utilizator, deși la crearea aplicațiilor multiplayer sau client-server, unde viteza aplicației este critică, este mai bine să utilizați VBA.

Macro este un set de macrocomenzi, adică Comenzi pentru gestionarea elementelor bazei de date (tabele, formulare, solicitări etc.) stocate sub un nume comun. Execuția macro este o execuție secvențială a comenzilor care o fac. Macro-urile sunt de obicei concepute pentru a automatiza acțiuni necomplicate, dar adesea realizate.

Majoritatea macrocomenzilor sunt alcătuite din macrocomenzi, au argumente. De exemplu, o macrocomenză pentru a deschide tabelul are un nume de tabel argument (adică numele tabelului pe care doriți să-l deschideți), precum și alte argumente care specifică modul de deschidere al tabelului. Unele macrocomenzi nu au argumente (de exemplu, comanda macro trebuie să ruleze pur și simplu fereastra curentă). Există, de asemenea, o comandă specială pentru a executa comanda; Argumentul său este numele unuia dintre elementele de meniu (în limba engleză). Prin urmare, comanda de comandă înseamnă executarea elementului meniu specificat.

Fereastra Macro Descriere (butonul numit în fila MACROS) conține două coloane principale: Macro-urile (în această coloană este introdusă, adică macro-ul este de fapt descris) și notă (comentariu). Dacă macrocomenzi trebuie efectuată în condiții specifice, se utilizează și coloana suplimentară; Această caracteristică va fi revizuită în secțiunea 4.

Macrocomenele pot rula pe execuție direct (din fila Macros), precum și conectați-vă la butoane (de obicei plasate în ferestrele de formă) sau executate în anumite condiții (de exemplu, atunci când introduceți anumite date).

Un exemplu de creare macro

Una dintre cele mai ușoare și cele mai frecvente aplicații ale macrocomenzilor este deschiderea simultană a mai multor elemente de bază de date (tabele, forme etc.) în forma dorită.

Exemplul 8.1. Trebuie să dezvolte un macro care va fi în același timp deschideți tabelul Obiecteprecum și cererea cuprinzând date privind costul și numărul ordinelor fiecărui client. În plus, atunci când vizualizați aceste date, trebuie să excludeți posibilitatea de a efectua modificări la tabelul de date privind obiectele.

Macroul de punere în aplicare a acestor acțiuni este creat după cum urmează.

1. Mergeți la fila Macros. Apăsați butonul Creare.

2. În prima linie a coloanei macro, introduceți macro-ul pentru a deschide tabelul. Specificați argumentele acestui macro: numele tabelului - Obiecte, MODE - TABLE, MODE DATE - Citiți numai (pentru a exclude modificările tabelului).

3. În linia următoare, introduceți macrocomenzii pentru a deschide cererea. Specificați argumentele sale: Nume de solicitare - Contracte de cost pentru clienți, MODE - TABLE, MODE DATE - Citiți numai.

4. În linia următoare, introduceți comanda Macros pentru a executa comanda. Ca argument, alegeți comanda prealabilă (în unele versiuni - tilehorizontal). Acest lucru este necesar, astfel încât ferestrele deschise de macrocomenzile anterioare să rămână pe ecran (reciproc).

5. Închideți fereastra macro. La cererea de salvare a modificărilor făcute pentru a răspunde da. Specificați numele macro: .

6. Pentru a executa macro-ul, trebuie să selectați marcajul său și să faceți clic pe butonul Start (sau faceți dublu clic pe marcajul macro). Se afișează cererea și tabelul.

Prezentarea datelor rezultate are un dezavantaj: pe ecran (în partea de jos), fereastra principală a bazei de date rămâne. Este recomandabil să o transformi înainte de a afișa alte două ferestre de pe ecran (tabel și interogare). Pentru a face acest lucru, faceți modificări la macro.

1. Mergeți la fila Macros. Selectați Macro. Vizualizați informații despre obiecte.. Apăsați butonul Designer.

2. Așezați cursorul în prima linie (adică, în acea linie, în fața căreia doriți să introduceți o nouă macro). Selectați linia de inserție a casetei.

3. În șirul gol care apare (mai întâi), introduceți comanda macro. Nu există argumente din această macro.

5. Rulați macro-ul.

Crearea de macrocomenzi B.Acces. 2007

Macro reprezintă un set macro, care este creat pentru a automatiza sarcinile frecvente realizate.

Designer macrocomenzile.

Macro-urile sunt create într-o fereastră special concepută a constructorului macro. Pentru a crea o macro, selectați fila Crea și în butonul derulant Macro. Selectați o comandă Macro. . Fereastra CONSTRUCTOR MACROS se va deschide, care constă din panoul de descriere situat în partea de sus a ferestrei, iar panourile de argumentare sunt în cele inferioare. Panoul implicit de descriere conține trei coloane. Macrocomanda. , Argumente și Notă .

În câmpul macro, puteți selecta comanda dorită (deschidere deschisă, înregistrare deschisă, raport deschis, lansări etc.) apăsând butonul mouse-ului. În caz contrar în șir Macrocomanda. Puteți obține pur și simplu orice obiect de bază de date (tabel, formă etc.).

După selectarea macrocomenzilor de pe panoul de argumentare al ferestrei Constructorului Macros, ar putea par să specifice valorile argumentelor macrocomenzilor corespunzătoare. Un set de șiruri de caractere de pe acest panou depinde de macroul specific. Valorile specificate ale argumentelor apar, de asemenea, în a doua coloană Argumente Panouri de descriere.

Coloană Notă Folosit pentru a introduce un comentariu care descrie acțiunea efectuată.

Luați în considerare o modalitate simplă de a crea un macro. De exemplu, o vom dezvolta pentru a deschide tabelul Grupuri Bază de date Student .

    Ați deschis deja fereastra Designer macrocomenzile. . Acum, cu mouse-ul trage masa Grupuri de Tranziții regionale în coloană Macrocomanda. . Ca rezultat, comanda macro pare să deschidă tabelul, iar accesul va umple automat câmpurile panoului argument (figura 1).

    În câmpul mod de date, setați valoarea Doar citirea Care va face ca înregistrările acestui tabel să fie inaccesibile pentru a edita.

Pentru a introduce valoarea argumentului macro, puteți selecta un argument din listă sau puteți introduce expresia în câmpul său. În partea dreaptă a câmpurilor unor argumente este butonul Builder, în fereastra căruia sunt introduse diferite expresii. Înainte de exprimare, trebuie să puneți un semn de egalitate (\u003d), cu excepția argumentului Expresie Macrocomandile Asigurați-vă și argument Numărul de repetări Macrocomandile Lanshedmacros. .

Macro-ul poate conține mai multe macrocomenzi, care sunt efectuate secvențial. Adăugați la macro-ul creat de noi, care deschide tabelul de grup în modul de citire, adăugați un macro la utilizatorul care raportează utilizatorul că tabelul Produse Disponibil numai pentru a vizualiza informații.

Secvența de execuție:

    Mergeți la următorul șir de fereastra constructorului macro și în coloană Macrocomanda. Alegeți macro. Mesaj .

    În câmpul Mesaj Panoul de argument introduceți textul " Date disponibil numai pentru vedere " Argument Semnal Acesta servește pentru a determina dacă ieșirea va fi însoțită de un semnal sonor. În argument Un fel Selectați tipul de casetă de dialog. Specificați, de exemplu, valoare Avertizare !. În domeniul argumentelor Titlu permițându-vă să setați textul antetului mesajului, introduceți textul "Pe date" .

    Salvați macrocomanda sub numele Grupuri deschise .

După pornirea macro, va fi afișată tabelul de grup deschis în modul de vizualizare și mesajul prezentat în Fig.2.

Luați în considerare un alt exemplu. Să presupunem că trebuie să creați un macro care se deschide Listă .

    Deschideți fereastra CONSTRUCTOR MACRO și transferați forma în ea din fereastra bazei de date. Listă .

    Argument Numele formularului Conține o listă a tuturor formularelor de bază de date.

    Argument Mod. Determină modul în care formularul trebuie să fie deschis. Poate lua valori: formă, constructor, vedere, masă etc.

    Argument Numele filtrului. Aplicată la selecția și / sau sortarea înregistrărilor în formular. Aceasta poate fi o cerere sau un filtru înregistrat sub forma unei interogări.

    Argument Starea de selecție Stabilește starea de selectare a înregistrărilor afișate în formular. Condiția este o expresie.

    Argument Modul de date Specifică metoda de lucru cu datele și poate lua una dintre valori: adăugați, modificați sau citiți numai.

    Argument Modul fereastră Determină tipul de fereastră: cutie normală, invizibilă, pictogramă și casetă de dialog.

    În câmpul Nume filtru Utilizarea filtrului creat anterior CP-11. Introduceți textul CP-11. .

    În noul șir macro, selectați Macro Mesaj , Iar în panoul argument, introduceți textul mesajului: Filtru 11 Grupul . Setați caseta de dialog de ieșire a mesajului selectând valoarea. Info. Argument Un fel .

    Salvați macrocomanda sub numele 11 Grupul .

Ele par a fi un container în care cele mai simple echipe (macrocomenzile) sunt stocate în mod constant. Întrebarea apare în mod natural: "De ce sunt necesare, atunci dacă toate cele mai simple comenzi sunt atât de disponibile folosind comenzile de meniu și butoanele barei de instrumente?".

in primul rand, pe barele de instrumente și în meniu, nu putem alege mai mult de o comandă la un moment dat, iar macro execută întreaga secvență a comenzilor specificate în sine - unul după altul și foarte repede (de exemplu, de la deschiderea formularului Formați și înlocuiește valorile de la intrarea curentă în forma principală și imprimă, de asemenea, acest gol pe imprimantă).

Mai jos este un exemplu de macro care determină o formă auxiliară pentru a schimba informațiile.

În formularul de vizualizare există un buton "Introducere date", când faceți clic pe care începe macrocomenzi "conductivor". Prima comandă "OpenWork" încărcați formularul auxiliar pentru a schimba informațiile. Comanda "Management de conducere" ne trimite la câmpul cheie invizibil "cod".

"Găsiți bypass" descarcă o înregistrare cu același cod care, în formularul de vizualizare (dacă am analizat datele de pe Votitiovici, atunci în formă auxiliară, ar trebui să fie și date despre Voitovich). A patra echipă de "management de celegare" traduce cursorul în câmpul [Nume], adică în primul domeniu al formularului.

În al doilea rândMacrocomenzile în acces au capacitatea de a rula numai la anumite valori.

De exemplu, putem imprima liste care au nevoie de îmbunătățirea condițiilor de locuit pentru fiecare oraș separat sau o listă generală (formă "tipărirea listelor de liste în studiul" Cazare "Locuințe").

Butonul Vizualizare afișează rapoarte pe ecran și "Imprimare" la imprimantă.

Butonul "Cancel" închide formularul "Listele de imprimare ale contului constând în cont" fără alte acțiuni.

Când alegeți un comutator "Pentru toate așezările", un raport este afișat cu o listă generală de toate nevoia de îmbunătățire a condițiilor de locuit. Când alegeți "Pentru o anumită așezare", raportul va fi afișat pentru orașul ales din listă.

Aksss este un program destul de complex. Acest lucru confirmă faptul că pe Internet puteți găsi o mulțime de informații despre aceasta. Cu toate acestea, știi ce este suficient de suficient pentru a ști doar 20% din instrumente pentru a crea și configura 80% baze de date în program?
În al treilea rând
Macro-urile din acces pot fi pornite numai cu evenimentele de care aveți nevoie (deschiderea sau închiderea formularului, faceți clic pe mouse, apăsați butonul etc.).

De exemplu, este necesar când faceți clic pe butonul specificat pentru a apela calculatorul sistemului Windows. Foarte convenabil și nu trebuie să facă mișcări inutile.

Butonul "Calculator" stabilește un macro cu un singur "Start-up", care specifică linia de comandă la aplicație (de exemplu, cu: \\ Windows \\ Calc. Exe). Deși puteți seta pur și simplu hyperlinkul cu butonul Calculator din programul Calc. EXE.

Raportul este conceput pentru a afișa informații despre aniversări pentru o lună definită de utilizator. Dacă nu există aniversări în nici o lună, atunci, desigur, nu vor exista înregistrări în raport. Ca urmare, un eveniment de raportare a "lipsei de date" este generat automat, pe care l-am specificat un macro. În exemplul de mai jos, standardul "nici o proprietate" nu este atribuită unui macro format din două macrocomenzi.

Primul macro "Anulare" pur și simplu nu afișează un raport gol pe ecran.

A doua comandă "Mesaj" afișează o casetă de dialog cu text explicativ. Dacă mesajul nu a fost afișat, atunci utilizatorul obișnuit nu ar înțelege de ce raportul nu apare pe ecran, decideți ce a apărut o eroare.

Mai sus arată doar avantaje simple și evidente ale macrocomenzilor. Dacă aveți un gând destul, atunci există încă o mulțime de argumente convingătoare în favoarea utilizării macrocomenzilor, a cărei scop principal este de a facilita viața deja grea a utilizatorului computerului cu ajutorul automatizării acțiunilor de rutină.

Scrieți un macro în accesul Cum, de exemplu, în Word Application, nu este posibil, dar în acces puteți crea o macro în fereastra CONSTRUCTOR MACRO sau în fereastra Visual Basic pentru aplicația Editor (VBA).

Macrocomenzile de acces sunt create în principal pentru a gestiona evenimentele. Evenimentul este orice acțiune care este recunoscută ca obiect și la care puteți defini un răspuns.

Evenimentele care pot fi atribuite macrocomenzilor includ, de exemplu, apăsând butonul pentru a afișa ecranul de interogare, formularul, raportul etc. Un exemplu de creare a unui macro poate fi crearea unui buton pentru a apela macro "Cerere deschisă" în butonul subordonat "Cererile" din baza de date.

Astfel, scopul principal al macrocomenzilor este crearea unei interfețe convenabile de aplicație în care vor fi deschise formele și rapoartele atunci când butoanele sunt presate în forme sau pe barele de instrumente. La deschiderea unei aplicații, ecranul afișează fereastra de bază de date, ci forma principală a butonului, care este creată pentru a naviga în baza de date, adică Ca meniul principal de baze de date.

În articolul Macros în baza de date Access 2003, crearea de macrocomenzi în fereastra CONSTRUCTOR MACRO, care se deschide cu comanda Creare în fereastra bazei de date din fila Macros. Fereastra Constructor Macros este împărțită orizontal în două părți: panoul de descriere și panoul de argument. În panoul de descriere implicit, sunt afișate două coloane: o coloană pentru introducerea unei macro și a unei coloane pentru introducerea notelor. Macrocomandul este o instrucțiune care definește acțiunile efectuate în Macro.

În șirul de coloană macro din lista derulantă, puteți selecta macro-ul dorit și în șirul de coloană, nota poate fi descrisă de acțiunea efectuată de macro.


Smochin. unu.

Panoul argument al macrocomenzilor, care apare în fereastra CONSTRUCTOR MACRO după introducerea macro, vă permite să selectați argumentele necesare din lista afișată pentru acest macro. Macrocomenzile pot conține ca un set de macrocomenzi, ca grup de macrocomenzi.

Pentru a crea rapid o macro în fereastra CONSTRUCTOR MACRO, puteți utiliza următoarea tehnologie. Primul lucru pe care trebuie să-l efectuați este să deschideți baza de date și să selectați (selectați) obiectul dorit din fereastra bazei de date. Apoi, una dintre modalitățile (din bara de instrumente, din bara de meniu sau din fereastra bazei de date), deschideți fereastra Macro Constructor și deplasați obiectul selectat din fereastra bazei de date la șirul Macro din fereastra Macro Constructor.

Pentru a crea un macro care deschide tabelul "Disciplina", trebuie să vă deplasați utilizând mouse-ul din acest tabel din fereastra bazei de date din șirul Macro Constructor Macro. În plus, în argumentele comenzilor macro, puteți seta modul de vizualizare, modul de date este citit numai.



Smochin. 2.

În același mod, puteți crea macrocomenzi: formular deschis, deschideți o interogare, deschideți un raport sau un start macro.



Smochin. 3.

Pentru a porni macrocomenzile create din bara de instrumente, trebuie să creați un buton pe una din bara de instrumente. Luați în considerare crearea unui buton pentru a porni macro-ul de susținere pe bara de instrumente standard, care se deschide în fereastra de aplicație implicită. În primul rând, trebuie să selectați o macro din fereastra de bază de date din fila Macros și să o trageți în bara de instrumente, butonul Opțiuni va apărea în bara de instrumente.


Smochin. patru.

Pentru a șterge un buton din bara de instrumente, trebuie să faceți clic dreapta pe bara de instrumente și să selectați comanda Setări din meniul contextual. În caseta de dialog care apare, configurați în fila Comenzi din lista de categorii alocați șirul Toate macrocomenzile. Trageți butonul stâng al mouse-ului din bara de instrumente la lista de comandă a ferestrei de configurare a dialogului. Ca rezultat, butonul Opțiuni va fi eliminat din bara de instrumente.



Smochin. cinci.