Aanmelden met Microsoft
Meld u aan of maak een account.
Hallo,
Selecteer een ander account.
U hebt meerdere accounts
Kies het account waarmee u zich wilt aanmelden.

Selecteer een onderwerp hieronder voor meer informatie over Inkooporders in de Northwind Developer Edition. 

Deze Dev Edition van de voorbeeldtoepassing Northwind Purchase Orders heeft de enige module Inkooporders. In Starter Edition zijn producten nooit op en hoeven ze nooit te worden gekocht. Deze Dev Edition breidt het databaseschema (gebruikte tabellen) in Northwind 2.0 Starter Edition uit en maakt gebruik van meer geavanceerde functies. Het is nog steeds bedoeld om u kennis te laten maken met de belangrijkste functies van Microsoft Access, niet om een specifiek bedrijf te runnen.

  • De inkooporderlijst is beschikbaar via het lint. Het bevat hyperlinks om elke inkooporder te openen.

  • Zowel de inkooporderlijst als het lint hebben de knop Nieuwe inkooporder om een nieuwe, lege inkooporder te openen. U kunt ook Inkooporders maken via het formulier Producten >knop Product opnieuw bestellen .

  • Met de knoppen in de header worden inkooporders door de werkstroom verzonden via Verzenden, Goedkeuren, Ontvangen en Sluiten. De bijbehorende bijgehouden velden in het formulier zijn vergrendeld omdat ze alleen programmatisch moeten worden ingesteld door op de actieknoppen te klikken.

  • Voor het goedkeuren van een inkooporder is de bevoegdheid Goedkeuring aanschaffen vereist. U kunt zich aanmelden als Andrew Cencini, die de bevoegdheid heeft, of het aan uzelf geven in System Beheer > Privileges. Houd er rekening mee dat uw mogelijkheid om dit te doen een van de vele redenen is waarom Northwind geen toepassing van productiekwaliteit is. In de praktijk kunnen gebruikers hun eigen machtigingen niet verhogen.

  • Regelitems in een inkooporder worden gevalideerd met betrekking tot hun hoeveelheid. Dit moet ten minste de minimumhoeveelheid voor opnieuw ordenen zijn en idealiter moet de voorraad worden hersteld tot ten minste het doelniveau, zoals ingesteld voor elk product.

  • Wanneer een inkooporder is ontvangen, wordt speciale verwerking aangeroepen om deze producten te distribueren naar orderregelitems met de status Geen voorraad en deze in te stellen op Toegewezen. De resterende hoeveelheid wordt naar de inventaris verzonden. Er wordt een record toegevoegd aan de tabel StockTake .

In deze sectie vindt u informatie over de implementatie van het formulier Inkooporder, frmPurchaseOrderDetails:

  1. Het formulier Inkooporder haalt de gegevens op uit een eenvoudige query, qryPurchaseOrder (zie de eigenschap RecordSource ). Het is een best practice om een formulier voor gegevensinvoer te baseren op een eenvoudige query. Houd er rekening mee dat het niet nodig is om de tabel PurchaseOrderDetails in deze query op te nemen. Details worden verwerkt door het subformulier. De query wordt echter wel gekoppeld aan andere tabellen om de velden StatusName, SubmittedBy en ApprovedBy op te halen die alleen-lezen zijn.

  2. Het formulier PurchaseOrderList kan meerdere exemplaren van het formulier Inkooporder openen. Dit is handig omdat de po-afdeling te maken heeft met veel onderbrekingen en mogelijk een andere inkooporder moet openen tijdens het werken aan de eerste, of deze te vergelijken met een derde inkooporder. De techniek wordt hier beschreven.

  3. VendorID haalt de waarde op uit een keuzelijst met invoervak met twee kolommen: een verborgen id-kolom en een zichtbare kolom Beschrijving. Dergelijke keuzelijsten met invoervak zijn gebonden aan eenvoudige query's met twee kolommen: zie de eigenschap RowSource .

  4. Wanneer u een record opslaat, moeten ten minste de vereiste velden worden ingevuld. In de Starter-editie laten we het standaardgedrag van Access gebeuren; in deze Dev-editie wordt een gebruiksvriendelijkere techniek geïmplementeerd, zoals hieronder in detail wordt beschreven.

  5. Wanneer de PO-status naar Ontvangen gaat, wordt speciale verwerking aangeroepen (procedure AllocateToInventory) om de nieuwe voorraad te verdelen over orders die op deze producten wachten.

VALIDATIE

Voor de validatiecode die is geïmplementeerd in de Northwind Dev-editie, is slechts drie regels code vereist:

  • In Form_BeforeUpdate: Cancel = ValidateForm(Me)

  • In Form_AfterUpdate:  ValidateForm_RemoveHighlights Mij

  • In Form_Current: ValidateForm_RemoveHighlights mij

Dit is een goed patroon om te volgen: door uw code zeer zelfstandig te maken, kunt u deze overal eenvoudig implementeren. Professionele ontwikkelaars kunnen dit nog verder gaan, bijvoorbeeld met behulp van subklassen van formulieren. (Dit ligt buiten de doelstellingen voor Northwind Dev.)

De op zichzelf staande validatiecode accepteert een formulierobject om te valideren.  Vervolgens wordt de onderliggende formulierverzameling van RecordsetClone gecontroleerd om erachter te komen welke besturingselementen zijn gebonden aan vereiste velden en wordt gecontroleerd of ze een waarde hebben. Als ze dat niet doen, worden ze gemarkeerd. 

Meer hulp nodig?

Meer opties?

Verken abonnementsvoordelen, blader door trainingscursussen, leer hoe u uw apparaat kunt beveiligen en meer.

Community's helpen u vragen te stellen en te beantwoorden, feedback te geven en te leren van experts met uitgebreide kennis.

Was deze informatie nuttig?

Hoe tevreden bent u met de taalkwaliteit?
Wat heeft uw ervaring beïnvloed?
Als u op Verzenden klikt, wordt uw feedback gebruikt om producten en services van Microsoft te verbeteren. Uw IT-beheerder kan deze gegevens verzamelen. Privacyverklaring.

Hartelijk dank voor uw feedback.

×