Môžu sa vyskytnúť situácie, keď nemôžete upravovať údaje v dotaze údajové zobrazenie zmeniť údaje v základnej tabuľke. Tento článok vám pomôže pochopiť, kedy môžete upraviť údaje dotazu, kedy nemôžete upraviť údaje dotazu a ako zmeniť návrh dotazu tak, aby ste mohli upravovať jeho základné údaje.
Obsah tohto článku
Úvod
Keď otvoríte dotaz v údajovom zobrazení, možno budete chcieť upraviť údaje. Možno si všimnete chybu alebo sa vám zobrazia ne aktuálne informácie. V závislosti od spôsobu zostavovania dotazu môžete upraviť údaje priamo v dotaze údajový hárok.
Ak sa pokúsite upraviť údaje v údajovom hárku dotazu, ale nič sa nestane, alebo Windows prehrá zvuk a úprava sa nevykoná, nemôžete vykonať úpravy. Môže sa stať, že samotný dotaz nie je k dispozícii na úpravy, ako je napríklad krížový dotaz. Môže sa tiež stať, že na úpravy nie je k dispozícii iba pole, ktoré sa pokúšate upraviť – napríklad ak je pole založené na agregovanej funkcii, ako je napríklad priemer. V oboch prípadoch možno budete môcť niečo urobiť, aby ste povolili úpravy.
Okrem úprav údajov v údajovom zobrazení dotazu môžete použiť aj aktualizačný dotaz na aktualizáciu údajov v tabuľke. Tento článok sa nevzťahuje na aktualizačné dotazy.
Ďalšie informácie o aktualizačných dotazoch nájdete v článku Vytvorenie a spustenie aktualizačného dotazu.
Ak chcete upraviť údaje v údajovom zobrazení dotazu, zvyčajne chcete zmeny uložiť do tabuliek, na ktorých je dotaz založený. Ak nechcete zmeniť údaje v týchto tabuľkách, ale chcete upraviť údaje a zachovať upravené údaje aj po dokončení, môžete použiť vytvárajúci dotaz na vytvorenie novej tabuľky, ktorej údaje môžete upravovať. Make-table dotaz môžete použiť aj na uloženie výsledkov dotazu, ktorý neumožňuje úpravy ako novú tabuľku, a potom upraviť údaje v tejto novej tabuľke. Tento článok sa nezaoberá vytvorením a spustením vytváracích dotazov.
Ďalšie informácie o vytváracích dotazoch nájdete v článku Vytvorenie vytváraného dotazu.
Kedy môžem upraviť údaje v dotaze?
Údaje v dotaze môžete vždy upraviť, keď je dotaz založený buď na jednej tabuľke, alebo na dvoch tabuľkách, ktoré navzájom vzťah „one-to-one“.
Poznámka: Dokonca aj vtedy, keď môžete upravovať údaje v dotaze, niektoré z jeho polí nemusia byť k dispozícii na úpravy. Takéto prípady sú uvedené v nasledujúcej časti.
Kedy nemôžem upravovať údaje v dotaze?
Údaje v dotaze nemôžete nikdy upravovať, ak:
-
Dotaz je krížový dotaz.
-
Dotaz je dotaz špecifický pre jazyk SQL.
-
Pole, ktoré sa pokúšate upraviť, je vypočítavané pole. V tomto prípade možno budete môcť upraviť ostatné polia.
-
Dotaz je založený na troch alebo viacerých tabuľkách a existuje vzťah "many-to-one-to-many".
Poznámka: Napriek tomu, že v tomto prípade nie je možné upraviť údajový hárok dotazu, môžete upraviť údaje vo formulári, keď je vlastnosť TypMnožinyZáznamov formulára nastavená na hodnotu Dynaset (nekonzistentná Aktualizácie).
-
Dotaz obsahuje klauzulu GROUP BY.
Ako zmením dotaz tak, aby bolo možné upraviť jeho údaje?
V nasledujúcej tabuľke sú uvedené prípady, kedy nie je možné upraviť dotaz spárovaný s metódami, aby bol údajový hárok dotazu k dispozícii na úpravy.
Hodnoty v údajovom hárku dotazu nie je možné upraviť, ak: |
Sprístupnenie údajového hárka dotazu na úpravy: |
Vlastnosť Jedinečné hodnoty dotazu je nastavená na hodnotu Áno. |
Nastavte vlastnosť Jedinečné hodnoty dotazu na hodnotu Nie. Informácie o nastavení tejto vlastnosti nájdete v nasledujúcej časti Nastavenie vlastnosti Jedinečné hodnoty na hodnotu Nie. |
Dotaz obsahuje prepojenú tabuľku databáza ODBC bez jedinečný index alebo tabuľku Paradox bez primárny kľúč. |
Pridajte primárny kľúč alebo jedinečný index do prepojenej tabuľky pomocou metód poskytnutých dodávateľom prepojenej databázy. |
Nemáte povolenia na aktualizáciu údajov pre základnú tabuľku. |
Priradiť povolenia na aktualizáciu údajov. |
Dotaz obsahuje viac ako jednu tabuľku alebo jeden dotaz a tabuľky alebo dotazy nie sú spojené spojovacím riadkom v návrhovom zobrazení. |
Vytvorte príslušné spojenia. Informácie o vytváraní spojení nájdete v časti Vytvorenie spojení. |
Databáza je otvorená iba na čítanie alebo je umiestnená na jednotke určenej iba na čítanie. |
Zavrite databázu a znova ju otvorte bez výberu možnosti Otvoriť iba na čítanie. alebo ak je databáza umiestnená na jednotke určenej iba na čítanie, odstráňte z jednotky atribút iba na čítanie alebo premiestnite databázu na jednotku, ktorá nie je určená iba na čítanie. |
Pole v zázname, ktorý sa pokúšate aktualizovať, sa odstráni alebo ho uzamkol iný používateľ. |
Počkajte, kým sa záznam neuzamkne. Uzamknutý záznam je možné aktualizovať hneď po odomknutí záznamu. Počkajte, kým iný používateľ dokončí operáciu, ktorá záznam uzamkla. |
Dotaz je založený na tabuľkách s vzťah „one-to-many“ a pole spojenia zo strany "many" nie je výstupným poľom. V tomto prípade nie je možné upraviť údaje v poli spojenia zo strany "one". |
Pridajte pole spojenia zo strany "many" vzťahu do výstupných polí dotazu. Informácie o pridaní poľa spojenia nájdete v časti Pridanie poľa spojenia zo strany "many" do výstupných polí dotazu. |
Pole spojenia zo strany "many" (po úprave údajov) je na strane "one". |
Stlačením kombinácie klávesov SHIFT + F9 potvrďte zmeny a obnovte dotaz. |
Na strane "one" vzťahu "one-to-many" je prázdne pole z tabuľky a spojenie je vonkajšie spojenie sprava. |
Skontrolujte, či je v danom poli na strane "one" hodnota. Pole spojenia na strane "many" môžete upraviť iba vtedy, ak sa v danom poli na strane "one" nachádza hodnota. |
Používate prepojenú tabuľku databázy ODBC a nie všetky polia z jedinečného indexu prepojenej tabuľky sú vo výstupe dotazu. |
Pridajte všetky polia z jedinečného indexu tabuľky ODBC do výstupných polí dotazu. Informácie o pridávaní polí nájdete v časti Pridanie jedinečných polí indexu z prepojenej tabuľky ODBC. |
Nastavenie vlastnosti Jedinečné hodnoty na hodnotu Nie
-
Otvorte dotaz v návrhovom zobrazení.
-
Ak hárok vlastností nie je otvorený, otvorte ho stlačením klávesu F4. Ak chcete zabezpečiť, aby hárok vlastností zobrazoval vlastnosti dotazu a nie vlastnosti poľa, kliknite raz do mriežky návrhu dotazu.
-
V hárku vlastností vyhľadajte pole vlastnosti Jedinečné hodnoty . Kliknite na pole vedľa neho, kliknite na šípku v danom poli a potom kliknite na tlačidlo Nie.
Vytvorenie spojení
-
Otvorte dotaz v návrhovom zobrazení.
-
Pre každú tabuľku alebo dotaz, ktoré chcete pripojiť k inej tabuľke, presuňte pole spojenia z danej tabuľky alebo dotazu do príslušného poľa v tabuľke alebo dotaze, v ktorom chcete vytvoriť spojenie.
Ďalšie informácie o vytváraní spojení nájdete v článku Spojenie tabuliek a dotazov.
Pridanie poľa spojenia zo strany "many" do výstupných polí dotazu
-
Otvorte dotaz v návrhovom zobrazení.
-
V návrhárovi dotazov vyhľadajte spojenie, ktoré zodpovedá relevantnému vzťahu "one-to-many".
-
Dvakrát kliknite na pole spojenia zo strany "many" vzťahu "one-to-many". V mriežke polí sa zobrazí pole spojenia, ktoré označuje, že ide o výstupné pole.
Pridanie jedinečných polí indexu z prepojenej tabuľky ODBC
-
Otvorte dotaz v návrhovom zobrazení.
-
V návrhári dotazov vyhľadajte prepojenú tabuľku ODBC.
-
Jedinečné polia indexu budú mať vedľa názvu poľa symbol kľúča. Dvakrát kliknite na každé pole, ktoré sa ešte nenachádza v mriežke polí. Každé pole sa zobrazí v mriežke poľa, čo znamená, že teraz ide o výstupné pole.