Vervaldatum automatisch toewijzen als begindatum en vervaltermijn zijn ingesteld

Status
Niet open voor verdere reacties.

themaster2009

Gebruiker
Lid geworden
27 jun 2011
Berichten
5
Ik heb een database gemaakt voor binnenkomen facturen te registreren en een betaal overzicht te maken. Ik kan er alleen niet achterkomen hoe ik automatisch een verval datum kan toewijzen als ik het vervaltermijn en ontvangst data heb in gevoerd. Weet iemand hoe ik dit kan doen???
 
En waar wil je dat invullen? Persoonlijk zou ik een vervaldatum berekenen in een query: [Vervaldatum]+30 bijvoorbeeld doet het al. Of de functie DateAdd. Dat wordt dan: Expr2: DateAdd("d";30;[Factuurdatum])
In beginsel sla je te berekenen waarden namelijk nooit op...
 
Hee octafish,

Dank je wel. Maar nu heb ik nog 2 vragen. Als ik dat doe en ik vul in. DateAdd("d";30;[Factuurdatum]) ten eerste herkent de formule de veldnaaam niet. Terwijl de veldnaam overeenkomt met de formule. en ik krijg standaard een weergave van het jaar 1894
 
Dat lijkt mij logisch; mijn mogelijkheden zijn enigszins beperkt waar het op andermans pc kijken hoe een tabelveld heet :) Je zult de veldnaam dus moeten veranderen in je eigen veldnaam. Ik heb de formule gemaakt voor gebruik in een query. Als je hem daar zo invult, zal Access daar nog wel Expr1: voorzetten, een naam die je uiteraard kunt vervangen in Vervaldatum:
Op een formulier moet je de formule in een niet-afhankelijk tekstvak zetten bij <Besturingselementbron>. Hij begint dan met een = teken.
 
Geen probleem! Overigens zag ik dat je in je tabel een veld [Verval datum] hebt gemaakt, maar die kan dus weg, wat mij betreft: de vervaldatum is een berekening, en berekeningen slaan we in principe niet op, die maak je in een query. Zoals het voorbeeld dus. Wel prima overigens dat je de vervaltermijn in een veld zet, want daarmee ben je veel flexibeler!
 

Bijlagen

Het lijkt mij prima ;) Ik snap eigenlijk niet waarom je een aparte veld [VervalTermijn] hebt gemaakt in de tabel [Purchase Orders], en dat je daar dan ook nog een opzoeklijst voor gebruikt.... In eerste instantie snapte ik namelijk niet waarom de berekeningen niet klopten; ik zag bijvoorbeeld een record met factuurdatum 1-1, en een betaaltermijn van 15 dagen, waar als datum 12-1 uit kwam. Tot ik dus de tabel [Purchase Orders] opende, en zag dat je daar ook een veld Betaaltermijn had, met een opzoeklijst uit de tabel Suppliers! En i.p.v. de betaaaltermijn, haalde je het SupplierID op.... Dat is dan ook exact de reden dat ik al jaren tegen iedereen roep: gebruik toch geen opzoeklijsten in een tabel, want je ziet niet wat je opslaat! Niet doen dus!!! zowiezo is het niet nodig lijkt mij, want je haalt de betaaltermijn uit de supplier tabel, dus extra invullen is niet echt nodig. Tenzij je vaak wisselt per order per klant, maar dan hoef je ook niks vast te leggen.

Om in de factuurquery de juiste gegevens te zien hoef je alleen maar de tabel Suppliers toe te voegen. Je krijgt dan deze query:

Code:
SELECT Suppliers.Company, Suppliers.[Last Name], Suppliers.[First Name], Suppliers.[Bankrekening numer], Suppliers.[BTW Nummer], [Purchase Orders].[Supplier ID], [Purchase Orders].[Purchase Order ID], Suppliers.VervalTermijn, [Purchase Orders].FactuurDatum, DateAdd("d",[Suppliers].[VervalTermijn],[FactuurDatum]) AS VervalDatum
FROM Suppliers INNER JOIN [Purchase Orders] ON Suppliers.ID = [Purchase Orders].[Supplier ID];

Overigens heb je de koppeling tussen de tabellen ook niet jofel gelegd; gebruik in het scherm Relaties alleen Inner joins, en geen Outer Joins. Dus als je een nieuwe relatie legt, blijf dan van de knop <Jointype> af...
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan