Popis připojení tabulek - funkce App.PripojTabulky
Deklarace:
Function PripojTabulky(CisloDat As Integer, _
D As Database, _
Optional PrefixNepripojit As String = " ", _
Optional SuffixNepripojit As String = " ", _
Optional SeznamTabulekNepripojit As String = "", _
Optional DataDoplnku As String = "", _
Optional TabulkaDefinicPropojeni As String = "Tabulky_doplnku") As Boolean
Popis parametrů:
PrefixNepripojit - tabulky se zadaným prefixem nebudou připojeny
SuffixNepripojit - tabulky se zadaným suffixem nebudou připojeny
SeznamTabulekNepripojit - tabulky uvedené v seznamu hodnot oddělených středníkem nebudou připojeny (např. "Tabulka1;Tabulka2")
DataDoplnku - Název mdb databáze doplňku bez udání čísla dat (např. DDop v případě databáze DDopXXXX.mdb). Je-li parametr zadán, budou tabulky tohoto doplňku připojeny do mdb databáze bez ohledu na umístění dat (fileserver/SQL server) aktuální účetní jednotky Varia.
TabulkaDefinicPropojeni - Jméno tabulky s definicí propojení zvolených tabulek. Tyto tabulky budou připojeny podle definic v tabulce uvedených. Umístíte-li tuto tabulku s názvem "Tabulky_doplnku" do zakázkového modulu, budou tabulky připojeny stejným způsobem jako v doplňku. To se může hodit v případě, že jsou data Varia umístěna na SQL serveru a vy jste doposud neměli čas převést data modulu na SQL server, nebo v případě, kdy používáte pro více účetních jednotek společnou databázi, v jejímž názvu není obsaženo číslo dat (nečíslovaná databáze)
Parametry lze libovolně kombinovat.
Popis připojení:
1) Do kolekce je načten seznam všech propojených tabulek, jejichž prefix není roven hodnotě 'Temp_' a hodnotě proměnné PrefixNepripojit, a jejichž suffix není roven hodnotě proměnné SuffixNepripojit.
2) Z kolekce jsou odstraněny všechny tabulky uvedené v proměnné SeznamTabulekNepripojit
3) Z kolekce jsou odstraněny tabulky uvedené v tabulce TabulkaDefinicPropojeni
4) Jsou připojeny všechny tabulky uvedené v kolekci
5) Jsou připojeny všechny tabulky uvedené v tabulce TabulkaDefinicPropojeni
V případě zakázkového modulu nelze ovlivnit hodnotu proměnné TabulkaDefinicPropojeni. Funkce vždy zjišťuje, zda je v modulu tato tabulka přítomna a pokud ji nalezne, řídí se instrukcemi v ní uvedenými. V případě doplňku hodnotu proměnné ovlivnit lze a pouhou změnou její hodnoty lze ovlivnit, zda bude TabulkaDefinicPropojeni použita.
Struktura tabulky TabulkaDefinicPropojeni:
Tabulka (Text 128) - jméno tabulky
Databaze (Text 128) - jméno databáze. Je-li zakončeno znakem "\" (zpětné
lomítko) např. "Firmy\", nebude se za jméno databáze
přídávat číslo dat (tzn., že databáze je společná pro
všechny účetní jednotky)
SdilenaSlozka (Text 255) - název sdílené složky odlišné od aktuální složky
datového profilu (např. společná databáze pro více
datových profilů)
Server (Text 128) - název SQL serveru odlišný od názvu SQL serveru s
daty účetní jednotky Varia (např. pro případ nutnosti
existence odděleného SQL serveru pro přístup z
internetu)
Typ_Zdroje (Byte) - 0 - v závislosti na uložení dat účetní jednotky,
1 - pouze FileServer,
2 - Pouze SQL server
Příklady:
Jak již bylo zmíněno v bodu 1) Popisu připojení, nejsou automaticky propojeny tabulky s prefixem 'Temp_' .
1) Připojení všech tabulek do databází, jejichž název je uveden v připojovacím řetězci (connect) definice tabulky (tabledef).
Dim D As Database
Set D = CodeDB
App.PripojTabulky(App.AktualniData, CodeDB)
Set D = Nothing
V případě, že aktuální data jsou na SQL serveru, bude proveden pokus o připojení všech tabulek do odpovídajících databází na SQL serveru. V případě fileserveru je situace obdobná. Pokud bude modul nebo doplněk (dále jen modul) obsahovat tabulku, která se odkazuje do nečíslované databáze (kromě databáze Firmy) nebo do neexistující databáze, dojde k chybě, protože funkce předpokládá, že jméno databáze obsahuje číslo firmy a databáze existuje. Pro ošetření této chyby slouží další parametry funkce.
2) Připojení všech tabulek, kromě tabulek s prefixem 'Moje_'
Dim D As Database
Set D = CodeDB
App.PripojTabulky(App.AktualniData, CodeDB, "Moje_")
Set D = Nothing
3) Připojení všech tabulek, kromě tabulek se suffixem '_Tvoje'
Dim D As Database
Set D = CodeDB
App.PripojTabulky(App.AktualniData, CodeDB, , "_Tvoje")
Set D = Nothing
4) Připojení všech tabulek kromě 'Ne_1', 'Ne_2', 'Ne_3'
Dim D As Database
Set D = CodeDB
App.PripojTabulky(App.AktualniData, CodeDB, , , "Ne_1;Ne_2;Ne_3")
Set D = Nothing
5) Připojení všech tabulek jako v příkladu 1), kromě tabulek, které jsou umístěny v databázi DataDoplnku. Tyto budou připojeny do databáze DDopXXXX, kde XXXX je číslo databáze.
Dim D As Database
Set D = CodeDB
App.PripojTabulky(App.AktualniData, CodeDB, , , , "DDop")
Set D = Nothing
6) Připojení všech tabulek jako v příkladu 1), kromě tabulek, které jsou uvedeny v tabulce TabulkaDefinicPropojeni umístěné v modulu nebo dolňku. Tyto budou připojeny podle instrukcí uvedených v tabulce TabulkaDefinicPropojeni.
Dim D As Database
Set D = CodeDB
App.PripojTabulky(App.AktualniData, CodeDB, , , , "DDop")
Set D = Nothing
a)
Tabulka: Tabulka1
Databaze: DDop
Typ_zdroje: 1
Tabulka Tabulka1 bude připojena do souboru DDopXXXX.mdb bez ohledu na to, zda
jsou databáze aktuální firmy umístěny na SQL serveru či v souborech.
b)
Typ_zdroje: 0
Tabulka Tabulka1 bude připojena do souboru DDopXXXX.mdb nebo do databáze
DDopXXXX umístěné na SQL serveru v závislosti na umístění dat aktuální firmy.
c)
Typ_zdroje: 2
Tabulka Tabulka1 bude připojena do databáze DDopXXXX umístěné na SQL serveru bez
ohledu na to, zda jsou databáze aktuální firmy umístěny na SQL serveru či v
souborech.
d)
Databaze: DDop\
Tabulka Tabulka1 bude připojena stejným způsobem jako v bodech a) až c) s tím
rozdílem, že bude připojována do společné (nečíslované) databáze DDop v
případě SQL serveru nebo DDop.mdb v případě fileserveru.
e)
SdilenaSlozka: \\server\slozka_odlisna_od_slozky_datoveho_profilu_varia
Tabulka Tabulka1 bude v případě, že Typ_zdroje = 1, nebo Typ_zdroje = 0 a data
aktuální firmy jsou umístěna na fileserveru, připojena do souboru DDopXXXX.mdb
nebo DDop.mdb v adresáři \\server\slozka_odlisna_od_slozky_datoveho_profilu_varia,
který je odlišný od adresáře datového profilu varia. V případě, že Typ_zdroje = 2, nebo
Typ_zdroje = 0 a data aktuální firmy jsou umístěna na SQL serveru, bude parametr
SdilenaSlozka ignorován.
f)
Server: SQLSERVER_ODLISNY_OD_SQLSERVERU_S_DATY_VARIA
Tabulka Tabulka1 bude v případě, že Typ_zdroje = 2, nebo Typ_zdoje = 0 a data
aktuální firmy jsou umístěna na SQL serveru připojena do databáze DDopXXXX
nebo DDop umístěné na SQL serveru SQLSERVER_ODLISNY_OD_SQLSERVERU_S_DATY_VARIA,
který je odlišný od SQL serveru, na kterém jsou umístěna data aktuální firmy.
V případě, že Typ_zdroje = 1, nebo Typ_zdroje = 0 a data aktuální firmy jsou
umístěna na fileserveru, bude parametr Server ignorován.