Po aplikovaní SP2 pre Office sa stanú linkované Excel tabuľky v Access-e read only

Publikoval Michal Kočí dňa 24.10.2005 o 21:59 v kategórii Office

Po pravde to bol pre mňa šok. Podozrenie však od začiatku viedlo na Service Pack 2 pre Office 2003 a toto sa následne aj potvrdilo...

Takže, ak máte v Microsoft Access 2003 nalinkovanú tabuľku z Microsoft Excel zošita a v tejto chcete aj meniť dáta, rozhodne si neinštalujte Service pack 2 pre Office 2003. Tento sa totiž postará o to, že všetky takéto tabuľky sa stanú tabuľkami iba na čítanie.

Jeden náš Access projekt linkuje Excelový zošit, ktorý je plný komplikovaných makier. Jedna z činností je, že sa v Excelovom zošite linkovaním jeho tabuľky zmenia dáta. Užívateľ si následne otvorí Excel, kde sa mu púšťajú makrá a pripravujú mu rožne pohľady na dáta. Výhoda je tá, že Access mám na starosti ja, Excel iný kolega. On si udržiava Excel a je to tak dobre. Bohužial, SP2 nám spravil škrt cez rozpočet.

Microsoft vydal KB-čko (KB 904953), kde popisuje dôvod tejto akcie, ako aj dva rôzne workaroundy. Musím sa priznať, že dôvodu až tak nerozumiem a neviem čo ich k tomu viedlo. Ich snaha, aby bolo všetko zabezpečené je trochu smiešna najmä v prípade, že pristupujem k Excel zošitu :)

Takže, dôvod je pre niekoho možno jasný a prostý (pre mňa je hlavne sprostý): Because of legal issues, Microsoft has disabled the functionality in Access 2003 and in Access 2002 that let users change the data in linked tables that point to a range in an Excel workbook. However, when you make changes directly in the Excel workbook, the changes appear in the linked table in Access.

Uvedené dva workaroundy sú tiž trochu mimo:

  • Dáta meniť priamo v Exceli - zmena dát sa v Accesse prejaví. Toto riešenie je pre mňa neprijateľné, keďže Access aplikácia by mala naplniť asi 20 až 30 polí - už vidím radosť na tvári užívateľov, keď by museli tieto dáta prepisovať ručne...
  • Tabuľku nelinkovať ale naiportovať a po zmene dát zase vyexportovať. Toto riešenie je pre mňa takisto neprijateľné, keďže po import/export dát by znamenal aj stratu makier.

Riešnia som si našiel dve:

  • Excelový zošiť si otvoriť cez COM - Toto riešenie sa mi však zdá pracné, najskôr by som si dotiahol dáta, potom by som musel prejsť pole po poli a kopírovať jeho hodnotu z Accessu do Excelu.
  • Budem exportovať množinu ako súbor, hodnoty tohto si bude kolega linkovať. Toto bude zrejme riešenie, ktoré zvíťazí.

Nájsť riešenie problému nebolo zložité, čas strávený zisťovaním príčiny ma trochu mrzí. Stale mi však nie je jasné, k čomu je táto "novinka" dobrá. Ach...

Mohlo by ťa tiež zaujímať

Páčil sa ti príspevok?

Zdieľaj príspevok alebo si ho odlož na neskôr

Sleduj ma

Ak nechceš premeškať príspevky ako je tento, sleduj ma na Twitteri, alebo ak máš RSS čítačku, môžeš sledovať môj RSS kanál.