Gegevens formulier updaten

  • Onderwerp starter Onderwerp starter csm
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

csm

Gebruiker
Lid geworden
13 dec 2008
Berichten
80
Hallo

we hebben een database met drie tabellen 1 tabel met de standaard prijzen 1 tabel met actie prijzen waarin een periode wordt aangegeven doormiddel van twee datumvelden of een artikel verkocht wordt voor een actie prijs en 1 tabel waarin vaste bezorgdatums staan.

als we een nieuwe order aanmaken wordt er doormiddel van de tabel met bezorgdatums gekeken of de bezorgdatum in de actie periode valt is dit het geval dan wordt de actieprijs berekend valt de bezorgdatum niet in de actieperiode wordt de standaard prijs berekend dit gaat allemaal goed.

nu komt het voor dat er een order aangemaakt wordt met de standaard prijs en later de bezorgdatum handmatig aangepast wordt als nu de bezorgdatum wel in de actie periode valt zou het zo moeten gaan werken dat de prijzen van de order ook aangepast worden met de actie prijs.

kan iemand me op weg helpen hoe dit aan te moeten pakken

met vriendelijke groet CSM
 
Oei, ik begin zowaar te geloven dat je gebruik maakt van Berekende tabelvelden.... En dat je je nu in de vingers hebt gesneden daarmee! Als dat zo is, heb je een fantastische reden gevonden om daar vanaf nu nooit meer mee te werken! Want berekende velden deugen dus niet :)
Wat je (uiteraard) moet doen, want dat is een basisprincipe van een goede database, is de prijs berekenen via een query. In die query maak je de berekening (in dit geval: opzoeken van de prijs a.d.h.v. de bezorgdatum), en op het moment dat de bezorgdatum verandert, wordt de prijs dynamisch aangepast. En zo hoort het ook in een goede database!
Overigens: als je een actieprijs hebt voor artikelen, dan zou ik die actieprijs baseren op de besteldatum, niet op de bezorgdatum. Lijkt mij een stuk logischer!
 
Ik snap jou antwoord maar het ligt iets anders

we hebben namelijk 15 verkopers die elk 15 verschillende routes met daarin klanten die vast elke drie weken bezocht worden van deze bezoeken staan de datums vast in de database
als er dus een bestelling binnen komt wordt er gekeken in welke route deze klant thuis hoort dus er kan vandaag 06-04-2012 een bestelling binnen komen die pas op 20-04-2012 bezorgd gaat worden dus krijgt deze klant het artikel voor de actie prijs die in die periode geld ( de actie periode is ook altijd drie weken geldig)
nu komt het voor dat de klant een tussentijdse levering wenst dus op een andere datum geleverd krijgt dus kan het ook een andere actieprijs zijn.

groet CSM
 
Laatst bewerkt:
Prima reden dan om het zo te doen! Neemt overigens niet weg dat ik nog niet weet hoe je nu aan die prijs komt.... Dus blijft mijn antwoord: maak een query ;)
 
zo wordt prijs gezocht

Code:
Sub zoekprijs(strFilter)
Dim Begindatum As Date
Dim Einddatum As Date


 Me!Uitassortiment = DLookup("Uitassortiment", "Artikelbestand", strFilter)
       If Me!Uitassortiment = "Waar" Then
   DoCmd.OpenForm "Frmtest1", acNormal
  End If
aantalactiekeuze = DCount("actieprijs", "actiekeuze", strFilter)
If aantalactiekeuze = 0 Then
Me!omschijving = DLookup("omschrijving", "Artikelbestand", strFilter)
   Me!aantal.SetFocus
   totaal = aantal * prijs
    Me!prijs = DLookup("[Actueel]", "artikelbestand", strFilter)
    Else
    Begindatum = DLookup("Begindatum", "actiekeuze", strFilter)
    Einddatum = DLookup("Einddatum", "actiekeuze", strFilter)
    varleverdatum = [Tekst100]
     If varleverdatum >= Begindatum And varleverdatum <= Einddatum Then
            Me!omschijving = DLookup("omschrijving", "Artikelbestand", strFilter)
            Me!omschijving1 = DLookup("actietekst", "actiekeuze", strFilter)
            Me!aantal.SetFocus
            totaal = aantal * prijs
            Me!prijs = DLookup("actieprijs", "actiekeuze", strFilter)
            Opmerking.ForeColor = 255
            Opmerking = "Actieartikel"
            Else
             Me!omschijving = DLookup("omschrijving", "Artikelbestand", strFilter)
   Me!aantal.SetFocus
   totaal = aantal * prijs
     Me!prijs = DLookup("[Actueel]", "artikelbestand", strFilter)
    
End If
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan