Automatisch datum invoeren

Status
Niet open voor verdere reacties.

yvobeckers

Gebruiker
Lid geworden
26 sep 2006
Berichten
42
Hallo, ik heb in access een tabel waarin in een bepaald veld een datum ingevoerd moet worden. Aan de hand van deze datum moet in een ander veld deze datum min 1 maand automatisch ingevoerd worden. Dus als ik in veld 1: 12-02-2006 invoer zal in veld 2 automatisch 12-01-2006 moeten komen te staan. Ik krijg dit niet opgelost.
Alvast bedankt,

Groetjes Yvo
 
Maak van de tabel een query gebasseerd en selecteer het veld waar het om gaat.
Gaat het bijvoorbeeld om veld 1 selecteer dan veld 1. Het 2e veld haal je niet uit de tabel maar maak je in de query. Zie onderstaand v.b.

Query

veld 2: [veld 1]-30

het getal 30 staat voor het aantal dagen dat van de datum afgaat, ik weet niet hoe je getal kunt gelijk zetten aan het aantal dagen van een maand b.v. 30 of 31. Zie voorbeeld in bijlage.
 

Bijlagen

Oke, op zich heeft dit me al geholpen. Via deze methode worden de gegevens alleen niet opgeslagen in een tabel, wat ik ook eigenlijk graag wou. Heb je hier misschien ook nog een oplossing voor.

:thumb: Alvast bedankt voor de oplossing.
 
Daar is wel een oplossing voor alleen dan vervalt de eerste oplossing.

Je hebt zoals ik begrijp 2 velden in een tabel waarvan de waarde van veld 2 afhangt van de ingevoerde waarde in veld 1.

Maak een formulier van deze tabel met de 2 velden op het formulier. Selecteer veld 1 in ontwerpweergave van het formulier, en ga dan naar eigenschappen, tabblad gebeurtenis. Kies hier nabijwerken en kies programmacode toets hier het volgende in

Private Sub veld_1_AfterUpdate()
[veld 2] = [veld 1] - 30
End Sub

Met deze code wordt de waarde in veld 2 automatisch ingevuld en opgeslagen in de tabel.
 
Ik wil toch nog even verder gaan op dit punt. Ik heb nu een tabel waarin een datum ingevoerd moet worden in een bepaald veld. Als dit veld (de datum) ingevuld word moet deze datum meteen overgenomen worden in een veld in een andere tabel. Ik heb het geprobeerd op dezelfde manier als de vorige vraag maar dat lukt niet.
 
Ik denk dat je mijn laatste vraag niet helemaal hebt begrepen. In de voorbeelddatabase zijn het namelijk 2 velden in 1 tabel. Mijn vraag is 2 velden in 2 tabellen. Dus wat in tabel 1 in veld 1 gezet word moet automatisch naar tabel 2 in veld 1.....
 
Gebruik DateAdd

Je kunt in de eigenschap na bijwerken van het 1e datumveld vermelden:
Me.Datum2eveldje = DateAdd("m", 1, Me.Datum1veldje). Dan heb je iig de datum een maand later. Met een toevoegquerie kun je deze datum dan brengen waar je wil (dus ook in een andere tabel). Suc(24:4)
 
Laatst bewerkt:
Dit werkt niet, als je de toevoegquery laat lopen zal deze de gegevens iedere keer opslaan en zal de gegevens uit de ene tabel iedere keer kopieren......... dan krijg je toch dat iedere waarde 100 keer kan voorkomen in een tabel.. ik hoop dat je mijn punt begrijpt, t is nogal moeilijk uit te leggen:rolleyes:
 
dan is daar de bijwerkquerie

Dan zul je moeten werken met een bijwerkquerie. In het veld criteria zul je een verwijzing moeten opnemen naar een uniek veld (bv volgnummer) die in de tweede tabel aanwezig zal moeten zijn en overeenkomt met het unieke volgnummer van de 1e tabel. Dan kun je in het betreffende datumveld achter "wijzigen in" een verwijzing opnemen naar het eerder berekende veld ( iets met [Forms]![naam1eform][veldnaamberekendedatum]). Juiste schrijfwijze krijg je door in veld wijzigen in -> re-muis -> opbouwen -> formulieren en dan het goede veldje te selecteren. Suc6
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan