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 sugli ordini di acquisto in Northwind Developer Edition. 

Questa Dev Edition dell'applicazione di esempio Ordini di acquisto Northwind contiene l'unico modulo Ordini di acquisto. In Starter Edition i prodotti non si esauriscono mai e non devono mai essere acquistati. Questa Dev Edition si espande nello schema del database (tabelle usate) in Northwind 2.0 Starter Edition e usa caratteristiche più avanzate. Il suo scopo è comunque presentarti le funzionalità principali di Microsoft Access, non per gestire attività specifiche.

  • L'elenco ordini di acquisto è disponibile sulla barra multifunzione. Sono disponibili collegamenti ipertestuali per aprire ogni ordine fornitore.

  • Sia l'elenco ordini di acquisto che la barra multifunzione hanno un pulsante Nuovo ordine di acquisto per aprire un nuovo ordine di acquisto vuoto. È anche possibile creare ordini di acquisto dal modulo Prodotti >pulsante Riordina prodotto .

  • I pulsanti nell'intestazione avanzano gli ordini di acquisto attraverso il flusso di lavoro tramite Invia, Approva, Ricevi e Chiudi. I campi di verifica corrispondenti nella maschera sono bloccati perché devono essere impostati a livello di programmazione solo facendo clic sui pulsanti di azione.

  • L'approvazione di un'ordine d'acquisto richiede il privilegio approvazione acquisti. È possibile accedere come Andrew Cencini, che ha il privilegio, o concederlo a se stessi in System Amministrazione > Privileges. Si noti che la possibilità di eseguire questa operazione è uno dei molti motivi per cui Northwind non è un'applicazione di qualità di produzione. Nel mondo reale, gli utenti non saranno in grado di elevare le proprie autorizzazioni.

  • Le voci di un ordine di acquisto vengono convalidate in base alla loro quantità. Deve essere almeno la quantità di riordino minimo e idealmente dovrebbe recuperare l'inventario fino ad almeno il livello di destinazione, come impostato per ogni prodotto.

  • Quando viene ricevuto un ordine di acquisto, viene richiamata un'elaborazione speciale per distribuire tali prodotti per ordinare le voci in stato Nessuna scorta e impostarle su Allocate. Qualsiasi quantità rimanente viene inviata all'inventario. Viene aggiunto un record alla tabella StockTake .

Questa sezione riguarda i dettagli di implementazione degni di nota del modulo Ordine di acquisto, frmPurchaseOrderDetails:

  1. La maschera Ordine di acquisto recupera i dati da una query semplice, qryPurchaseOrder (vedere proprietà RecordSource ). La procedura consigliata consiste nel basare una maschera per l'immissione di dati su una query semplice. Si noti che non è necessario includere la tabella PurchaseOrderDetails in questa query. I dettagli vengono gestiti dalla sottomaschera. Tuttavia, la query esegue il join con altre tabelle per selezionare i campi StatusName, SubmittedBy e ApprovedBy di sola lettura.

  2. La maschera PurchaseOrderList può aprire più istanze della maschera Ordine di acquisto. Questo è utile perché il reparto PO si occupa di molte interruzioni e potrebbe essere necessario aprire un altro PO mentre si lavora sul primo - o confrontarlo con un terzo PO. La tecnica è documentata qui.

  3. IDFornitore ottiene il valore da una casella combinata a due colonne: una colonna ID nascosta e una colonna Descrizione visibile. Tali caselle combinate sono associate a semplici query a due colonne: vedere la proprietà RowSource .

  4. Quando si salva un record, è necessario compilare almeno i campi obbligatori . Nell'edizione Starter, il comportamento predefinito di Access viene eseguito; in questa edizione Dev, viene implementata una tecnica più user-friendly - come descritto in dettaglio di seguito.

  5. Quando lo stato dell'ordine d'acquisto passa a Ricevuto, viene richiamata una speciale elaborazione (procedura AllocateToInventory) per distribuire il nuovo inventario sugli ordini in attesa di questi prodotti.

CONVALIDA

Il codice di convalida implementato in Northwind Dev Edition richiede solo tre righe di codice:

  • In Form_BeforeUpdate: Cancel = ValidateForm(Me)

  • In Form_AfterUpdate:  ValidateForm_RemoveHighlights Me

  • In Form_Current: ValidateForm_RemoveHighlights Me

Questo è un buon modello da seguire: rendere il codice molto autonomo lo rende facile da implementare ovunque. Gli sviluppatori professionisti potrebbero spingersi ancora oltre, ad esempio usando la sottoclassing dei moduli. Si tratta di un'operazione che va oltre gli obiettivi di Northwind Dev.

Il codice di convalida autonomo accetta un oggetto form da convalidare.  Controlla quindi la raccolta di maschere del 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!

×