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 sulla gestione degli ordini in Northwind Developer Edition. 

Questa edizione per sviluppatori dell'applicazione di esempio Northwind Orders è più avanzata di quella della Starter Edition. Si espande nello schema del database (le tabelle usate) e ora fornisce altre funzionalità avanzate. L'intenzione in questo documento è di presentarti le funzionalità di Microsoft Access, non di gestire attività specifiche.

  • L'elenco ordini è disponibile sulla barra multifunzione. Sono disponibili alcune opzioni di filtro e collegamenti ipertestuali per aprire ogni ordine.

  • Sia l'Elenco ordini che la barra multifunzione hanno un pulsante Aggiungi ordine per aprire un nuovo ordine vuoto.

  • In un modulo Nuovo ordine selezionare un cliente esistente nell'elenco a discesa. A questo punto vengono selezionati il nome del dipendente e il nuovo stato. Anche la Data ordine è già compilata. Tax Rate viene letto dalla tabella SystemSettings e i valori predefiniti di Stato imposta dal record Customer.

  • I nuovi ordini e ordini di acquisto vengono aggiunti all'elenco DEI (usati più di recente) sulla barra multifunzione. Per altre informazioni, vedere la sezione Elenco mru in questo articolo

  • Lasciare vuote per il momento la data di spedizione e la data di pagamento .

  • Per aggiungere ordini per nuovi clienti, immettere il nome della società e uscire dalla scheda. Verrà aperto il modulo Dettagli società per completare il nuovo record cliente. Chiudilo e continua con l'ordine. La nuova società verrà ora visualizzata nell'elenco a discesa Cliente .

  • Per aggiungere articoli a un ordine, seleziona una categoria di prodotti e un prodotto per questo ordine e immetti Quantità. Prezzo unitario viene compilato e Prezzo calcolato da un'espressione.

  • Avanzamento stato ordine e spostare l'ordine nel flusso di lavoro da Nuovo > Fatturato > Spedito > Chiuso usando i pulsanti nella parte superiore del modulo d'ordine.

  • La fatturazione può avvenire solo se il prodotto è allocato per tale ordine. Se una voce è in stato Non disponibile o In ordine, si verificherà un errore di convalida. L'utente può creare un ordine di acquisto per il prodotto e riceverlo e lo stato dell'articolo ordine verrà modificato in Allocato.

  • Per spedire un ordine, è necessario immettere le spese di spedizione e spedizione. Se si dimentica di farlo, si verificherà un errore di convalida. La commissione di spedizione viene aggiunta al totale dell'ordine.

  • Gli ordini non smontati possono essere eliminati tramite il pulsante Elimina ordine.

  • Le voci di ordine non possono essere modificate dopo che l'ordine ha superato lo stato Nuovo .

  • Nella versione Northwind Starter, il processo di ordine è incredibilmente semplice (ad esempio, l'inventario è sempre disponibile, non si esaurisce mai e non deve mai essere acquistato). Ora, in questa edizione Dev, un processo più realistico risolve almeno alcuni di questi problemi. Tenere presente che stiamo mostrando le caratteristiche e le procedure consigliate di Access, non implementando un'applicazione reale. 

  • La prova che non stiamo implementando un'applicazione reale qui include il fatto che le date non vengono convalidate. È quindi possibile immettere date illogiche, ad esempio una data di spedizione precedente alla data dell'ordine. 

Questa sezione riguarda dettagli di implementazione degni di nota del modulo di ordine, frmOrderDetails:

La maschera ordine ottiene i dati da una semplice query qryOrder (vedere proprietà RecordSource ). È consigliabile basare una maschera per l'immissione di dati su una semplice query su una tabella. Si noti che non è necessario includere tabella Dettagliordine in questa query. Dettagli ordine vengono gestiti dalla sottomaschera.

Il modulo OrderList può aprire più istanze del modulo Order. Questo è utile perché i rappresentanti di vendita si occupano di molte interruzioni e potrebbe essere necessario aprire un altro ordine mentre lavorano sul primo o confrontarlo con un terzo ordine. La tecnica è documentata qui.

I vari campi ID ottengono i valori dalle caselle combinate a due colonne: una colonna ID nascosta e una colonna Descrizione visibile. Queste caselle combinate sono associate a semplici query a due colonne: vedere la proprietà RowSource .

Ai pulsanti del flusso di lavoro è associata una logica di business che obbliga l'utente a far avanzare l'ordine da 1 a 4. Il team di sviluppo Northwind è consapevole del fatto che alcune società potrebbero usare regole diverse. Ciò comporterebbe quindi un'implementazione diversa per gli eventi di clic del pulsante, nonché una ri-considerazione del momento in cui un ordine è definito e quando un ordine può ancora essere eliminato.

La sottomaschera sfrmOrderDetails è associata a una query più complessa. I motivi sono illustrati nella sezione Caselle combinate a cascata seguente. Controlliamo l'inventario nell'evento Form_AfterUpdate quando la riga viene salvata ed è possibile eseguire query di database più potenti.

ProductCategory e Product sono caselle combinate a catena: la selezione dal primo (ProductCategory) restringe la successiva a record Product figlio corrispondenti. La tecnica utilizzata qui è descritta in dettaglio di seguito.

Quando si salva un record, i campi obbligatori devono essere compilati. Nell'edizione Starter il comportamento predefinito di Access viene eseguito; in questa edizione Dev viene implementata una tecnica più user-friendly. La tecnica utilizzata qui è descritta in dettaglio di seguito.

Per ogni articolo pubblicitario ordine, viene verificata l'inventario disponibile e lo stato viene impostato di conseguenza. L'idea di base di questa funzionalità è descritta qui.
 

CASELLE COMBINATE A CASCATA

Implementare gli elenchi a discesa Categoria prodotto e Prodotto come caselle combinate a catena è complicato perché Access non supporta questa funzionalità. In questa tecnica sono necessari quattro passaggi:

La maschera deve essere in modalità Maschere continue (non in Foglio dati). Le caselle di testo si sovrappongono alla parte di testo di ogni casella combinata, lasciando visibili solo le frecce a discesa. 

La query di origine record della maschera, qryOrderLineItems, usa la tabella OrderDetails come al solito, ma esegue anche join con le tabelle Products e ProductCategories per raccogliere ProductName e ProductCategoryName. Le due caselle di testo sovrapposte sono associate a questi campi.

La casella combinata RowSource per la casella combinata Prodotti esamina cboProductCategories per restituire solo i prodotti per la categoria selezionata in tale casella combinata. Si noti la sintassi "[Modulo]! [cboProductCategories]" nell'espressione dei criteri, che è più flessibile rispetto a Forms espliciti ! Nomemaschera! Sintassi nomeControllo , che fa riferimento a una maschera per nome.

Dopo aver selezionato una categoria di prodotto nella casella combinata ProductCategories non associata, l'evento AfterUpdate imposta la casella combinata Prodotti sul primo valore dell'elenco. Verrà creata una nuova riga nell'origine RecordSource della maschera, che popola il nomeCategoria in modo che possa essere visualizzato dalla relativa casella di testo sovrapposta.
 

CONVALIDA

L'uso del codice di convalida implementato in Northwind Dev Edition accetta solo 3 righe di codice:

  • In Form_BeforeUpdate:
       Cancel = ValidateForm(Me)

  • In Form_AfterUpdate e Form_Current:
        ValidateForm_RemoveHighlights Me

Rendere il codice molto autonomo è un buon modello da seguire perché lo rende facile da implementare ovunque. Gli sviluppatori professionisti possono fare ancora di più, ad esempio, usando la sottoclassing dei moduli. Si tratta di un'operazione che va oltre gli obiettivi di Northwind Dev.

L'oggetto maschera viene passato al codice di convalida autonomo per la convalida. Controlla quindi la raccolta di campi RecordsetClone sottostante per scoprire quali controlli sono associati ai campi obbligatori e controlla se hanno un valore. In caso contrario, vengono evidenziati.

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!

×