Datum rekenen access

Status
Niet open voor verdere reacties.

coskun1990

Gebruiker
Lid geworden
23 dec 2007
Berichten
31
Datum rekenen access [opgelost]

ik wil met datum rekenen. hoe doe ik de volgende:

ik heb een beheersformulier voor een veilingsite moeten maken. in de formulier zit onder andere de begindatum/tijd van van de veiling, en de eind datum/tijd vd veiling.
en nog een tekstvak waarin staat hoe lang de veiling duurt.

. . . . . . . ._________________
Begintijd | 12-04-2009 14:33:25 |

. . . . . . . ._________________
Eindtijd | 15-04-2009 14:33:25 |

. . . . . . . .___
Looptijd.. .| 3 | dagen

als ik van 15-04 etc. een 16-04... wil maken, wil ik dat looptijd 3 automatisch 4 wordt

ik hoop dat iemand mij kan helpen. alvast bedankt
 
Laatst bewerkt:
Datediff()

Hi Coskun,

In Access zit een rekenfunctie om automatisch het verscil tussen twee dagen uit te rekenen. Deze functie heet Datediff.
De eigenschap na bijwerken van het veld Begintijd of Eindtijd kun je als volgt mken
[looptijd]=DateDiff("d";[begintijd];[eindtijd])

De functie berekent dan het verschil in dagen ("d") tussen de [begintijd] en de [eindtijd].

Ik hoop dat je hier iets aan hebt.

Groeten,

Wiro
 
waar vul ik dit in? in de vba? en welke actie kies ik dan? voor bijwerken/na bijwerken etc.

en kan ik het letterlijk knippen plakken.

de tekstveld waar de datums in zitten heten:

Looptijdbegin = txtLooptijdbegin
Looptijdeinde = txtLooptijdeinde
Looptijd = txtLooptijd

via SQL is het zo ingesteld dat verschil tussen begin en eind moet kloppen in de looptijd, maar dat moet je handmatig invoeren. als het 7 is en ik type 8 dan geeft hij een error. daarom is het handig als het automatisch gaat. het is misschien een rare reactie terug, maar ik weet heel weinig over access. daarom alvast mijn excuus
 
In het ontwerp van het formulier, moet je bij de "na bijwerken" eigenschap van het veld
txtLooptijdbegin aangeven dat er een gebeurtenis eigenschap wordt uitgevoerd.
Ditzelfde doe je bij het veld txtLooptijdeinde

Hetgene wat je dan in de vb-code ingeeft is het volgende:(Voor beide velden)
txtlooptijd=DateDiff("d";txtlooptijdbegin;txtlooptijdeinde)

(Hierbij ga ik er wel van uit dat beide velden initieel een waarde bevatten.)

Als het goed is wordt nadat je het begin of eind veld wijzigt, automatisch de looptijd ingevuld.
 
als ik dit invul:

txtlooptijd=DateDiff("d";txtlooptijdbegin;txtlooptijdeinde)

krijg ik een compileer foutmelding bij vba van access, namelijk:

Compileerfout:

Verwacht lijstscheidingsteken of )

--
en dan is de ; (puntkomma) geselecteerd tussen "d";txtlooptijdbegin
 
Klinkt ook wel logisch.
MIjn fout. In VBA, moet je de puntkomma vervangen door een komma. dan zou het moeten werken.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan