Povezovanje tabel podatkovne zbirke sprednjega dela po profilih
V tej vadnici podatkovni zbirki sprednjega dela nastavite eno povezavo SQL Server v dveh profilih, DEV in TEST, dodate
tabelo, jo povežete z oblikovalnikom in poskrbite, da aplikacija svoje tabele poveže ob vsakem zagonu. Potrebujete
približno petnajst minut.
Predpogoji
- Microsoft 365 Access ali okolje Access Runtime, v 32- ali 64-bitni različici, s knjižnico WKL Forms Object Library 1.23 ali novejšo različico, nameščeno in registrirano za trenutnega uporabnika sistema Windows (Namestitev izdanega paketa).
- Nameščen dodatek WKL Extensions, da Orodja zbirke podatkov › Dodatki (Database Tools › Add-Ins) ponuja WKL Linked Tables Manager:
tools\install-addin.ps1iz paketa izdaje (1.55 ali novejšega) namestiaddin\WklExtensions.accdaza trenutnega uporabnika. Brez dodatkaWklLinkManager.ShowDesignerodpre isti oblikovalnik iz VBA. - Microsoft ODBC Driver 18 for SQL Server v bitni različici Accessa.
- Dve podatkovni zbirki SQL Server, ki ju lahko odprete s svojo prijavo Windows, tu
SalesDevinSalesTestna strežnikusql01, vsaka s tabelodbo.Customer. Deluje kateri koli strežnik, tudi SQL Server Express LocalDB ((localdb)\MSSQLLocalDB). - Podatkovna zbirka sprednjega dela (ACCDB) na zaupanja vrednem mestu.
Koraki
1. Odprite oblikovalnik
Odprite podatkovno zbirko sprednjega dela in izberite Orodja zbirke podatkov › Dodatki › WKL Linked Tables Manager. Oblikovalnik se odpre za odprto podatkovno zbirko. Ničesar še ne ustvari; tabele z nastavitvami se ustvarijo ob prvem shranjevanju.
2. Dodajte povezavo za DEV
Na strani Povezave kliknite Nova povezava in izpolnite vrstico:
| Stolpec | Vrednost |
|---|---|
| Ime | Sales |
| Gonilnik | ODBC Driver 18 for SQL Server (stolpec predlaga nameščene gonilnike) |
| Server | sql01 |
| Podatkovna zbirka | SalesDev |
| Schema | dbo |
| Parameter | Trusted_Connection=Yes;Encrypt=No |
| Profil | DEV |
Izberite vrstico in kliknite Preizkusi povezavo. Sporočilo pod orodno vrstico pove, ali se podatkovna zbirka odpre; pogovorno okno za prijavo se ne prikaže. Za shranjevanje kliknite Uporabi.
3. Ustvarite profil TEST
Na strani Profili na seznamu izberite vrstico DEV, kliknite Kopiraj profil …, vnesite TEST in
kliknite V redu. Novi profil ima kopijo vsake vrstice povezave profila DEV. Vrnite se na stran Povezave,
v filtru Profil izberite TEST, nato v vrstici Uporabi za vse nastavite Podatkovna zbirka = SalesTest
za vse prikazane vrstice in kliknite Uporabi. Pri številnih povezavah ta en korak premakne vse; enako
deluje za gonilnik, strežnik in shemo. Kliknite Uporabi.
4. Dodajte tabelo
Na strani Tabele kliknite Dodaj oddaljene tabele …, izberite povezavo Sales, označite dbo.Customer in
kliknite Dodaj. Prikaže se vrstica z lokalnim imenom Customer; spremenite ga v tblCustomer. Stolpec
Stanje kaže, da tabela še ni povezana.
5. Povežite tabele
Na strani Preveri in uskladi izberite profil DEV in kliknite Preveri: seznam prikaže tblCustomer kot
manjkajočo. Kliknite Osveži vse, nato V redu. Podokno za krmarjenje prikaže tblCustomer kot povezano
tabelo; bere iz SalesDev.
6. Povezovanje ob vsakem zagonu
Ustvarite standardni modul s to funkcijo:
Public Function StartUp()
Dim links As New WklLinkManager
On Error GoTo Failed
' The profile of this installation: from the command line (/cmd TEST), else DEV.
links.EnsureLinks IIf(Len(Command()) > 0, Command(), "DEV")
Exit Function
Failed:
MsgBox "Tabel ni bilo mogoče povezati:" & vbCrLf & links.LastMessage, vbExclamation
End Function
Če sklic WKL Forms Object Library ni nastavljen, ga dodajte (Orodja › Sklici v urejevalniku VBA). Nato
ustvarite makro z imenom AutoExec z dejanjem RunCode in imenom funkcije StartUp().
7. Preklopite profil
Zaprite podatkovno zbirko sprednjega dela in jo zaženite z /cmd TEST, na primer iz bližnjice:
"%ProgramFiles(x86)%\Microsoft Office\root\Office16\MSACCESS.EXE" "%LOCALAPPDATA%\Apps\Sales.accdb" /cmd TEST
Pričakovani rezultat
Ob zagonu z /cmd TEST je tblCustomer povezana s SalesTest; brez /cmd je spet povezana s SalesDev. Drugi
zagon v istem profilu ne spremeni ničesar, ker se povezave že ujemajo. Stran oblikovalnika Profili prikaže
profil, s katerim so tabele povezane.