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)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.