nieuw veld wordt nieuw veld

Status
Niet open voor verdere reacties.

AadToptune

Nieuwe gebruiker
Lid geworden
3 mrt 2023
Berichten
2
Goedendag,
vraagje. Ik heb een aantal contacten met een abonnement, deze mensen moeten op een bepaald moment het abonnement verlengen.
ik heb nu een formulier waarin het contact wordt getoond met de verlengingsdatum
14 dagen vooraf komt het contact in beeld van wie het abonnement moet worden verlengd. Als deze persoon dit heeft gedaan wil ik het aantal dagen invullen dat de nieuwe licentie geldig is. ik wil dan dat de huidige (oude) verlengingsdatum de nieuwe datum krijgt

ik dacht in een query te zetten nieuwedatum: = [verlengingsdatum]

maar logischerwijze verschijnt er een kringverwijzing.

hoe zou ik dit wel kunnen doen?
 
Je zal in ieder geval een functie moeten gebruiken om de nieuwe verlengingsdatum te bereken. Een query lijkt me niet nodig. Als je een formulier hebt waar de abonnementsgevens op staan, maak je op dat formulier een ongebonden veld voor het aantal dagen (dat hoeft niet opgeslagen te worden). Verder maak je een knop waarmee je de datum bijwerkt. Iets als:
Code:
If Nz(Me.AantalDagen, 0) > 0 Then
   Me.Verlengingsdatum = DateAdd("d", Me.AantalDagen, Me.Verlengingsdatum)
Else
   Msgbox("Vul een aantal groter dan 0 in") 
EndIf
 
Als deze persoon dit heeft gedaan wil ik het aantal dagen invullen dat de nieuwe licentie geldig is. ik wil dan dat de huidige (oude) verlengingsdatum de nieuwe datum krijgt.
Ik snap je vraag niet, en gezien het antwoord van Peter, hij ook niet :). Ik zie twee verschillende zaken namelijk. Een functie lijkt mij sowieso niet nodig, als ik denk dat ik het snap. En dat is, dat je op een simpele manier abonnementen wilt kunnen verlengen. Dat formulier dat je hebt, zou daar prima voor gebruikt kunnen worden, lukt mij.

Werkwijze: zet een knop op je formulier, waarmee je, als er een betaling binnenkomt, de licentiedatum wordt ingevuld. Geen extra veld nodig, lijkt mij. Meer hoef je volgens mij niet te doen. Zelf zou ik de betalingen in een aparte tabel opslaan, om de historie vast te leggen. Maar als je dat niet wilt, kan het zo natuurlijk ook.
 
Allereerst hartelijk dank voor de reacties

ik weet inderdaad niet goed hoe ik met vba moet werken. maar om het concreet te maken een voorbeeld
een klant koopt bij mij een antivirus licentie op 1 maart 2022. nu is het zo dat op 14 februari een pop up verschijnt dat zijn licentie verloopt op 1 maart 2023.
Als deze klant bij mij zijn licentie verlengt, en in zijn software zie ik staan dat zijn licentie weer 366 dagen geldig is, wil ik in een veld 366 dagen invullen, en dan moet de huidige datum van 1 maart 2022 automatisch aangepast worden naar 1-3-2022 plus 366 dagen

de velden die ik nu heb in de tabel zijn verlengingsID, klantnaam, datum verlenging
 
Raar systeem, omdat de licentiedatum dan steeds een jaar + één dag opschuift:
Code:
[TABLE="width: 75"]
[TR]
[TD="width: 75, align: right"]01-03-2023[/TD]
[/TR]
[TR]
[TD="align: right"]01-03-2024[/TD]
[/TR]
[TR]
[TD="align: right"]02-03-2025[/TD]
[/TR]
[TR]
[TD="align: right"]03-03-2026[/TD]
[/TR]
[TR]
[TD="align: right"]04-03-2027[/TD]
[/TR]
[TR]
[TD="align: right"]04-03-2028[/TD]
[/TR]
[TR]
[TD="align: right"]05-03-2029[/TD]
[/TR]
[TR]
[TD="align: right"]06-03-2030[/TD]
[/TR]
[TR]
[TD="align: right"]07-03-2031[/TD]
[/TR]
[TR]
[TD="align: right"]07-03-2032[/TD]
[/TR]
[TR]
[TD="align: right"]08-03-2033[/TD]
[/TR]
[/TABLE]
etc. Is dat wat je wil? ik zou eerder de formule DateAdd(“yyyy”;1;[Licentiedatum]) gebruiken, aangezien je het steeds over verlengen met een jaar hebt. Of desnoods met een aantal maanden, als je daar mee werkt. Licenties per dag afnemen lijkt mij behoorlijk vreemd.

Verder snap ik die pop-up niet helemaal; ik werk liever met een doorlopend formulier waar alle verlopende licenties op staan. Die dan uiteraard verdwijnen als de datum is aangepast. Nogmaals: gaat heel makkelijk met een knop met een klein stukje VBA. Maar het is een béétje riskant om het zo te doen, tenzij je een stukje bescherming inbrengt. Je wilt natuurlijk niet dat een zenuwachtige medewerker 4 keer op de knop drukt, en zo de licentiedatum ineens 4 jaar doorschuift :).
Maar ik kan die code wel maken, al heb ik liever dat je een voorbeeldje (met dummy gegevens) post van jouw db zodat we de code op maat kunnen maken.
 
Ben je er al uit? Want het blijft wel érg rustig…
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan