Brief versturen vanuit acces

Status
Niet open voor verdere reacties.
ik ben het spoor bijster :(
Ik ook :). Geen idee meer wat je wilt weten.... Je hebt je tabellen, je weet wie de aanmaning moet krijgen (betaaltermijn overschreden) en je kunt alle tabelgegevens in een rapport zetten. De vaste tekst van een aanmaning is, neem ik aan, altijd hetzelfde. Anders is het onzinnig om daar een rapport voor te maken. Dus dat is ook simpel te maken. Waar ligt dan nog het probleem?
 
Wat ik wil verkrijgen is dat wanneer huur niet is betaald ik daarvoor een aanmaning kan versturen. Ik heb een tabel betalingen met BetalingID, bedrag en datum van betaling. Ik heb met een datum veld gewerkt en niet elke maand appart invoeren, ik had kunnen werken met een veld maand en een veld met een ja/ nee en deze dan afvinken als de betaling is gebeurd . Wanneer dan niet afgevinkt zou een aanmaning kunnen verstuurd worden.
Welke methode is nu de beste .

Een rapport heb ik al gemaakt en hierin krijg ik netjes de betalingen te zien van elke huurder. Maar zou graag willen zien welke maand er niet betaald is en daarop een brief versturen.
 
Er zijn verschillende manieren om te controleren of er betaald is of niet. Welke je wilt gebruiken hangt een beetje af van hoe je werkproces is. In eerste instantie is het heel simpel: klant A heeft een factuur uitstaan, met een factuurdatum. Die moet betaald zijn binnen een bepaalde termijn. Als de Factuurdatum+Termijn >= vandaag, dan zit de klant goed, anders is de betaaldatum verstreken en kan je aanmaningen gaan sturen. En daar komt je voorwaarde om de hoek kijken: als de factuur nog niet betaald is. En hoe weet je dat? Heel simpel: ofwel de betaaldatum is ingevuld (en dat doe je als je de betaling registreert) ofwel je gebruikt een selectievakje. Minder slimme ontwikkelaars doen het dubbelop: die gebruiken dus een veld [Betaaldatum] en een Ja/Nee veldje [Betaald].

Dat is dus de eenvoudige variant. Anders wordt het als de klant niet in één keer betaalt. Dan heb je weliswaar een betaaldatum (eerste betaling, tweede betaling etc) maar is het betaalde bedrag niet gelijk aan de factuursom. Bij gespreide betalingen raad ik dan ook een aparte tabel aan voor de losse betalingen. De som van al die betalingen moet uiteraard weer gelijk zijn aan het totaalbedrag wil de betaling worden goedgekeurd.
Ook hier kun je dus een check maken op betaaldatum , maar nu moet je ook het betaalde bedrag meenemen. Kies je er voor om de betaaldatum pas in te vullen als de complete betaling binnen is, dan verandert er niet zoveel.
 
Ik reken mezelf nog bij de minder slimme ontwikkelaars , anders zou ik hier niet zoveel vragen moeten stellen :)

Wat ik uit uw antwoord kan lezen is dat ik best ook een veld in de tabel betalingen zou aanmaken met een vaste datum in , wanneer de betaling zou moeten gebeurd zijn van de huur (het gaat over huurgelden , niet over uitgaande facturen). Aan de hand van dit veld en het veld datum ontvangen betaling kan ik dan gaan filteren.
Voorbeeld , veld 1 geeft aan dat de huur betaald moet zijn voor de 10e van de maand, wanneer dan in veld 2 geen betaling is ingegeven kan ik hierop een brief sturen. Zit ik zo in de goede richting.

Hoe meer je met acces werkt hoe ingewikkelder het wordt:(
 
Probleem dat nu ontstaat is dat ik geen veld kan aanmaken met de betaaldatum, deze moet voor de 10e van de maand gebeuren maar hoe definieer ik dit , dan moet ik met maandvelden gaan werken waarin ik dan elke keer 10/01/2015 - 20/02/2015 , enz verder ingeef.

Heeft er nog iemand een goed ingeving hoe ik dit best aanpak.
 
Wat ik uit uw antwoord kan lezen is dat ik best ook een veld in de tabel betalingen zou aanmaken met een vaste datum in , wanneer de betaling zou moeten gebeurd zijn van de huur
Dat heb je mij niet horen zeggen (of schrijven). De uiterste betaaldatum is een herleidbaar gegeven, als je tenminste een betaaltermijn hebt afgesproken. Dat zou een vaste datum kunnen zijn (voor de 15e van elke nieuwe maand bijvoorbeeld) of een termijn op basis van de startdatum (startdatum + 30 dagen). Hoe dan ook: die uiterste betaaldatum is op basis van jouw systeem bekend, en kan dus gebruikt worden in queries. In ieder geval niet opslaan in een tabel :).
Wat je dus wél vastlegt, is de betaaldatum. En daarop kun je simpel filteren. Betaaldatum=leeg: moet nog betalen. Betaaldatum=leeg + betaaldatum overschreden = boete.
 
de betaaltermijn is de 10 de van elke maand, hoe kan ik dat definiëren zonder dat ik 12 velden dien aan te maken met alle maanden erin. Ik zou kunnen zeggen, startdatum is de 1ste van elke maand + 10 = uiterste betaaldatum. Klopt deze redenatie
 
Met DateSerial en DateAdd kun je elke flexibele datum genereren die je wilt. Dus als je elke 1e van de maand + 10 dagen gebruikt, dan vind je de uiterste betaaldatum voor de huidige maand met deze formule:
Code:
BetaalDatum:DateSerial(Year(Date());Month(Date());11)
 
BetaalDatum:DateSerial(Year(Date());Month(Date());11) met deze expressie blijft de datum steeds dezelfde. Betaling is gebeurd op 31/01/2015 , vervaldatum met expressie geeft aan 02/02/2015 , enkel blijft deze voor elk nieuw record nu hetzelfde. Als ik de huur voor februari wil ingeven , blijft de vervaldag op 02/02/2015 , idem als ik binnen kort voor de maand maart wil ingeven
 
Met de formule maak je deze maand 11-2-2015, niet 2-2-2015. Maar afgezien daarvan: de maand verandert natuurlijk pas volgend maand. Als er op 31-1 is betaald, dan is er toch niks aan de hand? Ligt de betaaldatum toch voor 11-2?
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan