Accedi con Microsoft
Accedi o crea un account.
Salve,
Seleziona un altro account.
Hai più account
Scegli l'account con cui vuoi accedere.

Selezionare uno degli argomenti seguenti per informazioni sui dipendenti in Northwind Developer Edition. 

I dipendenti hanno una maschera divisa che funziona come modulo elenco e dettaglio. 

Usare Dipendenti per aggiungere nuovi dipendenti e aggiornare le informazioni sui dipendenti esistenti. 

Selezionare la scheda Dipendenti sulla barra multifunzione per visualizzare i dipendenti nel modulo Elenco dipendenti, frmEmployeeList, che è un modulo diviso con le caratteristiche seguenti: 

  • La parte superiore della maschera è una singola visualizzazione di un dipendente.

  • La parte inferiore della maschera è una visualizzazione Foglio dati di tutti i dipendenti.

  • La selezione di un dipendente in una delle due parti imposta anche lo stato attivo su tale dipendente nell'altra parte della maschera divisa.

  • È possibile aggiungere, modificare o eliminare dipendenti in una delle due parti della maschera divisa.

  • L'uso di una maschera divisa con la parte di visualizzazione Foglio dati presuppone che l'origine record della maschera contenga più record.

Potenziale impatto delle prestazioni di una maschera divisa 

La maggior parte degli sviluppatori preferisce non caricare una tabella o una query non filtrata come origine record per una maschera. Il filtro di una maschera in un singolo record riduce al minimo la quantità di dati da trasferire dalla tabella alla maschera. Con una tabella di Access locale, la differenza tra il caricamento di un'origine record filtrata e di una piccola origine record non filtrata potrebbe risultare poco evidente. Queste prestazioni vengono tuttavia perse quando le tabelle di Access vengono sostituite con un database remoto basato su server, ad esempio SQL Server. 

La tabella dei dipendenti in Northwind non dovrebbe diventare molto grande, quindi è un candidato per un'origine record non filtrata. Tuttavia, le maschere associate ad altre tabelle, ad esempio i dettagli degli ordini, che potrebbero raggiungere migliaia di record, non sono candidati per un'origine record non filtrata.
 

MODIFICA DEI DIPENDENTI

Quando si aggiungono o modificano record in una maschera divisa, gli utenti possono immettere valori nella visualizzazione Maschera o Foglio dati. Alcuni campi sono obbligatori, altri facoltativi. Il modulo convalida la presenza di valori nei campi obbligatori. Vedere Convalida campo richiesta di seguito.

Tabelle di ricerca, elenchi di valori e controlli a discesa

  • L'elenco a discesa Titoli limita le voci a un elenco di titoli prese selezionati. I titoli si trovano in una tabella di ricerca denominata Titoli.

  • Alcune scelte previste sono già archiviate nella tabella di ricerca, ma gli utenti possono aggiungere nuovi titoli alla tabella di ricerca, usando il comportamento predefinito di Access per la casella combinata o i controlli a discesa.

    • La proprietà Limite a elenco della casella combinata Titolo è impostata su e la maschera di modifica per Titoli viene identificata nella proprietà Maschera di modifica voci di elenco. Selezionando l'elenco a discesa nel modulo viene visualizzata l'icona di modifica sul bordo inferiore. 
      ...

Facendo clic sull'icona di modifica si apre il modulo di modifica Titoli , frmEmployeeTitles, in cui è possibile modificare o aggiungere titoli approvati all'elenco. 

NOTA:Nella maggior parte degli ambienti di produzione, la modifica o l'aggiunta di titoli sarebbe limitata agli utenti con privilegi avanzati.
 

campi ricerca Self-Referential

La funzione dipendente illustra il concetto di campo ID Self-Referential. Per supportare la designazione del supervisore di un dipendente, la tabella ha un campo SUPERVISORID con ID dipendenteper gli altri dipendenti. Per designare un supervisore, in questo campo viene immesso il EmployeeID di un altro dipendente. Access applica l'integrità referenziale a questa relazione.

Il SupervisorID viene implementato nel modulo dipendente come un elenco a discesa, o casella combinata; l'origine riga è un set filtrato di record della tabella Dipendenti. Poiché è autoreferenziale, la query deve escludere il proprio EmployeeID del dipendente selezionato. Ad esempio, l'origine row per SupervisorID per la dipendente Karen Finster non include il proprio EmployeeID di Karen. Non può essere la sua supervisore.

Controlli e campi allegati

Le immagini dei dipendenti vengono archiviate in un campo degli allegati della tabella. È possibile aggiungere nuove immagini o modificare immagini esistenti usando il comportamento predefinito di Access per i campi degli allegati. 
...

NOTA: È stato incluso un campo degli allegati nella tabella Dipendenti per illustrare la caratteristica in Access. Le immagini incorporate aumentano le dimensioni di accdbs e pertanto non sono considerate una procedura consigliata. Valutare con attenzione l'ambiente prima di implementarlo in un'applicazione di produzione. L'alternativa preferita è una cartella di rete che archivia tutte le immagini e un collegamento in un campo di testo della tabella che contiene il percorso dell'immagine anziché il campo Allegato.

Sottomaschera con informazioni correlate

La sottomaschera Ordini sul lato destro della maschera Dipendente visualizza gli eventuali ordini recenti gestiti dal dipendente. La sottomaschera elenca gli ordini in Visualizzazione Foglio dati, ordinati dal più recente al meno recente. Per modificare un ordine esistente per il dipendente, fare clic sul collegamento ipertestuale ID ordine # nella sottomaschera Ordini.

Origine record del modulo dipendente

Una query denominata qryEmployees restituisce i record nella maschera. L'uso di una query anziché della tabella è in genere una procedura consigliata. La query restituisce i record da una sola tabella. Inoltre, una query può essere parametrizzata per limitare il numero di record restituiti. 

  • La clausola Select di questa query usa il carattere jolly '*' per restituire tutti i campi della tabella Dipendenti.

  • Due campi calcolati nella query restituiscono Nome Cognome e Cognome, Nome.
     

Valori calcolati nei controlli

NOTA: I campi calcolati non vengono archiviati nella tabella. Tuttavia, sono disponibili nell'origine record del modulo.

La maggior parte dei controlli nel modulo Dipendente sono abilitati , quindi è possibile selezionarli con il mouse o la scheda e non sono bloccati in modo che siano modificabili. 

Oltre al comportamento predefinito di Access, VBA Subs e Functions nelle maschere, nei controlli delle maschere e nei moduli autonomi eseguono la logica di base richiesta per i dipendenti. La sezione seguente descrive le funzioni e il codice che implementa tali funzioni. 

Azione di controllo predefinita

Comportamento predefinito del selettore di record della maschera: 

  • Facendo clic con il pulsante sinistro del mouse sul selettore di record a sinistra di una maschera in una sola visualizzazione, il record corrente viene salvato con le eventuali modifiche. Il salvataggio facendo clic con il pulsante sinistro del mouse sul selettore di record attiva le sottocartelle e le funzioni VBA appropriate.

  • Facendo clic con il pulsante destro del mouse sul selettore di record a sinistra di una maschera in una singola visualizzazione, viene visualizzato un menu per eseguire azioni come Taglia, Copia o Incolla un record. L'eliminazione o il taglio di un record attiva la funzione EmployeeCanBeDeleted descritta di seguito.

  • Per rendere disponibile questo comportamento predefinito, i selettori di record devono essere abilitati.
     

Integrità referenziale per i record nel modulo

Integrità referenziale impedisce l'eliminazione dei dipendenti che hanno record Figlio nelle tabelle correlate. Pertanto, Access genera un errore se un utente tenta di eliminare un record con record figlio. Il modulo Northwind dipendente Access sostituisce i messaggi di errore generici predefiniti relativi all'integrità referenziale con messaggi personalizzati.

Il codice nella procedura Delete della maschera risponde ai tentativi di tagliare un record dal menu di scelta rapida o di eliminare un record usando il tasto CANC

Una funzione privata, EmployeeCanBeDeleted, controlla la presenza di record correlati per il dipendente nelle tabelle Ordini, Ordini di acquisto, Dipendenti e Privilegi dipendenti

Se vengono trovati, questa funzione elimina il messaggio di errore predefinito e informa l'utente del motivo per cui non è possibile eliminare il record usando la stessa finestra di dialogo generica usata dal modulo Cliente per informare l'utente del motivo per cui il cliente non può essere eliminato.

Convalida

I dipendenti implementano la convalida e la gestione standard degli errori. Esistono due tipi di convalida per i controlli.

  • Campi obbligatori

  • Formati standard

Convalida campo obbligatoria

 Per tutti i dipendenti sono necessari tre campi:

  • Nome

  • Cognome

  • Posizione

In questa versione per sviluppatori, l'evento Prima dell'aggiornamento del modulo convalida i campi obbligatori. Se un utente prova a salvare il record di un dipendente senza valori per uno o più campi obbligatori che non hanno una convalida del valore, il salvataggio verrà annullato ed verranno evidenziati tutti i campi obbligatori che non hanno un valore. Nella maschera Dipendente in Northwind la convalida dei campi obbligatori viene gestita dall'evento Before Update della maschera, non dai singoli controlli.

L'evento Prima dell'aggiornamento del modulo Dipendente convalida la presenza di valori per i tre campi obbligatori. Il salvataggio di un record dipendente nuovo o modificato genera l'evento Prima dell'aggiornamento del modulo, che chiama Funzioni pubbliche che controllano e rispondono alla presenza o all'assenza dei valori richiesti.

Il modulo modValidation contiene queste funzioni:

  • ValidateForm

  • IsValidForm

  • HighlightInvalidControls

  • HighlightControl

  • ValidateForm_RemoveHighlights

Gestione di nuovi dipendenti

Facendo clic sul pulsante Aggiungi dipendente viene eseguita la btnNewEmployee_Click Private Sub per: 

  • salva il record corrente e

  • impostare lo stato attivo della maschera su un nuovo record
    '

Confronto tra campi con caratteri jolly e campi denominati in una query di selezione

La clausola SELECT in qryEmployees usa il carattere jolly "*" per selezionare TUTTI i campi della tabella. La struttura della query con caratteri jolly include automaticamente tutti i nuovi campi aggiunti da una tabella sottostante, il che non è possibile con un elenco di campi specifici. D'altra parte, è possibile elencare campi specifici per limitare il recordset restituito solo ai campi necessari in una maschera solo di visualizzazione, ad esempio.

Scelte di progettazione appropriate

I progetti devono essere basati sull'approccio appropriato alle proprie esigenze. Sebbene, se possibile, la preferenza sarebbe in genere quella che più probabilmente richiederebbe interventi di manutenzione futuri (vale a dire l'approccio con caratteri jolly). 

ComboBox associati alle tabelle di ricerca - Due approcci

Gli elementi correlati, ad esempio il supervisore di un dipendente, vengono visualizzati negli elenchi a discesa o nelle caselle combinate nei moduli. Solo la chiave esterna per SupervisorID è necessaria nella query origine record della maschera perché il campo è associato al campo Chiave esterna (SupervisorID). La casella combinata visualizza anche il valore di testo corrispondente.

Questa operazione è stata eseguita in una casella combinata a due colonne con una colonna ID nascosta e una colonna Descrizione visibile. Nella maschera Dipendente, la casella combinata Supervisore è associata a una semplice query a due colonne. Vedi la proprietà RowSource per Supervisore.

In alcuni casi, tuttavia, una tabella di ricerca non ha una chiave primaria separata e quindi il valore di testo stesso è la chiave primaria.

Quando un elenco di valori possibili è piccolo e molto stabile, ad esempio il titolo di un dipendente, viene spesso definito dominio chiuso. La modifica o l'aggiunta di valori per Titolo non è comune. Le tabelle di ricerca del dominio chiuso sono candidati per l'approccio di query a una colonna.

Nella maschera Dipendente, la casella combinata Titolo è associata a una query a una colonna di titoli. Vedere la proprietà RowSource per i titoli. 

Serve aiuto?

Vuoi altre opzioni?

Esplorare i vantaggi dell'abbonamento e i corsi di formazione, scoprire come proteggere il dispositivo e molto altro ancora.

Le community aiutano a porre e a rispondere alle domande, a fornire feedback e ad ascoltare gli esperti con approfondite conoscenze.

Queste informazioni sono risultate utili?

Come valuti la qualità della lingua?
Cosa ha influito sulla tua esperienza?
Premendo Inviare, il tuo feedback verrà usato per migliorare i prodotti e i servizi Microsoft. L'amministratore IT potrà raccogliere questi dati. Informativa sulla privacy.

Grazie per il feedback!

×