Uporaba dodatka za Access
Z dodatkom preverjate, kaj ni usklajeno, izvažate, uvažate, potrjujete spremembe in odpirate terminal, ne da bi zapustili Access.
Izhodišče
Razvijalec dela v programu Access, koraki med programom Access in repozitorijem pa tečejo v ukazni vrstici. Dodatek te korake postavi na zavihek traku podatkovne zbirke, ki jo ima razvijalec odprto.
Pregled rešitve
wkl-office addin install registrira dodatek za trenutnega uporabnika. Ob naslednjem zagonu programa Access trak
prikaže zavihek WKL SDK:
*Zavihek WKL SDK s skupinami iz spodnje tabele: (1) Projekt, (2) Viri, (3) Gradnja, (4) Koda, (5) Izdaja, (6) Orodja.*
| Skupina | Gumb | Kaj naredi |
|---|---|---|
| Projekt | ime projekta (meni) | Pokaže projekt odprte podatkovne zbirke in preklopi na drugega (spodaj). |
| Projekt | Spremembe | Odpre pregled sprememb (spodaj). |
| Projekt | Veja (meni) | Veja git projekta z ↑ commiti za pošiljanje in ↓ commiti za vlečenje: Povleci, Povleci in potisni, Pridobi, Preklopi na drugo vejo, Nova veja, ne da bi se izgubilo, kar hrani Access. Glejte Delo z vejami v programu Access. |
| Projekt | Stanje | Kot wkl-office status navede objekte, spremenjene v programu Access ali v izvornih datotekah. |
| Projekt | Sinhroniziraj | Kot wkl-office sync prenese vsako spremembo, narejeno samo v programu Access ali samo v izvornih datotekah; objekti, spremenjeni na obeh straneh, čakajo na vašo odločitev. |
| Projekt | Lastnosti | Odpre pogovorno okno Lastnosti projekta: podatke o aplikaciji, konfiguracije gradnje in profile izdaje projekta (spodaj). |
| Viri | Izvozi spremembe | Kot wkl-office export --changed zapiše objekte, spremenjene v programu Access, v izvorne datoteke. |
| Viri | Uvozi spremembe | Kot wkl-office import --changed naloži izvorne datoteke, spremenjene zunaj programa Access, v podatkovno zbirko. |
| Viri | Izvozi vse | Kot wkl-office export zapiše celotno podatkovno zbirko v izvorne datoteke. |
| Gradnja | Zgradi in znova odpri | Zapre podatkovno zbirko, jo kot wkl-office build zgradi iz izvornih datotek in odpre novo gradnjo. |
| Gradnja | Konfiguracija | Izbere konfiguracijo gradnje za ukaze Zgradi in znova odpri, Znova zgradi in odpri ter Preveri veljavnost; menija Pripravi izdajo in Zaganjalnik prikažeta njene profile izdaje (spodaj). |
| Gradnja | Znova zgradi in odpri | Kot Zgradi in znova odpri, le da vsak objekt zgradi na novo, kot wkl-office rebuild. |
| Gradnja | Preveri veljavnost | Kot wkl-office validate preveri zgrajeno podatkovno zbirko glede na izvorne datoteke (objekti, sklici, prevajanje), ne da bi kar koli spremenil. |
| Gradnja | Preveri kodo | Kodo VBA odprte podatkovne zbirke preveri s pravili SDK in ugotovitve navede na zavihku Težave (spodaj). |
| Gradnja | Prekliči | Prekliče operacijo, ki se izvaja (spodaj). Omogočen je samo, dokler se kakšna izvaja. |
| Koda | Odvisnosti | Pokaže, kdo uporablja element pri kazalcu ali objekt, izbran v podoknu za krmarjenje, in kaj ta uporablja (spodaj). |
| Koda | Pojdi na definicijo | Odpre deklaracijo imena pri kazalcu (spodaj). |
| Koda | Poišči vse sklice | Navede vsa mesta, ki uporabljajo ime pri kazalcu, z njihovo vrstico (spodaj). |
| Koda | Preimenuj | Preimenuje element pri kazalcu v kodi in v objektih Accessa, s predogledom (spodaj). |
| Koda | Vstavi (meni) | V okno kode urejevalnika VBA vstavi predlogo (proceduro z obravnavo napak, lastnost, glavo modula, predloge projekta) ali procedure dogodkov za kontrolnike in spremenljivke WithEvents modula (spodaj). |
| Koda | Zgodovina (meni) | Zgodovina procedure, Zgodovina modula in Avtorstvo vrstic za kodo pri kazalcu, iz gita (spodaj). |
| Koda | Preizkusi (meni) | Izvede vse preizkusne postopke projekta, postopke modula pri kazalcu ali postopek pri kazalcu, tako kot wkl-office test (spodaj). |
| Izdaja | Pripravi izdajo (meni) | Navede profile izdaje, ki se gradijo v izbrani konfiguraciji, in pripravi izdajo za vse (Vsi profili konfiguracije konfiguracija) ali za enega, kot wkl-office deliver --profile; za konfiguracijo brez profila prikaže Ni profila za konfiguracija in Lastnosti projekta …; če izdaja ni nastavljena, Nastavi izdajo … odpre Lastnosti projekta s profilom Production; Odvisnosti navede, kaj bo izdaja vsebovala. Glejte Priprava izdaje aplikacije z WKL Office SDK. |
| Izdaja | Zaganjalnik (meni) | Za vsak profil izbrane konfiguracije: Nastavi v programu Bootstrapper Manager (odpre projektno datoteko zaganjalnika za profil), Preizkusno izvajanje (/whatif zaganjalnika), Zgradi MSI (kot wkl-office msi). |
| Orodja | Oblikovalniki (meni) | Linked Tables Manager, Ribbon Designer, Shortcut Menu Designer, Navigation Pane Designer, Application Designer: oblikovalniki knjižnice WKL Forms Object Library za to podatkovno zbirko. |
| Orodja | Terminal | Odpre lupino v mapi projekta. |
| Orodja | Delovno območje | Pokaže ali skrije delovno območje ob podatkovni zbirki; dokler je prikazano, je gumb pritisnjen. |
| Orodja | Nastavitve | Nastavitve SDK vašega uporabnika sistema Windows: privzete vrednosti za nove projekte, mape, delovanje, predloga založnika. Odpre se tudi brez projekta. |
Veliki gumbi so tri vstopne točke: projekt, Zgradi in znova odpri ter Oblikovalniki. Drugi ukazi so majhni in zloženi drug nad drugega, kot na kompaktnih trakovih aktualne različice sistema Office.
Gumbi delujejo na projektu odprte podatkovne zbirke. Projekt SDK poišče v mapi podatkovne zbirke in v treh mapah nad
njo: uporabi najbližjo mapo, v kateri je natanko ena datoteka .acproj; mapo z več datotekami .acproj preskoči in
išče naprej navzgor. Če projekta ni, meni projekta prikazuje „Ni projekta“ in ukazi ne naredijo ničesar.
Lastnosti projekta
Gumb Lastnosti v skupini Projekt odpre pogovorno okno Lastnosti projekta: eno mesto za konfiguracije gradnje in profile izdaje projekta, podobno kot strani lastnosti v Visual Studiu. Drevo na levi jih navede, na desni so lastnosti izbranega vnosa.
Stran konfiguracije gradnje Release: ACCDE, način, profil povezave in zaupanja vredno mesto njene izhodne mape.
- Aplikacija: podjetje, izdelek, opis, avtorske pravice, blagovna znamka, licenca in različica aplikacije; shranjeni so v projektni datoteki (podatki o aplikaciji). Prazno polje sivo prikaže vrednost, ki jo prevzame iz profila založnika ali iz izdaje.
- Konfiguracije gradnje (Debug, Release in tiste iz projektne datoteke): ali nastane ACCDE, način modela aplikacije in profil povezave. Prazna vrednost prevzame vrednost projekta. Shranjene so v projektni datoteki, v kateri vse drugo ostane nespremenjeno (projektna datoteka).
- Profili izdaje: konfiguracija gradnje, v kateri se profil zgradi (ob njej je prikazan način, ki ga izda), ali je namenjen izvajalnemu okolju Access Runtime, mapa izdaje, ime datoteke zaganjalnika in ali izda eno datoteko ACCDB za 32- in 64-bitni Office. Nastavi v programu Bootstrapper Manager odpre projektno datoteko zaganjalnika za profil; zaganjalnik jo zapiše ob prvi izdaji profila. Profil je shranjen v
delivery\<name>.profile.json(delivery-settings.json). - Izdaja: različica in paketi izdaj, ki so skupni vsem profilom (
delivery\delivery-settings.json).
Orodna vrstica nad drevesom z ukazi Novo, Kopiraj, Preimenuj in Izbriši (ime ukaza je v opisu orodja)
deluje na izbrano vrsto; v drevesu F2 preimenuje, Delete pa izbriše. Ob preimenovanju profila se preimenuje
tudi njegov projekt zaganjalnika; ob brisanju vas okno vpraša, ali naj izbriše tudi projekt zaganjalnika. Konfiguracije
gradnje, ki jo uporablja kateri od profilov, ni mogoče izbrisati. V redu in Uporabi zapišeta spremembe; dokler
konfiguracija profila ne določa načina, okno to navede in oba gumba ostaneta onemogočena. Projekt brez izdaje jo dobi z
Nastavi izdajo: delivery-settings.json z različico 1.0.0 in najnovejšimi paketi izdaj pod WKL_PACKAGES ter
profil Production, ki se zgradi v konfiguraciji Release (ta dobi način Production, če ga nima). Izdaja v obliki 1 se
zapiše v obliki 2, ko jo tukaj spremenite. Okno se odpre le, kadar se ne izvaja nobena operacija, in sicer pri
konfiguraciji, ki je izbrana na traku.
Stran konfiguracije gradnje pokaže tudi, ali je njena izhodna mapa (build\<configuration>) zaupanja vredno mesto
programa Access, kjer Access podatkovne zbirke odpre z omogočeno kodo. Dodaj med zaupanja vredna mesta doda
natanko to mapo, brez podmap, v Središče zaupanja vašega uporabnika sistema Windows; z gumbom Odstrani vnos, ki ga
je dodal SDK, znova odstranite. Če mapo pokriva drugo zaupanja vredno mesto (na primer nadrejena mapa s podmapami), ga
stran navede in ne
ponudi ničesar. Stran Konfiguracije ponuja Dodaj vse izhodne mape med zaupanja vredna mesta. Oboje deluje
takoj in ne šele z V redu, ker ne spremeni nobene datoteke projekta. SDK mapo doda le, če to zahtevate (tukaj ali s
potrditvenim poljem v oknu Nov projekt iz podatkovne zbirke), in nikoli ne spreminja zaupanja vrednih mest, ki so
jih dodali drugi. Omrežno mapo doda le, če Access dovoljuje zaupanja vredna
mesta v omrežju.
Izbira konfiguracije gradnje
S spustnim seznamom Konfiguracija v skupini Gradnja izberete konfiguracijo gradnje projekta, tako kot s seznamom konfiguracij v Visual Studiu. Na seznamu so Debug, Release in konfiguracije iz projektne datoteke. Izbrana konfiguracija določa:
- kaj zgradijo ukazi Zgradi in znova odpri, Znova zgradi in odpri ter Preveri veljavnost. Ukaz Zgradi in znova odpri nato odpre podatkovno zbirko te konfiguracije: če je izbrana konfiguracija Release, odprta pa podatkovna zbirka Debug, zgradi
build\Release\<name>.accdbin jo odpre namesto podatkovne zbirke Debug. - katere profile izdaje prikažeta menija Pripravi izdajo in Zaganjalnik: tiste, ki se gradijo v tej konfiguraciji. Vnos Vsi profili konfiguracije konfiguracija pripravi izdajo prav za te profile;
wkl-office deliverbrez--profileše naprej pripravi izdajo za vse profile projekta. Izdaja v obliki 1 za vsak cilj navaja način namesto konfiguracije, zato tam oba menija prikažeta vse cilje.
Ukazi Stanje, Sinhroniziraj, Spremembe in Potrdi ter izvoz in uvoz sprememb delujejo s podatkovno zbirko, ki je odprta v programu Access, ne glede na izbrano konfiguracijo. Izbira se za vsakega uporabnika sistema Windows in vsak projekt shrani na seznamu nazadnje uporabljenih projektov: po ponovnem zagonu programa Access ostane izbrana, preklop na projekt pa odpre podatkovno zbirko te konfiguracije. Če sami odprete drugo podatkovno zbirko projekta, se izbira ne spremeni. Če projekt izbrane konfiguracije nima več (v Lastnostih projekta ste jo preimenovali ali izbrisali), velja konfiguracija odprte podatkovne zbirke.
Preklapljanje med projekti
Meni projekta navaja nazadnje uporabljene projekte (do deset, najnovejši na vrhu, odprti z oznako „(odprto)“) z
njihovo mapo in konfiguracijo, poleg tega pa ukaz Odpri projekt…, s katerim izberete datoteko .acproj (odpre
se v konfiguraciji, ki ste jo izbrali za ta projekt; projekt, ki ga še niste uporabljali, se odpre v konfiguraciji Debug). Ko izberete projekt, se odprta podatkovna zbirka zapre in odpre se podatkovna zbirka
projekta build\<configuration>\<name>.accdb, tako kot jo Access odpre s seznama nedavnih datotek, vendar brez
zagonske kode: tako kot pri `open` se zagonski obrazec in AutoExec ne izvedeta,
zagonske lastnosti pa za ta zagon ne veljajo; AutoExec in zagonske lastnosti so spet na mestu, takoj ko je podatkovna
zbirka odprta. Če podatkovno zbirko odprete na običajen način v programu Access (dvoklik na datoteko
.accdb, Datoteka › Odpri), se njena zagonska koda izvede kot doslej. Če projekt za izbrano konfiguracijo še nima
podatkovne zbirke, se ta najprej
zgradi v skritem programu Access, kot pri Zgradi in znova odpri. Dokler je odprt obrazec ali poročilo, preklop ni
mogoč, ker bi ga zapiranje podatkovne zbirke zaprlo brez vprašanja, ki ga sicer postavi Access; zaprite ga in izberite
znova. Seznam se za vsakega uporabnika sistema Windows hrani pod
HKEY_CURRENT_USER\Software\The White Knight Labs\Access Framework\Sdk\RecentProjects; projekt, katerega datoteka ne
obstaja več, se ne prikaže.
Ustvarjanje projekta iz odprte podatkovne zbirke
Če podatkovna zbirka, odprta v programu Access, ne pripada nobenemu projektu, meni projektov nad ukazom Odpri projekt… ponudi ukaz Nov projekt iz te podatkovne zbirke…. Ta odpre pogovorno okno Nov projekt iz podatkovne zbirke:
Pogovorno okno za podatkovno zbirko brez projekta; obe tabeli imata vrstice in sta označeni za prevzem.
- Ime aplikacije SDK predlaga iz imena datoteke podatkovne zbirke: preglase zapiše z dvema črkama (ä kot ae), pri drugih črkah izpusti diakritično znamenje (č kot c), vsak znak, ki ga identifikator VBA ne dovoljuje, pa nadomesti s podčrtajem. Ime postane ime datoteke zgrajene podatkovne zbirke in ime njenega projekta VBA.
- Mapa projekta je v mapi projektov iz nastavitev SDK, sicer pa poleg podatkovne zbirke. Biti mora prazna ali pa še ne sme obstajati. Opomba pod njo pove, kdaj izhodna mapa Debug novega projekta ni zaupanja vredno mesto programa Access: Access bi podatkovno zbirko, zgrajeno v njej, odprl z onemogočeno kodo. Potrditveno polje Mapo Debug dodaj med zaupanja vredna mesta je takrat označeno; ko kliknete Ustvari, SDK mapo doda.
- Nevtralni jezik in Access: 32- ali 64-bitni privzeto prevzameta vrednosti iz nastavitev za nove projekte.
- Prevzemi podatke navaja lokalne tabele z vrsticami, vse označene, tako kot Access uvozi tabele z definicijo in podatki. Označena tabela dobi pravilnik tabele
SeedData, zato se njene vrstice zapišejo v vire in jih vsaka gradnja znova naloži v podatkovno zbirko; neoznačena tabela ohrani samo strukturo. Oznako odstranite pri tabelah, katerih vrstice so delovni podatki uporabnikov, na primer naročila ali knjiženja.
Ustvari zapiše mapo projekta tako kot `new` in vanjo izvozi odprto podatkovno zbirko tako kot Izvozi vse; zapisane datoteke so navedene na zavihku Izhod. Sama podatkovna zbirka ostane nespremenjena. Novi projekt takoj postane odprti projekt, zato ukazi zavihka delujejo brez ponovnega odpiranja, dokler podatkovne zbirke ne zaprete. Ukaz Zgradi in znova odpri nato iz virov zgradi podatkovno zbirko v mapi gradnje in jo odpre; od takrat naprej delate v zgrajeni podatkovni zbirki kot v vsakem projektu. Prekliči ne ustvari ničesar.
V urejevalniku VBA
Dodatek se naloži tudi v urejevalnik VBA istega programa Access. Ko odprete urejevalnik (Alt+F11), ta prikaže delovno območje v oknu WKL SDK in doda orodno vrstico WKL SDK:
*Urejevalnik VBA z orodno vrstico WKL SDK in spodaj zasidranim oknom WKL SDK.*
- Okno ima iste zavihke kot delovno območje v programu Access (Projekt, Izhod, Težave, Odvisnosti, Spremembe, Terminal). Zasidrate ga lahko kot druga okna urejevalnika; urejevalnik si položaj zapomni za naslednji zagon.
- Orodna vrstica ima ukaze zavihka na traku v enakih skupinah. Projekt, Veja, Vstavi, Zgodovina, Preizkusi, Oblikovalniki, Pripravi izdajo in Zaganjalnik so meniji z enakimi vnosi kot na traku (Veja ima za napis trenutno vejo); Konfiguracija je meni, ki ima za napis ime izbrane konfiguracije; v meniju je ta konfiguracija prikazana kot pritisnjena. Ko preklopite na drug projekt ali drugo konfiguracijo ali dodate profil, se vnosi posodobijo v eni sekundi. Delovno območje okno v urejevalniku pokaže ali skrije, tudi potem ko ste ga zaprli.
- Oba delujeta s projektom podatkovne zbirke, odprte v programu Access, in si s trakom delita isto čakalno vrsto: postopek, zagnan v urejevalniku, je viden v obeh delovnih območjih, hkrati pa teče vedno le en postopek, ne glede na to, kje ste ga zagnali.
- Ukaz iz orodne vrstice ali iz okna urejevalnika svoje vprašanje prikaže nad urejevalnikom. Terminal, pregled sprememb in sporočila se odprejo v oknu urejevalnika; če ste okno zaprli, se zanje znova prikaže. Ker urejevalnik nima vrstice stanja, tudi rezultat, ki od vas ne zahteva ničesar, prikaže na zavihku Izhod.
- Pripravi izdajo in Zaganjalnik v orodni vrstici urejevalnika delujeta enako kot na traku (glejte Priprava izdaje aplikacije z WKL Office SDK): pred izdajo se koda preveri, spremembe iz programa Access pa morajo biti v virih; mapa vsake izdaje je na zavihku Izhod, dvoklik na njeno vrstico pa jo odpre v Raziskovalcu.
- Zgradi in znova odpri v urejevalniku gradi enako kot s traku (glejte spodaj). Ko je podatkovna zbirka znova odprta, Access spet prikaže urejevalnik, z oknom kode in vrstico, v kateri ste nazadnje delali.
- Ko v urejevalniku shranite (Ctrl+S, gumb Shrani ali ko Access shrani modul), se objekti, spremenjeni v programu Access, izvozijo v vire, tako kot z ukazom Izvozi spremembe; rezultat je na zavihku Izhod. Objekti, spremenjeni v programu Access in v virih, kot pri tem ukazu počakajo na odločitev pod Spremembe. Za posamezni projekt to izklopite tako, da na zavihku Projekt počistite Ob shranjevanju v urejevalniku VBA izvozi spremembe v vire; izbira velja za vsakega uporabnika sistema Windows in projekt posebej.
- Ob vsakem shranjevanju v urejevalniku dodatek preveri tudi kodo (glejte Preverjanje kode spodaj); ugotovitve so na zavihku Težave, skupaj s tistimi iz izvoza.
- Zavihek Spremembe modul, ki ste ga spremenili v urejevalniku in še ni shranjen, označi z Spremenjeno v urejevalniku VBA, ni shranjeno. Modul, spremenjen po zadnjem preverjanju, doda s korakom Shrani v urejevalniku VBA (Ctrl+S); dvoklik odpre njegovo kodo.
- Priročni meni okna kode vsebuje Pojdi na definicijo, Poišči vse sklice, Odvisnosti in Preimenuj za ime, na katero ste kliknili z desno tipko miške, ter Zgodovina procedure in Avtorstvo vrstic (spodaj).
- Tipka F1 na imenu iz knjižnice WKL Forms Object Library ali WKL Office JSON v oknu kode (razred, lastnost, metoda, dogodek, oštevilčenje ali ena od njegovih konstant) v brskalniku odpre ustrezni razdelek referenčnega priročnika API, ki je v angleščini. Na vseh drugih imenih in v oknu Immediate F1 kot doslej odpre pomoč urejevalnika VBA. F1 ime poišče enako kot Pojdi na definicijo: prek deklariranega tipa spremenljivke, stavka
WithinMe, ne pa prek tipovObjectaliVariant. - Tudi Excel, Word in Outlook naložijo dodatke urejevalnika VBA. Tam dodatek ne prikaže ne okna ne orodne vrstice, ker njegovi ukazi potrebujejo podatkovno zbirko Access.
Izvedba
wkl-office addin install wkl-office addin status
Nato zaženite Access in odprite podatkovno zbirko, zgrajeno iz projekta (build\Debug\<name>.accdb).
Pregled sprememb prikazuje isto tabelo kot wkl-office changes: vsak objekt ali datoteko s stanjem Access ↔ vir,
stanjem nadzora različic in naslednjim korakom ter vejo v primerjavi z oddaljeno vejo. Prva vrstica pove, kdaj je bilo
stanje preverjeno. Pregled stanje preveri znova, ko se odpre, po vsakem svojem ukazu, po vsakem postopku dodatka (na
primer po izvozu ob shranjevanju), ko Access znova postane aktivna aplikacija, in vsaki dve minuti, dokler je odprt.
Preverjanje, starejše od petih minut, je označeno kot morda zastarelo; neuspelo preverjanje prikazuje NI AŽURNO in
navede, kaj ni uspelo.
| Gumb | Korak |
|---|---|
| Preveri zdaj | Takoj preveri stanje. |
| Izvozi spremembe, Uvozi spremembe | Prenese vsako spremembo, narejeno samo v programu Access ali samo v izvornih datotekah; objekti, spremenjeni na obeh straneh, ostanejo nespremenjeni. |
| Obdrži Access, Obdrži vir | Kot wkl-office sync <object> --keep access ali --keep source odloči o izbranem objektu, spremenjenem na obeh straneh. Prej vpraša, ker se sprememba na drugi strani prepiše. |
| Razlike z Access | Celotna razlika med izvorno datoteko in programom Access za izbrano vrstico; pri obrazcih in poročilih celota, samo načrt ali samo koda. |
| Razlike z Git | Celotna razlika med zadnjim commitom (potrditvijo sprememb) in izvorno datoteko izbrane vrstice. |
| Potrdi … | Odpre pogovorno okno za potrditev: veja, sporočilo, spremenjene datoteke z mapo in stanjem (sprva so izbrane vse; počiščene datoteke ostanejo spremenjene za poznejši commit) ter gumba Potrdi in Prekliči. Potrdi je omogočen, ko je vneseno sporočilo in je izbrana vsaj ena datoteka; Ctrl+Enter potrdi. Nato kot wkl-office commit znova preveri stanje, izvozi in potrdi. V oddaljeni repozitorij se ne pošlje nič. Spremembe v urejevalniku VBA, ki še niso shranjene, se najprej shranijo kot s Ctrl+S, da podatkovna zbirka in commit vsebujeta isto kodo. |
| Potisni | Kot wkl-office push pošlje commite veje v oddaljeni repozitorij. |
| Povleci | Oddaljeno vejo povleče v vire in prispele objekte uvozi, kot Veja > Povleci in wkl-office pull. |
| Razreši spajanje | Za izbrano datoteko s konfliktom spajanja: Obdrži mojo ali Prevzemi njihovo; ročno spojeno datoteko (brez oznak konfliktov) označi kot spojeno. Dvoklik na takšno vrstico odpre datoteko v programu Visual Studio Code. Glejte Delo z vejami v programu Access. |
Od razlik do kode. V razlikah modula, modula razreda, obrazca ali poročila Odpri kodo (ali dvoklik na vrstico) odpre okno kode urejevalnika VBA pri tej vrstici, tudi iz delovnega območja v programu Access. Vrstica se poišče prek svoje procedure, zato se najde tudi, če se je koda v urejevalniku medtem spremenila; vrstica zunaj procedur se poišče po svojem besedilu.
Zgodovina kode. Meni Zgodovina prebere zgodovino projekta v gitu za modul aktivnega okna kode in proceduro pri kazalcu; projekt mora biti v repozitoriju git.
- Zgodovina procedure našteje potrditve, ki so spremenile vrstice procedure, najnovejše najprej, in pokaže, kaj je izbrana potrditev tam spremenila. Procedura se poišče po imenu v izvoženi datoteki, zato različno številčenje vrstic v urejevalniku in v datoteki ni pomembno; vrstice komentarja tik nad glavo procedure spadajo k njej. Git vrstice sledi nazaj skozi zgodovino, tudi če so se v modulu premaknile, kot to počne
git log -L. - Zgodovina modula našteje potrditve izvorne datoteke modula, tudi prek preimenovanj, vsako s svojo spremembo; pri obrazcu ali poročilu spada zraven tudi zasnova.
- Avtorstvo vrstic našteje vse vrstice procedure pri kazalcu (zunaj procedur: modula) s potrditvijo, avtorjem in datumom zadnje spremembe; vrstica, spremenjena po zadnji potrditvi, ima oznako Ni potrjeno. Dvoklik odpre datoteko v Visual Studio Code pri tej vrstici.
Zgodovina in avtorstvo vrstic bereta izvožene izvorne datoteke: kode, ki je spremenjena v urejevalniku in še ni izvožena, v njih ni, zgodovina procedure pa se začne pri zadnji potrditvi. Odpri v VS Code in Pokaži v mapi odpreta izvorno datoteko.
Izvajanje preizkusov. Meni Preizkusi izvede preizkusne postopke projekta (glejte
Navodilo: Preizkušanje aplikacije): Zaženi vse preizkuse, Zaženi preizkuse modula
(javne procedure standardnega modula pri kazalcu) ali Zaženi preizkus pri kazalcu. Najprej se shrani koda urejevalnika, nato se
odprta podatkovna zbirka kopira v preizkusno mapo konfiguracije in preizkusi v skritem Accessu. Napaka med izvajanjem ali
pogovorno okno preizkusa tako postane neuspelo preverjanje in vašega Accessa nikoli ne ustavi. Zavihek Izhod pokaže
vrstico za vsako preverjanje in povzetek, enake vrstice kot wkl-office test --no-build --only <izbor> na tej
podatkovni zbirki; vsako neuspelo preverjanje je v Težavah, dvoklik pa odpre njegov preizkusni postopek. Podatkovno
zbirko mora zgraditi SDK z navedeno preizkusno funkcijo, ker gradnja doda modul WklTest.
Vstavljanje predlog. Ukaz Vstavi kodo vstavi v aktivno okno kode urejevalnika VBA, na pravo mesto: proceduro za
proceduro pri kazalcu (med procedurami pri kazalcu, iz razdelka deklaracij na konec modula), spremenljivko na ravni
modula na konec razdelka deklaracij, glavo na začetek, brez stavkov Option, ki jih modul že ima. Predloga, ki
potrebuje ime, ga vpraša; imena, ki ni ime VBA, je ključna beseda ali je že ime procedure ali spremenljivke modula, ni
mogoče potrditi. Predloge SDK sledijo obravnavi napak, ki jo pričakuje preverjanje kode: Vstopna točka: dogodek ali
ukaz napako prikaže uporabniku, Funkcija s pospravljanjem in Sub s pospravljanjem pospravita v
FinalHandler in napako predata naprej; Lastnost s poljem in Glava modula ju dopolnjujeta. Koda se spremeni
samo v urejevalniku; shranite jo kot običajno.
Procedure dogodkov … našteje vse dogodke kontrolnikov ActiveX obrazca ali poročila (v shranjeni različici) in
spremenljivk WithEvents modula, iz knjižnic tipov, na katere se sklicuje projekt VBA, s parametri. Izbrane procedure
se vstavijo z enako obravnavo napak kot vstopna točka; procedure, ki jih modul že ima, so sive in jih ni mogoče
izbrati.
Lastne predloge shranite v mapo snippets poleg datoteke projekta, eno datoteko <id>.vba za vsako predlogo; v meniju
se pokažejo za predlogami SDK. Datoteka z id-jem predloge SDK (entry-sub) to predlogo za projekt nadomesti. Datoteka
je koda VBA z označevalnimi vrsticami:
'@title Log a line
'@description Writes the module and the date to the Immediate window.
'@code
Public Sub $Name$()
Debug.Print "$Module$ $Date$"
End Sub
'@header, '@declarations in '@code začnejo dele; $Name$ vpraša za ime, $Module$ je modul, $Date$ pa
današnji datum (yyyy-MM-dd).
Preverjanje kode. Ukaz Preveri kodo prebere kodo VBA odprte podatkovne zbirke iz urejevalnika VBA, shranjeno ali
ne, in jo preveri z istimi pravili, kot jih za vire uporabljata wkl-office check in gradnja; po vsakem shranjevanju v
urejevalniku se preverjanje zažene samodejno. Zavihek Težave navede vsako ugotovitev z objektom in vrstico; dvoklik
odpre okno kode pri tej vrstici.
| Pravilo | Resnost |
|---|---|
| Deklaracija za prvim postopkom | Napaka |
Spremenljivka ni določena: imenu je dodeljena vrednost, vendar ni nikjer v projektu deklarirano, modul pa ima Option Explicit | Napaka |
Ključna beseda ali stavek kot oznaka (Write:), rezervirana beseda kot ime (ByVal Until As Date) | Napaka |
| Modul z imenom projekta VBA | Napaka |
| Geslo v povezovalnem nizu | Napaka |
Stavek, ki lahko spodleti, v dejavni obravnavi napak pred Resume (na primer DoCmd.Close za Failed:) | Opozorilo |
Error kot ime | Opozorilo |
| Pot v uporabniški profil | Opozorilo |
Manjka Option Explicit (samo v urejevalniku, ne pri gradnji) | Opozorilo |
| Koda, ki je v projektu nič ne uporablja (samo z ukazom, ne po shranjevanju; glejte validate) | Namig |
Napaka prepreči prevajanje projekta; brez preverjanja jo Access pokaže šele v pogovornem oknu in brez vrstice. Pravilo
»spremenljivka ni določena« upošteva samo imena, ki jim je dodeljena vrednost, modulov obrazcev in poročil pa ne
preverja: ime, ki se samo bere, je lahko funkcija ali konstanta knjižnice, v modulu obrazca pa kontrolnik ali lastnost
obrazca. V obravnavi napak veljajo za varne klici postopkov projekta, Debug.Print, Err, MsgBox in
Set … = Nothing. Ukaz sporoči tudi, če projekt ni preveden: vse druge napake pri prevajanju pokaže šele prevajanje v
urejevalniku VBA (Debug › Compile). Vzroki in rešitve: Koda VBA se ne prevede.
Odvisnosti, definicija, sklici in preimenovanje. Skupina Koda deluje z elementom pri kazalcu v oknu kode, v urejevalniku VBA tudi prek priročnega menija okna kode. Na traku v Accessu ima prednost objekt, izbran v podoknu za krmarjenje. Koda se prebere iz urejevalnika takšna, kot je, shranjena ali ne; obrazci, poročila, poizvedbe, makri, trakovi in modeli pa pridejo iz izvornih datotek, zato so tako sveži kot zadnji izvoz. Mesta uporabe so ista kot pri `wkl-office deps`, vsako s svojo zanesljivostjo.
- Odvisnosti odpre zavihek Odvisnosti s tem, kar element uporablja. Uporablja preklopi na to, kar element sam uporablja. Vsako vrstico lahko razširite na naslednjo raven; element, ki je že na poti nad njo, je označen kot krog. Objekti Accessa in Nerazrešljiva ta mesta prikažeta ali skrijeta; Nazaj in Naprej vodita k prej prikazanim elementom. Zadnja vrstica pove, kdaj je bila koda prebrana in kdaj so bili objekti izvoženi; Izvozi spremembe objekte posodobi.
- Pojdi na definicijo odpre deklaracijo: vrstico v oknu kode ali kontrolnik, izbran v pogledu načrta. Pri članu knjižnice tipov ukaz navede knjižnico; člana prikaže brskalnik predmetov (F2).
- Poišči vse sklice na zavihku Odvisnosti navede mesta, ki uporabljajo element, z besedilom vsake vrstice.
- Na zavihku tipka Enter, dvoklik ali Pojdi na odpre mesto: kodo pri njeni vrstici, kontrolnik v pogledu načrta, poizvedbo ali tabelo v pogledu načrta, datoteko traku ali modela v programu Visual Studio Code. Kopiraj in Kopiraj kot tabelo prikazane vrstice preneseta v odložišče.
- Preimenuj odpre predogled z vsemi mesti. Zanesljiva mesta so izbrana, verjetna in nerazrešljiva pa ne; izberete jih, ko preberete vrstico. Preimenovanje nato izvozi spremembe iz Accessa, preimenuje v izvornih datotekah (vse datoteke ali nobeno) in spremenjene objekte uvozi v podatkovno zbirko; na koncu se koda preveri. Okna kode modulov, ki jih spremeni, se prej shranijo in zaprejo, ker Access odprtega objekta ne uvozi; okno, iz katerega ste začeli, se na koncu znova odpre. Trakovi in modeli WKL pridejo v podatkovno zbirko z naslednjim ukazom Zgradi in znova odpri; poročilo to navede. Kaj je mogoče preimenovati in katera imena so zavrnjena, je opisano pri `wkl-office rename`. Če uvoz ne uspe, so izvorne datoteke preimenovane, podatkovna zbirka pa ne: znova zaženite Uvozi spremembe ali preimenovanje razveljavite z
git checkout.
Zgradi in znova odpri. Podatkovna zbirka, odprta v programu Access, je rezultat gradnje svojega projekta, zato jo gradnja zamenja. Gumb zato najprej preveri stanje. Dokler ima Access spremembo, ki je ni v izvornih datotekah (naslednji korak Izvozi ali Odloči), ali kaj neshranjenega, gradnjo zavrne in navede objekte; v tem primeru se nič ne zapre. Sicer vpraša, zapre podatkovno zbirko, gradi v lastnem skritem programu Access (vaš Access ostane uporaben) in odpre novo gradnjo ali, če gradnja ni uspela, prejšnjo podatkovno zbirko. V Nastavitvah (stran Delovanje) lahko izklopite vprašanje pred gradnjo in vklopite preverjanje kode pred gradnjo: napaka, ki jo preverjanje najde, nato ustavi gradnjo, preden se podatkovna zbirka zapre, in je navedena na zavihku Težave.
Če je za projekt vklopljen izvoz ob shranjevanju (glejte V urejevalniku VBA), gradnja najprej opravi to, kar bi sprožilo shranjevanje v urejevalniku: shrani kodo v urejevalniku VBA in objekte, spremenjene v programu Access, izvozi v vire. Gradnjo nato zavrne le še, če je bil kakšen objekt spremenjen na obeh straneh ali če izvoz ne uspe.
Kje se prikažejo rezultati. Tako kot Access sporoča svoje rezultate, se rezultat, ki od vas ne zahteva ničesar, za deset sekund prikaže v vrstici stanja programa Access (na primer „Sinhroniziraj: ni sprememb“) in se ohrani na zavihku Izhod, ne da bi se odprlo okno. Kar zahteva vaše ukrepanje, na primer zavrnitev, neuspeh ali napake, odpre delovno območje na zavihku Težave (če so napake) ali Izhod.
Delovno območje je podokno opravil programa Access, privzeto zasidrano spodaj, podobno kot plošča z izhodom, težavami in terminalom v programu Visual Studio Code. Ima zavihke Projekt, Izhod, Težave, Odvisnosti, Spremembe in Terminal. Povlečete ga lahko na katero koli stran, izbrano mesto pa se ohrani. Vsak zavihek ima v vrstici na vrhu ukaze kot simbole z opisom orodja (bralniki zaslona preberejo ime vsakega). Če je delovno območje ožje od vrstice, se ukazi, ki ne gredo vanjo, premaknejo v gumb za prelivanje (») na desnem koncu. Trak in delovno območje uporabljata simbole programa Visual Studio Code (Codicons, Obvestila tretjih oseb) in barve njegove plošče: svetle ali temne glede na temo sistema Office (Datoteka › Račun › Tema sistema Office), v načinu visokega kontrasta pa sistemske barve. Tema se prebere ob zagonu programa Access; ko jo spremenite, Access zaženite znova.
*Delovno območje spodaj v programu Access, na zavihku Projekt.*
- Projekt ima v svoji vrstici ukaze Spremembe, Stanje, Sinhroniziraj, Izvozi spremembe, Uvozi spremembe, Izvozi vse, Zgradi in znova odpri, Znova zgradi in odpri, Preveri veljavnost, Preveri kodo, Prekliči, Umakni in Terminal (iste ukaze kot trak, v istih skupinah). Pod vrstico so projektna datoteka in podatkovna zbirka, odprta v programu Access, izbrana konfiguracija ter operacije (spodaj); ta del se pomika, kadar je delovno območje nizko. Ko odprete drugo podatkovno zbirko, ji zavihek sledi v dveh sekundah.
- Izhod zbira poročila ukazov, vsako pod vrstico s časom, tudi tista, ki so nastala, ko je bilo delovno območje skrito. Poročila lahko filtrirate (samo vrstice z določenim besedilom), kopirate in shranite. Samo Access, ki dodatku ne omogoči podokna opravil, poročila prikaže v lastnem oknu (z gumboma Kopiraj in Shrani; Esc ga zapre).
- Težave navaja napake in opozorila zadnjega ukaza, ki jih je sporočil, z resnostjo, fazo, objektom, vrstico v kodi, datoteko in vzrokom; naslov zavihka prikazuje njihovo število. Enter ali dvoklik odpre mesto težave: ugotovitev v kodi VBA v oknu kode pri njeni vrstici, obrazec, poročilo ali poizvedbo v pogledu načrta, modul v oknu s kodo, izvorno datoteko pa v programu Visual Studio Code pri ustrezni vrstici, če je
codena poti PATH, sicer v programu, ki ga Windows uporablja za to vrsto datotek. Enako naredi Odpri v vrstici, Počisti pa seznam izprazni. Naslednji ukaz seznam zamenja. - Spremembe je zgoraj opisani pregled sprememb, le da je v delovnem območju namesto v lastnem oknu; dokler je delovno območje prikazano, ga izbere gumb traku Spremembe.
- Terminal ob prvem prikazu zavihka zažene lupino v mapi projekta in vanjo usmeri tipkovnico; drugi zavihki delujejo tudi brez njega. Njegova vrstica vsebuje Nova lupina (konča lupino, ki teče, in zažene novo), Končaj lupino in mapo, v kateri lupina dela. Lupina ohrani svojo mapo, ko odprete drugo podatkovno zbirko. Dokler je delovno območje prikazano, gumb traku Terminal izbere ta zavihek, sicer odpre okno terminala.
Operacije. Stanje, Sinhroniziraj, izvozi in uvozi, gradnje in Preveri veljavnost so operacije. Izvajajo se ena za drugo, v vrstnem redu, v katerem ste jih zahtevali, ob programu Access, ki med izvajanjem ostane uporaben. Zavihek Projekt prikazuje operacijo, ki se izvaja (naslov, projekt, konfiguracijo in od kdaj), ter navaja čakajoče. Umakni odstrani izbrano čakajočo operacijo, preden se začne. Prekliči (na zavihku Projekt ali na traku) ustavi operacijo, ki se izvaja, med dvema korakoma: sinhronizacija ohrani, kar je že dokončala, izvoz sporoči preklic, ne da bi kar koli izbrisal, gradnja ohrani prejšnjo podatkovno zbirko, skriti Access operacije pa se konča. Vašega programa Access preklic nikoli ne zapre.
Vsaka operacija ohrani projekt, konfiguracijo in podatkovno zbirko, za katere ste jo zahtevali. Operacija, ki nalaga
izvorne datoteke v podatkovno zbirko, odprto v programu Access (Uvozi spremembe, Sinhroniziraj), se ne izvede, če je
ob njeni vrsti odprta druga podatkovna zbirka; izhod to sporoči. Dokler na istem projektu dela drug program
(wkl-office v terminalu, dotnet build ali drug Access), operacija čaka, zavihek Projekt pa navede, kdo ima projekt
zaklenjen. Ukazna vrstica se v enakem položaju konča z izhodno kodo 10
(Projekt je zaseden).
Ali je delovno območje prikazano, njegova širina in višina, kje je zasidrano in kateri zavihek je izbran, se za vsakega
uporabnika sistema Windows hrani pod
HKEY_CURRENT_USER\Software\The White Knight Labs\Access Framework\Sdk\Workspace, neodvisno od projektov. Ob
naslednjem zagonu programa Access se delovno območje prikaže tako, kot ste ga pustili. Dodatek te vrednosti prebere
enkrat na sejo programa Access, ko se delovno območje prvič prikaže; vrednost, spremenjena v registru med delom
programa Access, začne veljati ob naslednjem zagonu. Med sejo razporeditev določa delovno območje samo: če ga
premaknete ali mu spremenite velikost, se to ohrani.
Delovno območje se samodejno prikaže samo tam, kamor sodi: v polnem programu Access, ko je odprta datoteka ACCDB projekta SDK (projektna datoteka je v isti mapi ali največ tri mape višje), ali ko ni odprta nobena podatkovna zbirka, in samo, če ste ga pustili odprtega. Pri vseh drugih podatkovnih zbirkah, na primer pri dokončani aplikaciji, kot je Bootstrapper Manager, pri tuji datoteki ACCDB ali pri datoteki ACCDE, ostane skrito, dokler ga sami ne odprete z ukazom Delovno območje; ko se Access vrne k projektu, je spet tu. Takšno skrivanje ne spremeni shranjene nastavitve, delovno območje, ki ste ga zaprli, pa ostane zaprto, tudi v naslednjem projektu. Ko ni odprta nobena podatkovna zbirka, pogled Backstage programa Access prekrije vsa podokna opravil; delovno območje se znova prikaže z naslednjo podatkovno zbirko.
Oblikovalniki so oblikovalniki WKL Forms Object Library, isti, ki jih je odpiral nekdanji dodatek
WklExtensions.accda. Gumbi so omogočeni, ko je WKL Forms Object Library za trenutnega uporabnika registrirana v isti 32-
ali 64-bitni različici kot Office; sicer razlog pove njihov zaslonski namig. Vsak oblikovalnik dela na podatkovni
zbirki, odprti v programu Access, in je modalen.
Terminal v mapi projekta zažene PowerShell 7, če je nameščen, sicer Windows PowerShell. Podpira barve, smerne tipke, nadomestni zaslon celozaslonskih programov, kopiranje (izbira z miško, Ctrl+C ali desni klik pri izbiri) in lepljenje (Ctrl+V, Shift+Insert ali desni klik brez izbire). Ko okno zaprete, se končajo lupina in programi, ki jih je zagnala; enako se zgodi, ko zaprete Access.
Terminal v mapi projekta ob odprti podatkovni zbirki: wkl-office status navede poročilo, spremenjeno v programu
Access.
Odstranitev dodatka:
wkl-office addin remove
Vsak ukaz je dosegljiv s tipkovnico: zavihek traku ima stalne namige za tipke Alt, W K in po eno črko za vsak ukaz. V delovno območje pridete iz programa Access s tipko F6, Ctrl+Tab preklaplja med njegovimi zavihki, Tab pa premakne fokus v vrstico zavihka (Bližnjične tipke).
Opombe
- Dodatek je registriran samo za trenutnega uporabnika; pravice skrbnika niso potrebne. Gradnja ga nikoli ne registrira.
- Namestitev ali odstranitev začne veljati ob naslednjem zagonu programa Access.
- Dodatek ostane zunaj izdanih aplikacij, zato njihovi uporabniki razvijalskega orodja nikoli ne vidijo. Zavihek WKL SDK je prikazan in deluje samo v polnem programu Access, ko je odprta datoteka ACCDB ali ko ni odprta nobena podatkovna zbirka (za odpiranje nedavnega projekta). Skrit je v načinu izvajalnega okolja (
/runtimeali Access Runtime, ki prav tako naloži dodatke COM) ter pri datotekah ACCDE, ACCDR, MDE, MDB in ADP. Ko v polnem programu Access odprete datoteko ACCDB, se v dveh sekundah spet prikaže. V programu Access, zagnanem z avtomatizacijo, je dodatek neaktiven; njegovo okno v urejevalniku VBA takrat ne prikaže nobenega projekta. - Terminal potrebuje
wkl-office.exe: najde ga prek spremenljivke okoljaWKL_OFFICE_CLI, v mapibinSDK ali na poti PATH. Access v lastnem procesu ne dovoli psevdokonzole, zato terminal lupino zažene prekwkl-office terminal-hostv ločenem procesu. - Bralniki zaslona preberejo zaslon terminala kot vrednost okna (MSAA); vsak drug element delovnega območja ima ime in vlogo (UI Automation).
- Če Access premaknete na drug zaslon, ostane delovno območje uporabno; tudi na ozkem zaslonu (1080 slikovnih pik) ostanejo vidni vsi ukazi vrstice. Podprto prikazno merilo: 100 %.
- Dokler Access prikazuje pogovorno okno ali ima kaj neshranjenega, ukazi zavrnejo delo, enako kot v ukazni vrstici.