Object cation și lansarea de acces de la o aplicație externă

Access.Application obiect, pornire Accesul cererii externe, proprietăți și metode obiect Access.Application

model de obiecte de acces în arhitectura sa este foarte diferit de modele de obiecte Word și Excel. Poate că acest lucru se datorează faptului că accesul - nu „nativ“, ca Word și Excel, și produse achiziționate de la terți.

Unul dintre puținele momente în care programarea în Access este similar cu programarea în Word și Excel - este disponibilitatea obiectului Application, care este situat pe partea de sus a modelului obiect de acces ierarhie. El doar poate fi folosit pentru a rula software-ul de la alte aplicații de acces, precum și proprietățile și metodele sale sunt accesibile din orice parte a codului. Rularea de acces dintr-o altă aplicație ar putea arăta astfel:

Dim appAccess ca obiect

Set appAccess = CreateObject ( "Access.Application")

Dacă nu puneți proprietatea Vizibil la True, implicit va fi deschis de acces în modul invizibil (a se vedea va fi posibilă numai în lista de procese in Task Manager). Dacă executați acest cod din Word sau Excel procedură, în mod implicit, la încheierea acestei proceduri, obiectul este șters din memorie (deci și a emis o casetă de mesaj pentru a întârzia procesul).

Accesul poate fi programatic rula un alt în mai multe moduri diferite - prin modelul obiect al Windows Explorer, prin comanda interpret de sistem de operare (în acest caz, puteți utiliza opțiuni interesante Accesați linia de comandă -.. A se vedea materiale suplimentare de pe CD-ROM), Prin intermediul unei etichete de text * .mad, prin intermediul API, etc.

În practică rula programatică Accesul cade rar - așa cum este de obicei cel mai convenabil aplicații shell care rulează Word, Excel, etc. fă-o în Access. Deschideți Accesul la date de baze de date de acces în fișierul MDB nu este recomandat - în acest scop, este mai bine să utilizați obiecte ADO, mai simplu și mai convenabil, și mai puțin consumatoare de resurse.

Acum - despre proprietățile și metodele obiectului Application. După cum puteți vedea, acestea sunt stabilite în Access puține asemănări cu setul corespunzător în Word și Excel. La început - cele mai importante proprietăți:

  • AutomationSecurity - pentru a determina nivelul de securitate la deschiderea bazei de date. De valoare msoAutomationSecurityByUI implicite - folosiți ceea ce este configurat pe grafic meniul de ecran Macro -> Securitate. Puteți dezactiva chiar și deschiderea fișierelor bazei de date cu macro-uri (msoAutomationSecurityForceDisable), dar cel mai adesea msoAutomationSecurityLow de valoare, care vă permite să deschideți un fișier de date, fără discuție;
  • BrokenReference - o oportunitate de a vedea dacă există legături rupte (atunci când aplicația nu poate găsi modulul dll, sau o altă bază de date). Prezența legăturilor specifice pot fi verificate cu ajutorul obiectului de referință;
  • CodeContextObject - o caracteristică foarte utilă, care vă permite să se determine dintr-un obiect bază de date (formular, raport, etc.) a fost pornit modul / macro. Această proprietate poate fi, de exemplu, utilizat pentru sursa de detectare a erorilor;
  • CodeData - O altă proprietate importantă. Acesta oferă acces la colecțiile AllDatabaseDiagrams, AllFunctions, AllQueries, AllStoredProcedures, AllTables și AllViews. Cu toate acestea, în aceste colecții sunt aceleași obiecte AccessObject. Oportunitățile pe care le au la prima vedere, nu de mult, dar, de fapt, cu ajutorul acestei facilități, suntem capabili de a personaliza zeci de proprietăți pentru tabele, interogări, diagrame și alte obiecte ale bazei de date Excel. Un exemplu de utilizare a proprietății CodeData pentru informații cu privire la toate tabelele din baza de date ar putea arata astfel:

Pentru fiecare oTable În CodeData.AllTables

Application.DoCmd.RunSQL „Șterge din Table1“

Metodele din obiectul Application este de asemenea foarte mult (plus suficient de metodele de artificial mutat la obiect DoCmd). Mai jos sunt cele mai importante:

returnează că această funcție returnează. Eval () este foarte util pentru a evita controalele greoaie și tipuri de modificări, de exemplu, atunci când ia valori diferite introduse de către utilizator.

  • Metode ExportXML () și ImportXML () vă permit să exportați și seturi de import de tabele cu date (inclusiv informații despre cheile, indexurile, codificare, etc.) în fișier text-XML compatibil. Exportul și importul de acces, prin utilizarea acestor metode pot fi efectuate nu numai pentru baza de date Access, dar baza de date SQL Server la versiunea 6.5.
  • Metode GetOptions () și SetOptions () furnizează informații / pentru a seta zeci de setări care sunt disponibile prin intermediul Tools -> Options. De exemplu, în conformitate cu o tastă este apăsată masa nu se face modificări la dreapta (implicit), și în jos, puteți folosi codul

Application.SetOption "Mutare După Enter", 2

  • hWndAccessApp () - metoda este foarte necesară pentru cei care lucrează cu API-ul Windows. Acesta vă permite să returneze un pointer la fereastra de acces.
  • NewCurrentDatabase () metoda vă permite să creați și imediat deschide o nouă bază de date Access. OpenCurrentDatabase (), metoda poate fi utilizată pentru a deschide o bază de date existentă.
  • Nz () - caracteristica extrem de convenabil pentru practica. Acesta permite întoarce un șir gol sau o altă valoare, dacă valoarea din coloana a tabelului nu este definit (Null). designeri cu experiență folosesc adesea această caracteristică pentru a evita erorile la accesarea valorilor goale (orice, inclusiv Memo), de exemplu, atunci când caută tabel.
  • Quit () - clar. Nimic nu poate salva sau a salva toate cere utilizatorului.
  • RefreshDatabaseWindow () - abilitatea de a actualiza fereastra Baza de date. De obicei, utilizat atunci când creați programatică formulare, rapoarte, etc.
  • Run () metoda va permite să apelați o procedură sau o funcție în codul VBA și să-l până la 30 de parametri. Acesta poate fi folosit pentru a apela utilizatorul sau funcțiile încorporate, dar, deoarece acestea pot provoca și metode standard. cel mai des folosit la apelarea procedurii de program extern compilate de acces, de exemplu, DLL sau EXE.
  • RunCommand () - posibilitatea de a efectua una dintre zecile de built-in comenzile de acces (practic, tot ceea ce este în panoul de control și încorporat în meniuri). De exemplu, pentru a maximiza fereastra de acces, puteți utiliza comanda
  • SysCmd () - posibilitatea de a efectua o varietate de operațiuni de servicii: primesc informații despre directorul home, versiunea de acces, starea obiectului bazei de date pe care o specificați, executați termometrul în bara de stare, etc.