To prostě není normální – normalizace prázdných Accessových tabulek
Jedna z nejtěžších věcí (ale nejdůležitější při budování databáze) je správné vytvoření struktury tabulek. Tento proces je známý jako normalizace. Správně normalizovaná databáze by nikdy neměla mít pouze jednu tabulku obsahující nadbytečné informace. Zvažte následující tabulku:Zákazník | Adresa | Město | Stát | Zip | Telefon |
Jones | Hlavní ulice 125 | Jonestown | NJ | 08000 | 609-555-1244 |
Jones | Hlavní ulice 125 | Jonestown | NJ | 08000 | 609-555-7890 |
Smith | 1542 Jones Hwy | Laramie | WY | 82051 | 307-555-5412 |
Wilson | 78 Smith Circle | Jones | CA | 90 000 | 451-555-8645 |
Pokud máte potíže s normalizací prázdných tabulek, vyplňte každou tabulku pěti až deseti záznamy. Zobrazení tabulek s daty obvykle usnadňuje odhalení problémů s normalizací.
Zde je návod, jak začít normalizovat své tabulky:- Prohlédněte si každou tabulku tak, jak je aktuálně strukturována. Opakujete zbytečně nějaké informace (jak jste viděli dříve u adresy a jména zákazníka)?
- Pokud máte duplicitní informace, zjistěte, proč je opakujete (například více telefonních čísel pro jednoho zákazníka).
- Rozdělte jednu tabulku na dvě, abyste odstranili nadbytečnost.
- Opakujte kroky 1 až 3 pro každou tabulku, dokud neodstraníte veškerou nadbytečnost.
Možná zjistíte, že rozdělení jedné tabulky na dvě stále neodstraní veškerou redundanci v tabulce. V takovém případě pokračujte v rozdělování tabulek, dokud veškerá redundance nezmizí.
Zadáte 73,725, ale Access to změní na 74
Automatické zaokrouhlování může zmařit živé denní světlo, ale jeho náprava je snadná. Ve výchozím nastavení Access nastaví všechna číselná pole tak, aby přijímala dlouhá celá čísla. Jak si možná pamatujete z dob matematiky na střední škole, celé číslo je záporné nebo kladné celé číslo. Chcete-li se přizpůsobit desetinným místům, změníte nastavení velikosti pole tak, aby přijímalo desetinná místa. Zde je postup:- Otevřete tabulku v zobrazení Návrh a poté klikněte na pole, které nespolupracuje.
- Na kartě Obecné v oblasti Vlastnosti v dolní části obrazovky klikněte na pole Velikost pole.
- Klikněte na šipku dolů na konci pole a poté z rozbalovací nabídky, která se zobrazí, vyberte možnost Single, Double nebo Decimal.
- Uložte tabulku a problém s automatickým zaokrouhlováním bude vyřešen.
Podrobnosti o rozdílu mezi velikostmi polí Single, Double a Decimal zobrazíte stisknutím klávesy F1 v poli vlastnosti Velikost pole. Obrazovka nápovědy poskytuje podrobný popis každé velikosti pole, čísla, která budou obsahovat, a množství místa vyhrazeného pro tuto velikost. Přístup vyžaduje připojení k internetu, abyste mohli používat systém nápovědy.
Slova, která mění – problémy s automatickými opravami Access
Někdy mohou být tyto „užitečné“ funkce v Accessu nepříjemné. Jedna taková funkce se nazývá automatické opravy. Možná ho znáte z Microsoft Wordu, kde jde často o skvělou věc. Databáze však často obsahují zkratky, čísla dílů a podobně. Automatické opravy mohou mít s takovými „slovy“ pracovní den. Možná si to ani neuvědomujete, když zadáváte svá data.
K vyřešení tohoto problému máte dvě možnosti.
- Vraťte zpět efekty automatických oprav, jakmile nastanou. Stiskněte Ctrl+Z hned poté, co automatické opravy zpackaly zadávání dat. Access vrátí data do stavu, ve kterém jste je zadali. Bohužel, aby to fungovalo, musíte si všimnout, že Access změnil to, co jste zadali.
- Úplně vypněte automatické opravy. Chcete-li automatické opravy vypnout, postupujte takto:
1. Klikněte na kartu Soubor v levém horním rohu obrazovky Přístup.
2. Klikněte na tlačítko Možnosti v nabídce v levé části obrazovky.
Zobrazí se dialogové okno Možnosti přístupu.
3. V seznamu vlevo klikněte na Kontrola pravopisu.
Zobrazí se vaše možnosti kontroly pravopisu.
4. Klikněte na tlačítko Možnosti automatických oprav.
Zobrazí se dialogové okno Automatické opravy.
5. Zrušte zaškrtnutí některých nebo všech políček v dialogovém okně Automatické opravy.
Některé nebo všechny funkce automatických oprav můžete zakázat v závislosti na tom, čím vás automatické opravy v současnosti obtěžují. Zrušte zaškrtnutí možnosti Nahradit text při psaní, pokud již nechcete, aby Access „opravoval“ vaše „pravopisné chyby“ za vás.
6. Klikněte dvakrát na OK pro uložení změn.
Nyní můžete zadat problémový text správně, bez zásahu automatických oprav, a nechat jej zůstat tak, jak jste ho napsali.
Byl tam a teď je pryč – náhodné smazání dat v Accessu
Možná jste za ta léta slyšeli toto:"Databáze smazala můj záznam!" No, mám pro vás novinku:Databáze nedělá nic, aniž bychom jí my lidé veleli. A lidé mohou udělat pár chyb:- Náhodné smazání: Existuje několik způsobů, jak náhodně smazat záznam. Obvykle se stiskne klávesová zkratka pro Delete, například Ctrl+– (smazat záznam) nebo Ctrl+X (vyjmout).
Příkaz Zpět (Ctrl+Z) smazání záznamu nevrátí zpět.
- Chyba dat: Záznam se může objevit odstraněn, pokud někdo neúmyslně změní zvláště důležitou informaci. Předpokládejme například, že dotyčný záznam obsahuje datum objednávky 15. 12. 2019 a někdo neúmyslně změní datum na 15. 12. 2009. Datum objednávky neodpovídá očekávání, takže záznam může vypadat, že byl smazán.
- Pokud chyba v datech způsobí, že záznam vypadá jako smazaný, existuje několik možných oprav, jak je uvedeno v následujících částech.
Vrátit zpět
Nepanikařte. Než uděláte cokoliv jiného, stiskněte Ctrl+Z. To je příkaz Zpět. Pokud se záznam vrátí, máte štěstí. Zpět vrátí chyby při zadávání dat, které mohou způsobit, že záznam bude vypadat jako odstraněný. To však bude fungovat pouze v případě, že vrátíte zpět hned poté, co dojde k chybě při zadávání dat.
Vyhledejte chybějící záznam
Pokud zkusíte příkaz Zpět a záznam se nevrátí, stále existuje možnost, že jej skrývá chyba při zadávání dat tím, že jej umístíte tam, kde neočekáváte, že bude. Otevřete tabulku obsahující záznam a vyhledejte jej jiným způsobem, než byste normálně dělali. Na podobných záznamech hledejte cokoli neobvyklého. Zde je několik příkladů:- Pokud běžně vyhledáváte objednávky podle data, hledejte podle klienta. Podívejte se, zda pro daného klienta a existuje objednávka podobná té chybějící má neobvyklé datum (řekněme stejný měsíc a den jako chybějící objednávka, ale se špatným rokem).
- Zkuste se podívat na všechny objednávky k danému datu, abyste zjistili, zda klient v každé objednávce vypadá správně. Je možné, že klient byl nedopatřením změněn na chybějící objednávce.
Obnovení zálohy
Pokud záznam nemůžete nikde najít, zkopírujte záznam ze zálohy databázového souboru.Toto řešení funguje pouze v případě, že jste zálohovali databázi od doby, kdy byl záznam původně přidán. Pokud zálohujete v noci a záznam byl vložen ve stejný den, kdy zmizel, nebude tento záznam ve vaší záloze.
Spustíte dotaz Access, ale výsledky jsou neočekávané
Psaní dotazů je umělecká forma. I odborníci občas něco pokazí. Zde jsou některá běžná řešení neočekávaných výsledků dotazů:- Zkontrolujte přesnost kritérií. Jediný nesprávný stisk klávesy je vše, co potřebujete, aby se váš dotaz změnil v blábol. Zkontrolujte, zda vaše kritéria neobsahují pravopisné nebo syntaktické chyby – a poté spusťte dotaz znovu.
- Vyzkoušejte vlastnost Jedinečné hodnoty. Viděli jste někdy ve výsledcích dotazu dvě kopie každého záznamu, když jste očekávali pouze jednu? Rychlá oprava často pochází z použití vlastnosti Jedinečné hodnoty. Tato vlastnost říká Accessu, aby již se zdvojováním přestal – a pokud výsledky dotazu obsahují skupinu přesných duplikátů, aby vrátil pouze jeden řádek ze skupiny. Postup použití této vlastnosti:
1. Otevřete problémový dotaz v zobrazení Návrh.
Zobrazí se karta Návrh na pásu karet.
2. Klikněte na tlačítko List vlastností ve skupině Zobrazit/Skrýt pás karet na kartě.
Okno List vlastností se otevře napravo od mřížky dotazu.
3. Klikněte do šedé oblasti mezi seznamy polí v horní polovině mřížky dotazu.
Seznam vlastností by nyní měl zobrazovat vlastnosti dotazu. (Pro potvrzení se podívejte přímo pod záhlaví listu vlastností.)
4. Klikněte na řádek Jedinečné hodnoty na listu vlastností.
Na konci řádku Jedinečné hodnoty se zobrazí šipka rozbalovacího seznamu.
5. Z rozevíracího seznamu vyberte Ano a spusťte dotaz.
Zdvojení by mělo zmizet.
- Opravte logiku výběru. Žonglování se spoustou spojení AND a OR v dotazu může rychle pokazit i ty nejnáročnější návrháře databází.
- Opravte vztahy mezi tabulkami. Pokud výsledky vašeho dotazu ukazují cestu příliš mnoho záznamů a dotaz používá dvě nebo více tabulek, pravděpodobnou příčinou jsou nesprávné vztahy (nazývané také spojení).
- Zkontrolujte typy vztahů mezi tabulkami. Pokud váš dotaz zahrnuje dvě nebo více tabulek a získáte méně záznamů, než jste očekávali, pravděpodobnou příčinou jsou nesprávné vztahy mezi tabulkami. Pokud máte například databázi zadávání objednávek a spustíte dotaz se seznamem všech zákazníků a jejich objednávek, ve výchozím nastavení uvidíte pouze zákazníky, kteří zadali objednávku. Chcete-li zobrazit všechny zákazníky bez ohledu na to, zda zadali objednávky, postupujte takto:
1. V zobrazení Návrh klikněte pravým tlačítkem na spojení (čára spojující dvě tabulky) a ze zobrazené nabídky vyberte příkaz Vlastnosti spojení.
2. Prozkoumejte nabízené typy spojení a vyberte ten, který říká něco jako „Zahrnout VŠECHNY záznamy z 'Zákazníků' a pouze ty záznamy z 'Objednávky', kde spojená pole se rovnají“.
Skutečný text, který vidíte, se liší podle názvů vašich tabulek. Chcete-li se dotazovat fanoušků, toto se nazývá vnější spojení. Velmi cool.
3. Klikněte na OK a spusťte dotaz.
Nyní byste měli mít všechny záznamy z tabulky Zákazníci bez ohledu na to, zda existují odpovídající záznamy v tabulce Objednávky.
Pokud váš dotaz zahrnuje několik kritérií, některá vypočítaná pole a četné vztahy, zkuste úlohu rozdělit na několik menších kroků, místo abyste se pokoušeli problém vyřešit najednou. Postup krok za krokem vám umožní soustředit se na každý kus, jeden po druhém, abyste se ujistili, že každý funguje perfektně, než přejdete k dalšímu.
Pokud váš dotaz stále nefunguje, ať děláte, co děláte, požádejte někoho jiného, aby se podíval. Často jsem hodiny pracoval na obtížných dotazech, ukazoval jsem to někomu jinému a slyšel jsem ta kouzelná slova:„To je jednoduché. Prostě udělej tohle." A problém je vyřešen. Získání nového páru očí na problém často vyřeší věci rychle.
Obávané dialogové okno Parametr v Accessu
V určitém okamžiku, když otevíráte dotaz, formulář nebo sestavu, uvidíte dialogové okno Parametr, když nechcete, aby se zobrazovalo dialogové okno Parametr. Házíš rukama do vzduchu a proklínáš vesmír? Samozřejmě že ne! Kdykoli se neočekávaně zobrazí dialogové okno Parametr (můžete je nastavit záměrně), znamená to, že Access nemůže najít pole, na které odkazuje formulář nebo sestava, nebo dotaz za formulářem nebo sestavou. Řekněte, že problém je s hlášením. Chcete-li problém odstranit, začněte dotazem za sestavou. Otevřete tento dotaz v zobrazení datového listu a zjistěte, zda získáte parametr. Pokud ano, o jaký obor se to žádá? Toto pole je to, které Access nemůže najít. Přepněte tedy dotaz do návrhového zobrazení a najděte sloupec s polem, které Access nemůže najít. Problémové pole je obvykle Vypočítané pole, které odkazuje na jiná pole. Je každé pole a název tabulky napsáno správně? Pokud ne, opravte pravopisné chyby. Je každé pole v tabulce, ve kterém má být? Pokud například váš odkaz zní Orders.LastName a pole Příjmení je v tabulce Zákazníci, opravte chybu zadáním Customers.LastName .
Pokud dotaz běží bez parametru, je problém v sestavě. Otevřete tedy sestavu v návrhovém zobrazení a zkontrolujte každý ovládací prvek sestavy, který je vázán na pole. Pokud Access nemůže najít jedno z polí, které má ovládací prvek zobrazit, umístí do levého horního rohu ovládacího prvku zelený trojúhelník. Zkontrolujte, zda na každém není zelený trojúhelník. Pokud najdete zelený trojúhelník, zkontrolujte pravopis pole, na které odkazuje ovládací prvek. Pokud má například ovládací prvek zobrazovat Příjmení (bez mezery) a odkaz v ovládacím prvku říká Příjmení (mezera), odeberte mezeru, aby ovládací prvek v sestavě odpovídal názvu pole z dotazu. Zkontrolujte také základní dotaz sestavy a ověřte, zda je v dotazu vybráno pole problému.
Nejpomalejší databáze Accessu ve městě
Databáze Accessu může skončit na sdíleném disku firmy, takže je dostupná každému, kdo ji potřebuje. Problém s umístěním celé databáze Accessu na sdílený disk je ten, že často běží pomalu na pracovní stanici každého uživatele (to je luxusní slovo pro jednotlivé počítače). Pravděpodobně také narazíte na chyby, pokud se databázi pokusí používat více lidí současně. Začnou se valit stížnosti a vy nevíte, co dělat.
Řešení tohoto problému spočívá v rozdělení souboru databáze Access do dvou samostatných souborů:
- Front: Obsahuje všechny databázové objekty kromě tabulky
Přední rozhraní se nachází na uživatelské pracovní stanici.
- Zadní konec: Obsahuje pouze tabulky
Badding-end se nachází na sdíleném serveru.
Přední rozhraní je propojeno s tabulkami na zadním konci.
Jediné, co skutečně sdílíte, jsou data – takže data jsou vše, co by mělo jít na sdílený disk. Při tomto nastavení jsou jedinou informací, která musí cestovat po síti, data požadovaná uživatelem. Takové nastavení dramaticky zrychluje výkon databáze a umožňuje více uživatelům zadávat a upravovat data současně.
Rozdělení datové sady není tak těžké, jak si možná myslíte. Access to udělá hračkou s průvodcem Database Splitter Wizard. Při rozdělení databáze postupujte takto:- Zálohujte databázi, kterou chcete rozdělit. Pokud se něco pokazí (nepravděpodobné, ale co se týče dat, nikdy nemůžete být příliš v bezpečí!), můžete to zkusit znovu se záložní kopií.
- V případě potřeby přesuňte databázi, kterou chcete rozdělit, do složky na sdíleném disku. Tento krok umožňuje, aby Database Splitter za vás správně nastavil odkazy na tabulky.
- Otevřete databázový soubor, který chcete rozdělit ze sdílené složky. Než budete pokračovat, ujistěte se, že máte záložní kopii této databáze. Také se ujistěte, že jsou všechny databázové objekty uzavřeny.
- Klikněte na kartu Databázové nástroje na pásu karet. Na pásu karet se zobrazí skupina Přesunout data. Obsahuje tlačítko s názvem Access Database.
- Klikněte na tlačítko Access Database. Zobrazí se dialogové okno Průvodce rozdělením databáze.
- Klikněte na tlačítko Rozdělit databázi a nechte průvodce, ať udělá svou práci. Budete vyzváni k zadání názvu souboru back-end databáze. Zadejte jméno, posaďte se a sledujte, jak se vám před očima odvíjí zábava.
- Zkopírujte soubor front-end (původní soubor, který jste rozdělili) do pracovní stanice každého uživatele. Nechte uživatele otevřít soubor ze svých pracovních stanic – a uvidíte, jak žasnou nad vylepšenou rychlostí databáze! jsi hrdina. Ano!
Nemáte sdílený disk nebo se chcete svého podílu zbavit? Stále můžete mít v databázi více uživatelů najednou, když svá data umístíte do cloudu.
Váš databázový soubor aplikace Access je velký jako dům
Jak čas plyne, zjistíte, že váš databázový soubor se zvětšuje a zvětšuje. Je to důsledek mazání objektů a záznamů v průběhu času. Pokud například vytvoříte dotaz a později jej odstraníte, protože již není potřeba, Access automaticky neodebere místo obsazené tímto dotazem z databázového souboru. Totéž platí pro rekordy. Když odstraňujete záznamy z tabulky, místo, které tyto záznamy zabírají v databázovém souboru, zůstává. Nakonec může být velikost souboru čtyřikrát nebo pětkrát větší, než je velikost potřebná k uložení dat a objektů v něm.
Proč by vás mělo zajímat, že se velikost souboru zvětší? Zde jsou dva důvody:
- Menší databázový soubor běží rychleji. Výkon je klíčovou součástí spokojených uživatelů databáze. Chcete, aby se vaše formuláře načítaly rychle a vaše dotazy a sestavy běžely co nejrychleji.
- Pravidelně komprimovaná databáze je stabilnější. Pokud je databáze používána často, pravidelné komprimování pomáhá zabránit poškození souborů a tabulek.
- Otevřete nabušenou databázi a klikněte na kartu Databázové nástroje na pásu karet. Skupina Nástroje se zobrazí zcela vlevo na pásu karet.
- Klikněte na tlačítko Zkomprimovat a opravit databázi ve skupině Nástroje. Stavový řádek (v pravém dolním rohu obrazovky) zobrazuje ukazatel průběhu, který vás informuje o postupu komprimace. Když indikátor průběhu zmizí, komprimace je dokončena – a zůstane vám mnohem ořezanější (rychlejší a stabilnější) databázový soubor. Pokud jste databázi rozdělili, nezapomeňte zkomprimovat jak front-end, tak back-end soubory.
Chcete, aby se soubor databáze zkomprimoval pokaždé, když jej zavřete? Postupujte takto:
- Klikněte na kartu Soubor na pásu karet.
- Klikněte na tlačítko Možnosti přístupu na panelu nabídek v levé části obrazovky. Zobrazí se dialogové okno Možnosti přístupu.
- V seznamu vlevo klikněte na položku Aktuální databáze. Zobrazí se možnosti pro aktuální databázi.
- Zaškrtněte políčko Zkomprimovat při zavření.
- Kliknutím na tlačítko OK uložíte změny.
- V okně se zprávou klikněte na tlačítko OK.
- Zavřete databázi a poznamenejte si pravý dolní stavový řádek. Databáze se před uzavřením komprimuje!
Kompaktní při zavření se nejlépe používá pouze na front-end souboru. Zhutnění back-endu při zavření může způsobit poškození back-endového souboru, pokud by v něm byl jiný uživatel, když jej zavřete. Nezapínejte volbu Zkomprimovat na Zavřít na back-end souboru.
Při importu tabulky do aplikace Access máte nepořádek
Je běžnou praxí upgradovat kolekci tabulek na databázi Access poté, co tabulkové řešení již nevyhovuje vašim potřebám. Je také běžné najít importovaná data tabulky (nyní tabulky) ve stavu nepořádku. Nejjednodušší způsob, jak tento problém vyřešit, je vyčistit tabulku před importujete to. Zde je několik tipů pro přehledný import:- Dále zkontrolujte informace pocházející z libovolného tabulkového procesoru a ujistěte se, že jsou konzistentní a dokončeno. Především se ujistěte, že všechny položky v každém sloupci (pole) jsou stejného datového typu (všechna čísla, veškerý text nebo cokoliv jiného).
- Odstraňte všechny názvy a prázdné řádky z horní části tabulky. Ideální tabulka pro import bude mít názvy polí (záhlaví sloupců) na řádku 1 a data začínající na řádku 2.
- Ujistěte se, že záhlaví sloupců tabulky jsou krátká a jedinečná, aby je Access mohl během importu snadno přeložit na názvy polí.
Omlouváme se. váš databázový soubor aplikace Access je poškozený
Začalo to jako den jako každý jiný. V tento den se však při otevření přední části vaší rozdělené databáze Access zobrazí chyba. Zdá se, že nemůžete otevřít žádné formuláře nebo sestavy. Je zábavné, jak vám pár malých zpráv může zničit den. Začnete přemýšlet, zda jste včera večer zálohovali datový soubor a kdy byl soubor skutečně poškozen. Pak začnete přemýšlet, jak se z této šlamastiky dostanete.
Neboj se. Existuje jednoduché řešení poškozené databáze. Zde jsou kroky:
- Přejděte do složky, která obsahuje soubor back-end.
- Dvojitým kliknutím na soubor jej otevřete. Spustí se Access a pokusí se soubor opravit. V pravé části stavového řádku byste měli vidět ukazatel průběhu opravy. Pokud vše půjde dobře, soubor se otevře.
- Zavřete datový soubor typu back-end.
- Znovu otevřete soubor front-end a vše by mělo fungovat normálně.
Pokud se po provedení předchozích pokynů poškozený soubor stále neotevře, máte vážný problém, jehož vyčištění může vyžadovat určité úsilí. Dalším krokem je uchýlit se k záložní kopii databáze. Zkontrolujte, jaká data chybí mezi zálohou a obnovením poškozeného souboru. Ano, budete muset znovu zadat všechna chybějící data. Promiň!
Pokud nemáte zálohu, veškerá naděje není ztracena. Můžete si koupit software navržený speciálně k opravě poškozených databázových souborů aplikace Access. Zkuste na webu vyhledat opravu poškozených databázových souborů Microsoft Access. Ujistěte se, že software funguje s Microsoft Access 2019 a je od legitimní společnosti.