Chybová zpráva při použití speciálních znaků v databázích Accessu
V tomto článku jsou uvedeny speciální znaky, které se nemají používat při práci s názvy databázových objektů nebo názvy polí ve všech verzích aplikace Access.
Původní číslo KB: 826763
Poznámka
Tento článek se vztahuje buď na soubor databáze Microsoft Access (.mdb), nebo na soubor databáze Microsoft Access (.accdb) a na soubor projektu (.adp) aplikace Microsoft Access.
Příznaky
Při použití speciálních znaků v Accessu dochází k jednomu z následujících problémů.
Problém 1
V názvu pole tabulky použijete jeden z následujících speciálních znaků:
- Tupý akcent (')
- Vykřičník (!)
- Tečka (.)
- hranatá závorka ([])
- Úvodní mezera
- Netisknutelné znaky
V tomto případě se zobrazí následující chybová zpráva:
Název pole není platný.
Ujistěte se, že název neobsahuje tečku(.), vykřičník(!), hranatou závorku([]), úvodní mezeru nebo netisknutelný znak, jako je „návrat vozíku“. Pokud jste vložili název z jiné aplikace, zkuste stisknout ESC a zadejte název znovu.
Pokud v názvu tabulky použijete tyto speciální znaky, zobrazí se následující chybová zpráva:
Zadaný název objektu „TableName“ nesplňuje pravidla pro pojmenovávání objektů aplikace Microsoft Office Access.
Problém 2
Vytvoříte výraz dotazu. Výraz dotazu obsahuje pole, která obsahují speciální znaky. V závislosti na konkrétních speciálních znacích se zobrazí jedna z následujících chybových zpráv:
Pokud název pole obsahuje mezeru, otazník (?) nebo zavináč (@), zobrazí se následující chybová zpráva:
Zadaný výraz obsahuje neplatnou syntaxi.
Možná jste zadali operand bez operátoru.Pokud název pole obsahuje uvozovky („“) nebo apostrof ('), zobrazí se následující chybová zpráva:
Zadaný výraz obsahuje neplatný řetězec.
Řetězec může mít až 2048 znaků, včetně úvodních a závěrečných uvozovek.Pokud název pole obsahuje znak čísla (#), zobrazí se následující chybová zpráva:
Zadaný výraz má neplatnou hodnotu data.
Pokud název pole obsahuje znak procenta (%), vlnovku (~), středník (;) nebo hranatou závorku ([]), zobrazí se následující chybová zpráva:
Zadaný výraz obsahuje neplatnou syntaxi.
Vynechali jste operand nebo operátor, zadali jste neplatný znak nebo čárku nebo jste zadali text, aniž byste jej uzavřeli do uvozovek.Pokud název pole obsahuje složenou závorku ({}), zobrazí se následující chybová zpráva:
Poškozený identifikátor GUID ve výrazu dotazu „ObjectName“
Pokud název pole obsahuje hranatou závorku ([]) nebo kulatou závorku (()), zobrazí se následující chybová zpráva:
Ve výrazu, který jste zadali, chybí hranatá závorka (]) nebo svislá čára (|).
Problém 3
Máte dotaz, který obsahuje výrazy dotazu. Výrazy dotazu zahrnují pole, která obsahují speciální znaky. Když dotaz spustíte, budete dotázáni na zadání hodnoty parametru. K tomuto problému obvykle dochází při použití následujících speciálních znaků:
- Znaménko větší než (>)
- Znaménko menší než (<)
- Tečka (.)
- Hvězdička (*)
- Dvojtečka (:)
- Stříška (^)
- Znaménko plus (+)
- Zpětné lomítko (\)
- Rovnítko (=)
- Ampersand (&)
- Lomítko (/)
Řešení
Chcete-li tento problém vyřešit, nepoužívejte speciální znaky. Pokud je nutné použít speciální znaky ve výrazech dotazu, uzavřete speciální znaky do hranatých závorek ([]). Pokud například chcete použít znaménko větší než (>), použijte [>].
Další informace
Aplikace Microsoft Access neomezuje použití speciálních znaků, jako je znak čísla (#), tečka (.) nebo uvozovka („“) v názvech databázových objektů nebo v názvech polí databáze. Pokud ale použijete speciální znaky, může dojít k neočekávaným chybám. Společnost Microsoft proto doporučuje nepoužívat speciální znaky v názvech databázových objektů v databázi Access nebo v databázovém projektu. Tento článek popisuje speciální znaky, kterým se musíte vyhnout kvůli známým problémům s těmito speciálními znaky.
Když pracujete s Accessem nebo s nějakou jinou aplikací, jako je aplikace Microsoft Visual Basic nebo aplikace Active Server Pages (ASP), musíte se vyhnout následujícím speciálním znakům:
Name (Název) | Symbol |
---|---|
Mezera | |
Apostrof | ' |
Uvozovka | " |
Apostrof | ' |
Zavináč | @ |
Tupý akcent | ` |
Znak čísla | # |
Znak procenta | % |
Znaménko větší než | > |
Znaménko menší než | < |
Vykřičník | ! |
Tečka | . |
Hranaté závorky | [ ] |
Hvězdička | * |
Znak dolaru | $ |
Středník | ; |
Dvojtečka | : |
Otazník | ? |
Stříška | ^ |
Složené závorky | { } |
Znaménko plus | + |
Spojovník | - |
Rovnítko | = |
Vlnovka | ~ |
Zpětné lomítko | | |
Zásady vytváření názvů pro aplikaci Access
Společnost Microsoft doporučuje, abyste v názvech nepoužívali tečku (.), vykřičník (!), tupý akcent (`), hranatou závorku ([ ]), mezeru ( ) ani uvozovky („“) funkce, názvy proměnných, názvy polí nebo názvy databázových objektů, jako jsou tabulky a formuláře.
Existují známé problémy, ke kterým dochází, pokud v Accessu použijete následující speciální znaky. Následující scénáře popisují, kdy nesmíte používat speciální znaky:
- Při exportu databázových objektů do jiných formátů souborů, jako je formát souboru Microsoft Excel, formát souboru HTML nebo formát textového souboru, nepoužívejte v názvech databázových objektů znak čísla (#) nebo tečku (.). v názvech polí.
- Při použití hypertextových odkazů v Accessu se hypertextové odkazy ukládají jako upravená pole typu Memo se znakem čísla (#) jako oddělovačem. Proto je znak čísla v Accessu považován za vyhrazené slovo. Při vytváření hypertextových odkazů nepoužívejte znak čísla.
- Když importujete textový soubor do Accessu a tento textový soubor obsahuje tabulátory nebo jiné speciální znaky, speciální znaky se převedou a poté se speciální znaky zobrazí jako čtverečky. Proto při pokusu o použití importované tabulky obdržíte neočekávané chyby. Při importu do Accessu nesmíte použít speciální znaky ve zdrojové tabulce.
- Při použití formulářů ASP pro přidání nebo úpravu dat v databázi Accessu nesmíte ve formuláři použít znak procenta (%), znaménko plus (+) nebo stříšku (^). Tyto speciální znaky se nemusí v databázi Access správně přeložit.
- Když používáte jazyky s plnou šířkou, nepoužívejte v názvu databázových objektů nebo v názvu ovládacích prvků znaky s plnou šířkou. Například nesmíte používat závorky s plnou šířkou při použití jazyků s plnou šířkou. To může způsobit chyby kompilace, pokud je v proceduře události pro objekt nebo ovládací prvek kód.