Document fără titlu

Module de acces ca obiecte

Acesta este un exemplu al unei funcții universale care verifică dacă formularul este încărcat, al cărui nume este trecut ca un argument. Nu are nimic de-a face nu numai obiectul, ci, de asemenea, cu această aplicație și poate fi folosit atât în ​​sine și în orice altă aplicație.







Un al doilea tip de modul în Access este un modul de clasă. modul de clasă diferă de un modul standard, astfel încât, în plus față de procedurile pe care le conține o descriere a obiectului și este folosit pentru a crea obiecte. Procedurile definite în acest modul sunt metode și proprietăți ale obiectului. Exemple de module de clasă sunt module formulare și rapoarte.

Module formulare și rapoarte legate de forma sau raportul specific, și conține proceduri de evenimente pentru formularul sau raportul. Modulul de formular nu este creat imediat atunci când creați o nouă formă. Acesta este creat și asociat cu forma de îndată ce încercați să creați prima procedură eveniment pentru forma sau unul dintre controalele pe formular, sau apăsați programul (cod) în fereastra Form Designer.

Pentru a de la codul VBA pentru a deschide forma și schimba unele proprietăți de formă sau de formă controalele, pot fi utilizate două metode:

1. OpenForm macro, ca metodă a obiectului DoCmd, de exemplu:

Formulare! Tovary.RecordSource = „Produs Client“

2. Referința la modulul de clasă corespunzătoare, de exemplu:

Form_Tovary.RecordSource = „Produs Client“

În ambele cazuri, atunci când efectuează instanță standard deschis de forma, „Produse“ (Produse) și se înlocuiește cu sursa de înregistrare pentru forma.

VBA vă permite să deschideți mai multe instanțe ale clasei formular. Acest lucru poate fi necesar, cum ar fi atunci când doresc să arate organizației-mamă și companiile subsidiare în diferite ferestre. Informații despre una sau alta pot fi stocate în diferite înregistrări într-un tabel, și aveți nevoie pentru a deschide două instanțe de aceeași formă cu diferite înregistrări în fiecare caz.

Clasa de formular poate avea doar o singură copie a standardului, astfel încât în ​​acest caz, trebuie să creați o instanță personalizată a formularului. În acest scop, este necesar ca programul pentru a descrie tipul de variabilă, care este numele clasei de forma modulului, în timp ce în declarația de variabilă pentru a include un nou cuvânt cheie. De exemplu, următoarea comandă creează o nouă instanță a formularului „Clienții“ (clienți) și leagă-l la o variabilă de tip Formă:

frm Dim Ca Form_Klienty

Acum, schimba sursa de date pentru această formă, locația de pe ecran, pur și simplu o altă formă de suprapunere) și atribuie proprietatea pentru a afișa (vizibil) la Da (Da).

FRM. RecordSource = „Organizația noastră“

DoCmd.MoveSize 1440, 2400

FRM. Vizibil = Adevărat

Pentru a schimba poziția pe ecran utilizând SdvigRazmer macro (MoveSize), în care, în acest caz, coordonatele colțul din stânga sus al formularului cu fereastra principală respect de acces.

Pentru a forma a doua instanță nu dispare de pe ecran, imediat după apariția sa, Frmpentru variabilă trebuie declarate la nivelul modulului, de ex., E. este declarat în secțiunea Declarația (descriere) modulul folosind cuvântul cheie.

Valori de proprietate sau formă de control, vom cere în acest fel se va aplica numai instanța curentă a formularului și nu vor fi salvate după ce se închide. Acest lucru este în contrast cu modulul de clasă de la un modul standard: acestea au diferite date stocate. Modulul standard poate declara o variabilă publică, și este în curs de instalare, va avea valoarea ei, atâta timp cât nu se va schimba în mod evident, cealaltă echipă, în orice alt modul. In clasa de date ale modulului aparțin aceeași instanță de clasă, adică. E. Un singur obiect. Ele apar atunci când obiectul este creat, și dispar atunci când obiectul dispare. Acest lucru înseamnă că variabilele publice într-un modul clasă va fi disponibilă numai până când nu există o variabilă care conține o trimitere la o instanță separată a clasei. Acest lucru este valabil și pentru procedurile declarate publice.

Formulare și rapoarte sunt clase standard de obiecte de acces, dar puteți utiliza module de clasă pentru a crea obiecte speciale, numele sub care modulul de clasă conservat devine numele unui obiect special. Sub-tip și de funcții, astfel cum este definit în procedura de modul de clasă, obiectul va fi metodele și procedurile de tip Property Let, Property Get și Set de proprietăți - proprietăți ale obiectului. Pentru o descriere a metodei nu returnează o valoare, este utilizată o procedură sub, și pentru o metodă care returnează o valoare - procedură de funcții. Procedura de proprietate Obțineți returnează valoarea obiectului. Procedura de Set de proprietăți atribuie o valoare unei proprietăți a obiectului. Proprietatea Fie Procedura stabilește valoarea proprietăților care nu aparțin obiectului.







Mai multe informații detaliate cu privire la aceste proceduri pot fi obținute de la Access Help, introducând termenul de căutare ca nume de procedură: Proprietate Let, Property Get și o proprietate, respectiv.

Dim Ca cls noi Clasa_Mea

După acest apel la metodele și proprietățile sale, prin utilizarea acestei variabile. De exemplu, dacă procedura de definit modulul: MyProcedure, apoi, în scopul de a efectua această procedură, expresia

Pentru a crea un modul modul sau clasa standard de. trebuie să:

2. Crearea procedurile și descrierile necesare.

3. Salvați modulul făcând clic pe butonul Save (Salvare) din bara de instrumente. În același timp, a emis o casetă de dialog Salvarea (Salvare), în care este necesar să se introducă un nou nume de modul, și faceți clic pe OK.

După aceea, noul modul apare în fereastra bazei de date, lista de module. Pentru a accesa, aveți posibilitatea să faceți clic Designer fereastra de baze de date (proiectare) sau, dacă sunteți în formă Designer Mode sau un raport, faceți clic pe programul (cod) de pe bara de instrumente.

Link-uri de opoziție modulul

- imyaSemeystva! ObjectName, de exemplu, Module! pornire

- imyaSemeystva ( "ObjectName"), de exemplu, modulul ( "Startup")

- imyaSemeystva (index), în cazul în care indicele - indicele obiectului în familie

Pentru referire la un modul de formular sau raport, puteți utiliza numele modulului, de exemplu, Module! Form_Klienty, sau a proprietății de forma, de exemplu,

Modul Object (modulul) are un tip de proprietate (Tour). Valoarea acestei proprietăți specifică tipul modulului: un modul pentru o valoare standard este 0, un modul de clasă - 1.

  • Clasa de acces Module - include module de formulare și rapoarte.
  • Module - module standard.
  • clase Module - module speciale de clasă, dacă acestea sunt prezente în cerere.

În plus, aceasta poate include referiri la obiecte de biblioteci externe și module de listă a acestor biblioteci.

Codul din fiecare modul este împărțit în secțiuni, comutarea între ele se realizează prin selectarea valorilor din lista de obiecte, care este situat în colțul din stânga sus al ferestrei. Modulul formular această listă include o secțiune (general), secțiunea a formei în sine, și secțiuni pentru fiecare control pe formular.

Pentru această secțiune a modulului de raport (general), o secțiune pentru raportul obiect (Raport) și secțiuni ale raportului pentru fiecare domeniu. nu evenimente definite, astfel încât nu există secțiuni relevante în modulul de cod pentru câmpurile de raport.

Pentru lista standard modul include numai secțiunea (General).

Pentru un modul de clasă, există secțiuni (generale) și (clasa).

Fiecare partiție poate conține mai multe proceduri, care pot fi selectate din lista de procedură.

Lista de proceduri pentru modulul formular conține o secțiune separată pentru fiecare eveniment de forma si toate controalele. Pentru o listă de proceduri de modul clasă conține doar două proceduri pentru inițializează și Terminate clasa eveniment.

Pentru o listă a procedurilor de module standard, este format din secțiunea Declarații, care conține o descriere a variabilelor constantelor la nivel de module, procedurile externe și secțiuni pentru fiecare procedură (subrutină sau funcție) în modulul.

Utilizați unul dintre tipurile de reprezentări de cod, puteți alege colțul din stânga jos a ferestrei în fereastra:

  1. Proceduri (Procedura de vizualizare), atunci când fereastra afișează doar o singură procedură selectată.
  2. Prezentarea modulului complet (modulul Full View), atunci când fereastra prezintă mai multe proceduri, care sunt separate unul de celălalt printr-o linie subțire.

Acesta conține patru file.

Editorul Primul tab conține două grupe de parametri: Cod Setarea și fereastra de setare.

Fila General al treilea cuprinde mai multe grupuri de switch-uri și steaguri.

- Break pe toate erorile - Orice erori, indiferent dacă acesta este procesat de program, va duce la închiderea programului.

- Break în modul de clasă - Orice eroare nemanipulabil în modulul de clasă va duce la terminarea programului.

- Break pe Erori Unhandled - Întreruperea unui apel program de toate erorile netratate de tip.

  • Steagurile Ultimul grup determină când proiectul este compilat module:

    - Compile on Demand - determină dacă toate modulele compilate de proiect înainte de începerea lucrului, sau numai la cerere. În primul caz, aplicația va rula mai mult.

    - Compile Context - determină dacă compilarea modulelor care rulează în fundal.

    Docking ultima filă conține casetele de validare care vă permit să se stabilească poziția ferestrei principale pe ecran.

    1. Apăsați - cel mai rapid.

    2. Apăsați butonul de pe bara de instrumente Object Browser - friendly.

    3. Selectați comanda View, Object Browser - în cazul în care alte modalități de a uita.

    fereastra Object Browser este format din mai multe liste care oferă o reprezentare cu trei niveluri a informațiilor.

    Proiect / lista Biblioteca în colțul din stânga sus al ferestrei conține o listă cu toate bibliotecile și proiectele care se face referire în proiect. Cel puțin aceasta include o bibliotecă de acces, biblioteca VBA, biblioteca proiectului curent.

    La alegerea din lista de una dintre bibliotecile din clase inferioare câmpul din stânga afișează o listă cu nivelul următor - o listă a tuturor obiectelor incluse în această bibliotecă. De exemplu, dacă selectați biblioteca de acces, în lista claselor, veți vedea o mulțime de obiecte familiare. Alegerea uneia dintre ele, de exemplu, DoCmd, în câmpul din dreapta numere de puteți vedea toate metodele de acest obiect. Dacă vom alege un obiect Form în lista din dreapta pentru a afișa toate proprietățile și metodele de formă obiect.

    În partea de jos a ferestrei, care se numește zona de descriere, afișează o descriere a elementului selectat.

    Dacă selectați în proiect / domeniu Biblioteca, aplicația curentă „Northwind“, în clasele de câmp arată toate formele de module, rapoarte și module standard de aplicare.

    Dacă ați scris o mulțime de proceduri, acesta este un mod convenabil de a găsi procedura de dreapta. În plus, în cazul în care vă înscrieți în lista de componente ale modulelor vă interesează procedura, faceți clic pe butonul Vizualizare Definiție, se deschide o fereastră a acestui modul și veți vedea că este această procedură în ea.

    există un text câmp de căutare (a doua casetă combo din partea de sus a ferestrei) pentru a găsi obiectul dorit. Este posibil să introduceți un text pentru a căuta și faceți clic pe butonul cu binoclu, care este alături. Apoi se deschide o suplimentare Rezultate câmpul de căutare, care afișează o listă de componente care satisfac condiția de căutare.

    Evidențierea lista șir dorit, puteți utiliza din nou butonul View Definition, pentru a deschide procedura dorită.

    instrumente de depanare

    Comenzile de meniu Scop Debug este descris în tabelul ___

    comenzi din meniu Debug