Článek vysvětluje, proč by se uživatelé měli vyhnout používání cvypočítaná pole v databázi a místo toho použijte dotazy.
MS Access umožňuje svým uživatelům vytvářet počítané sloupce (typ pole) v návrhu tabulky pro provádění různých výpočtů, častěji však porušuje pravidla normalizace. Místo počítaných polí se proto doporučuje používat dotazy. Tento článek tento bod podrobně rozvede.
Vypočítaná pole v MS Access
Vypočítaná pole jsou nedílnou součástí tabulky a jsou navržena tak, aby uživatelům pomohla efektivně vyvíjet aplikace. Ale podle normalizačního pravidla se nedoporučuje ukládat hodnoty, které závisí na jiných polích, aby se předešlo zmatkům a nepravidelnostem. Vypočítaná pole, přestože jsou praktická a snadno použitelná, byste se měli vyhnout, protože nejsou schopna volat uživatelem definované funkce, protože jsou naprogramována pouze ke spouštění vestavěných funkcí. Access neumožňuje, aby vypočítaná pole zahrnovala pole z různých tabulek nebo dotazů. Uživatelé také musí zadat všechny ostatní parametry, aby se předešlo chybám. Za zmínku také stojí, že výsledky počítaných polí se počítají pouze tehdy, když jsou generovány za běhu, tj. v okamžiku provedení dotazu nebo sestavy založené na dotazu.
Je třeba poznamenat, že verze Accessu před MS Access 2010 by nebyly schopny fungovat s tabulkami, což omezuje jeho použití. Spolehlivost kalkulovaných polí je poměrně nízká, protože výsledky se sotva správně aktualizují při změně výrazu po zadání dat do tabulky. To jsou hlavní důvody, proč se počítaným polím vyhýbat.
Dotazy

Vezměme si příklad dvou polí, Quantity a UnitCost, kde Uživatel potřebuje vyjádření Množství * JednotkaCost do jiného pole „Částka“. Takže místo použití polí Vypočítat by měl uživatel vytvořit dotaz založený na tabulce. Mohou zadat výraz do řádku Pole návrhu dotazu a lze jej zapsat následovně
Amount: [Quantity] * [UnitCost]
Vytvoří další pole s názvem Částka, které by bylo jednodušší a efektivnější. Formuláře a sestavy založené na tomto dotazu budou s vypočítanými poli zacházet jako s jakýmkoli jiným záznamem.
Uložení vypočítaného výsledku
Existuje také několik případů, kdy uživatelé cítí potřebu uložit jinou hodnotu, a některá flexibilní pravidla. Lze to však provést pomocí události After Update, která by uživatelům umožnila přepsat výpočet a zadat jinou hodnotu podle svých preferencí.
Ve verzi MS Access 2010 lze zvolit typ vypočítaných dat, který zobrazí výraz. Uživatelé mohou tento výraz zadat (řekněme [Množství]*[Jednotková cena]) a Access provede výpočty pokaždé, když uživatel zadá záznam. Problém s funkcí je, že existují omezené výrazy, což uživatelům omezuje jejich použití pro skutečné účely.
Jako uživatel Accessu byste měli být vždy připraveni řešit případy poškození dat. V případě, že se s takovým scénářem setkáte, neváhejte zavolat výkonný nástroj jako je DataNumen Access Repair na opravit mdb soubory.
Úvod autora:
Vivian Stevens je expert na obnovu dat v DataNumen, Inc., která je světovým lídrem v oblasti technologií pro obnovu dat, včetně oprava sql a excelové softwarové produkty pro obnovu. Pro více informací navštivte www.datanumen.com