Přihlásit se pomocí účtu Microsoft
Přihlaste se nebo si vytvořte účet.
Dobrý den,
Vyberte jiný účet.
Máte více účtů.
Zvolte účet, pomocí kterého se chcete přihlásit.

Výběrem libovolného tématu níže získáte informace o zaměstnancích v Northwind Developer Edition. 

Zaměstnanci mají jeden rozdělený formulář, který funguje jako formulář seznamu a podrobností. 

Pomocí funkce Zaměstnanci můžete přidávat nové zaměstnance a aktualizovat informace o stávajících zaměstnankyní. 

Výběrem karty Zaměstnanci na pásu karet zobrazte zaměstnance ve formuláři Seznam zaměstnanců frmEmployeeList, což je rozdělený formulář s následujícími funkcemi: 

  • Horní část formuláře je jedno zobrazení jednoho zaměstnance.

  • Dolní část formuláře je zobrazení Datový list všech zaměstnanců.

  • Když vyberete zaměstnance v některé části, nastaví se také fokus na tohoto zaměstnance v druhé části rozděleného formuláře.

  • Zaměstnance můžete přidat, upravit nebo odstranit v libovolné části rozděleného formuláře.

  • Při použití rozděleného formuláře s částí zobrazení datového listu se předpokládá, že zdroj záznamů formuláře obsahuje více záznamů.

Potenciální dopad rozděleného formuláře na výkon 

Většina vývojářů raději nenačítá nefiltrovanou tabulku nebo dotaz jako zdroj záznamů pro formulář. Filtrováním formuláře na jeden záznam minimalizujete množství dat, která se mají přenést z tabulky do formuláře. U místní tabulky Accessu může být rozdíl mezi načtením filtrovaného zdroje záznamů a malého nefiltrovaného zdroje záznamů sotva patrný. Tento výkon se ale ztratí, když jsou tabulky Accessu nahrazeny vzdálenou serverovou databází, jako je SQL Server. 

Tabulka zaměstnanců v Northwindu by neměla být příliš velká, takže je kandidátem na nefiltrovaný zdroj záznamů. Formuláře vázané na jiné tabulky, jako jsou například podrobnosti objednávek , které se potenciálně zvětšují na mnoho tisíc záznamů, ale nejsou kandidáty na nefiltrovaný zdroj záznamů.
 

ÚPRAVY ZAMĚSTNANCŮ

Při přidávání nebo úpravách záznamů v rozdělené podobě můžou uživatelé zadávat hodnoty ve formulářovém zobrazení nebo v zobrazení Datový list. Některá pole jsou povinná, některá volitelná. Formulář ověří přítomnost hodnot v povinných polích. Viz Povinné ověření pole níže.

Vyhledávací tabulky, seznamy hodnot a ovládací prvky rozevíracího seznamu

  • Rozevírací seznam Nadpisy omezuje položky na seznam předem vybraných titulů. Názvy jsou ve vyhledávací tabulce s názvem Názvy.

  • Některé očekávané volby jsou už ve vyhledávací tabulce uložené, ale uživatelé můžou do vyhledávací tabulky přidávat nové názvy pomocí výchozího chování Accessu pro pole se seznamem nebo pomocí ovládacích prvků rozevíracího seznamu.

    • Vlastnost Omezit na seznam pole se seznamem Název je nastavena na Ano a formulář pro úpravy názvů je určen ve vlastnosti Formulář pro úpravy položek seznamu. Výběrem rozevíracího seznamu ve formuláři se zobrazí ikona úprav na dolním okraji. 
      ...

Kliknutím na ikonu pro úpravy se otevře formulář pro úpravy názvů frmEmployeeTitles, ve kterém můžete změnit nebo přidat do seznamu schválených titulů. 

POZNÁMKA:Ve většině produkčních prostředí se úpravy nebo přidávání názvů omezují na uživatele s rozšířenými oprávněními.
 

Self-Referential vyhledávací pole

Funkce employee ilustruje koncept pole id Self-Referential. Pro podporu označení nadřízeného zaměstnance má tabulka pole SupervisorID s ID zaměstnancepro ostatní zaměstnance. Pokud chcete určit nadřízeného, zadá se do tohoto pole ID zaměstnance jiného zaměstnance. Access u této relace vynucuje referenční integritu.

SupervisorID se implementuje ve formuláři zaměstnance jako rozevírací seznam nebo pole se seznamem; zdroj řádků je filtrovaná sada záznamů z tabulky Zaměstnanec. Vzhledem k tomu, že dotaz odkazuje na sebe, musí vyloučit vlastní ID zaměstnance vybraného zaměstnance. Například zdroj řádků pro SupervisorID pro employee Karen Finster neobsahuje vlastní Id zaměstnance Karen. Nemůže být její vlastní nadřízená.

Pole příloh a ovládací prvky

Obrázky zaměstnanců se ukládají do pole přílohy v tabulce. Můžete přidat nové obrázky nebo změnit existující obrázky pomocí výchozího chování Accessu pro pole přílohy. 
...

POZNÁMKA: Do tabulky Zaměstnanec jsme zahrnuli pole přílohy, které ilustruje funkci v Accessu. Vložené image zvětšují velikost accdb , a proto se nepovažují za osvědčený postup. Před implementací prostředí v produkční aplikaci pečlivě vyhodnoťte. Upřednostňovanou alternativou je síťová složka, ve které jsou uloženy všechny obrázky, a odkaz v textovém poli v tabulce obsahující cestu k obrázku místo pole Příloha.

Podformulář se souvisejícími informacemi

Podformulář Objednávky (na pravé straně formuláře Zaměstnanec) zobrazuje nedávné objednávky (pokud nějaké) zpracovávané zaměstnancem. Podformulář zobrazuje objednávky v zobrazení Datový list seřazené od nejnovějšího po nejstarší. Pokud chcete upravit existující objednávku pro daného zaměstnance, klikněte v podformuláři Orders (Objednávky) na hypertextový odkaz Order ID # (ID objednávky).

Zdroj záznamů formuláře zaměstnance

Dotaz s názvem qryEmployees vrátí záznamy ve formuláři. Za osvědčený postup se obvykle považuje použití dotazu místo tabulky. Dotaz vrátí záznamy pouze z jedné tabulky. Kromě toho je možné dotaz parametrizovat, aby se omezil počet vrácených záznamů. 

  • Klauzule Select tohoto dotazu používá zástupný znak * k vrácení všech polí z tabulky Employee.

  • Dvě počítaná pole v dotazu vrátí Jméno Příjmení a Příjmení, Jméno.
     

Počítané hodnoty v ovládacích prvcích

POZNÁMKA: Počítaná pole nejsou uložena v tabulce. Jsou však k dispozici ve zdroji záznamů formuláře.

Většina ovládacích prvků ve formuláři Zaměstnanec je povolená , takže je můžete vybrat myší nebo tabulátorem a nejsou uzamčené , aby bylo možné je upravovat. 

Kromě integrovaného chování Accessu provádějí dílčí prvky jazyka VBA a funkce ve formulářích, ovládacích prvcích ve formulářích a v samostatných modulech základní logiku vyžadovanou pro zaměstnance. Následující část popisuje funkce a kód, který tyto funkce implementuje. 

Integrovaná řídicí akce

Výchozí chování selektoru záznamů formuláře: 

  • Kliknutím levým tlačítkem na volič záznamů nalevo od formuláře v jednom zobrazení se aktuální záznam uloží se všemi úpravami. Uložení kliknutím levým tlačítkem na selektor záznamů aktivuje příslušné dílčí položky a funkce jazyka VBA.

  • Po kliknutí pravým tlačítkem na volič záznamů nalevo od formuláře v jednom zobrazení se zobrazí nabídka pro provádění akcí, jako je vyjmutí, zkopírování nebo vložení záznamu. Odstraněním nebo vyjmutím záznamu se aktivuje funkce EmployeeCanBeDeleted popsaná níže.

  • Aby bylo toto výchozí chování dostupné, musí být pro formulář povoleny selektory záznamů.
     

Referenční integrita záznamů ve formuláři

Referenční integrita zabraňuje odstranění zaměstnanců, kteří mají podřízené záznamy v souvisejících tabulkách. Proto Access vyvolá chybu, pokud se uživatel pokusí odstranit záznam s podřízenými záznamy. Aplikace Northwind Employee Form Access nahrazuje obecné výchozí chybové zprávy týkající se referenční integrity vlastními zprávami.

Kód v proceduře Delete formuláře reaguje na pokusy buď o vyjmutí záznamu z nabídky po kliknutí pravým tlačítkem, nebo o odstranění záznamu pomocí klávesy Delete

Privátní funkce EmployeeCanBeDeleted kontroluje související záznamy daného zaměstnance v tabulkách Objednávky, Nákupní objednávky, Zaměstnanci a Oprávnění zaměstnance

Pokud jsou nalezeny, tato funkce potlačí výchozí chybovou zprávu a informuje uživatele o důvodu, proč záznam nelze odstranit, pomocí stejného obecného dialogového okna, které formulář Zákazník používá k upozornění uživatele na důvod, proč zákazníka nelze odstranit .

Ověření

Zaměstnanci implementují ověřování a standardní zpracování chyb. Existují dva typy ověřování ovládacích prvků.

  • Povinná pole

  • Standardní formáty

Povinné ověření pole

 Pro všechny zaměstnance jsou vyžadována tři pole:

  • Jméno

  • Příjmení

  • Pracovní pozice

V této verzi pro vývojáře ověřuje požadovaná pole událost před aktualizací formuláře. Pokud se uživatel pokusí uložit záznam zaměstnance bez hodnot pro jedno nebo více požadovaných polí, která nemají ověření hodnoty, zruší uložení a zvýrazní všechna povinná pole, která nemají hodnotu. Ve formuláři Zaměstnanec v Northwind se povinné ověření pole zpracovává událostí Před aktualizací formuláře, nikoli jednotlivými ovládacími prvky.

Událost Před aktualizací formuláře Zaměstnanec ověří přítomnost hodnot pro tři povinná pole. Uložením nového nebo upraveného záznamu zaměstnance se aktivuje událost formuláře Před aktualizací , která volá veřejné funkce, které kontrolují přítomnost nebo nepřítomnost požadovaných hodnot a reagují na ně.

Modul modValidation obsahuje tyto funkce:

  • Ověřovací formulář

  • IsValidForm

  • HighlightInvalidControls

  • Ovládací prvek zvýraznění

  • ValidateForm_RemoveHighlights

Řízení nových zaměstnanců

Kliknutím na tlačítko Přidat zaměstnance se spustí btnNewEmployee_Click Private Sub za účelem: 

  • uložit aktuální záznam a

  • nastavení fokusu formuláře na nový záznam
    '

Zástupný znak vs. pojmenovaná pole v dotazu Select

Klauzule SELECT v qryEmployees používá zástupný znak *k výběru všech polí v tabulce. Návrh dotazu se zástupným znakem automaticky zahrnuje všechna nově přidaná pole z podkladové tabulky, což není možné u seznamu konkrétních polí. Na druhou stranu je možné vypsat konkrétní pole, aby se vrácená sada záznamů omezila například jenom na pole potřebná ve formuláři jen pro zobrazení.

Vhodné volby návrhu

Vaše návrhy by měly být založené na vhodném přístupu, který odpovídá vašim požadavkům. I když, pokud je to možné, přednost by normálně přešla na přístup s nejnižší pravděpodobností, že bude vyžadovat budoucí údržbu (tj. přístup se zástupnými znakůmi sadou). 

Pole se seznamem vázaná na vyhledávací tabulky – dva přístupy

Související položky, například nadřízený zaměstnance, se ve formulářích zobrazují v rozevíracích seznamech nebo polích se seznamem. V dotazu na zdroj záznamů formuláře je potřeba pouze cizí klíč pro SupervisorID, protože toto pole je svázané s polem cizího klíče (SupervisorID). V poli se seznamem se také zobrazí odpovídající textová hodnota.

Díky dvousloupci se seznamem se skrytým sloupcem ID a viditelným sloupcem Popis to funguje. Ve formuláři zaměstnance je pole se seznamem Vedoucí vázáno na jednoduchý dvousloupční dotaz. Podívejte se na vlastnost RowSource pro Supervisor.

V některých případech ale vyhledávací tabulka nemá samostatný primární klíč, a proto je samotná textová hodnota primárním klíčem.

Pokud je seznam možných hodnot malý a vysoce stabilní, například titul zaměstnance, často se označuje jako uzavřená doména. Změna nebo přidání hodnot pro Název není běžné. Uzavřené vyhledávací tabulky domén jsou kandidáty pro přístup k dotazům s jedním sloupcem.

Ve formuláři Zaměstnanec je pole se seznamem Název vázáno na jednosloupční dotaz Nadpisy. Projděte si vlastnost RowSource pro Nadpisy. 

Potřebujete další pomoc?

Chcete další možnosti?

Prozkoumejte výhody předplatného, projděte si školicí kurzy, zjistěte, jak zabezpečit své zařízení a mnohem více.

Komunity vám pomohou klást otázky a odpovídat na ně, poskytovat zpětnou vazbu a vyslechnout odborníky s bohatými znalostmi.

Byly tyto informace užitečné?

Jak jste spokojeni s kvalitou jazyka?
Co ovlivnilo váš názor?
Po stisknutí tlačítka pro odeslání se vaše zpětná vazba použije k vylepšování produktů a služeb Microsoftu. Váš správce IT bude moci tato data shromažďovat. Prohlášení o zásadách ochrany osobních údajů.

Děkujeme vám za zpětnou vazbu.

×