Automatisch Datum invullen bij acces

Pagina: 1
Acties:
  • 572 views sinds 30-01-2008
  • Reageer

  • descon
  • Registratie: Oktober 2002
  • Laatst online: 27-07 12:10
Ik heb een uitleen database gemaakt maar ik zit met 1 probleem

Ik wil bij een formulier dat acces automatisch de datum invult. Als ik een nieuw record maak dan laat ik hem de datum automatisch invullen met =now() (via eigenschappen / standaard waarde)

Als ik later wil aangeven dat hij terug is gebracht dan vult ie niet automatisch de datum in. weet iemand hoe dat zit ????

het gaat om een invoer veld en als ik invul bij dat invoerveld naam_veld = now() krijg ik de fout #naam?

Verwijderd

huh, omschrijf je nader..
/me probeert het in access en het werkt gewoon

Verwijderd

#naam
Lijkt erop dat de koppeling van het formulierveld (RecordSource) met het tabelveld niet juist is. De naam van het formulierveld bestaat niet in de tabel.

Geef eens een duidelijkere omschrijving, geloof me dat helpt :*)

Verwijderd

maar als je now() in een formulier-invoerveld zet, doe je dat toch op het formulier? Dan kent ie het toch altijd... :?

---------------------
|=Now() |
---------------------


---------------------
met |=Now() | als invoervak
---------------------

  • n0kn0k
  • Registratie: Augustus 2002
  • Laatst online: 04-05-2025
Waarom laat je geen updatequery runnen met =now() ? Dat zal zeker werken. Lijkt me een leuk programma waar je mee bezig bent, was ook ooit met zoiets bezig. Mail me maar als je hulp nodig hebt.

  • descon
  • Registratie: Oktober 2002
  • Laatst online: 27-07 12:10
Verwijderd schreef op 08 November 2002 @ 14:22:
maar als je now() in een formulier-invoerveld zet, doe je dat toch op het formulier? Dan kent ie het toch altijd... :?

---------------------
|=Now() |
---------------------


---------------------
met |=Now() | als invoervak
---------------------
Tis ook de bedoeling dat hij het invoert in de tabel , dat gebeurt dus niet

  • descon
  • Registratie: Oktober 2002
  • Laatst online: 27-07 12:10
n0kn0k schreef op 08 November 2002 @ 14:27:
Waarom laat je geen updatequery runnen met =now() ? Dat zal zeker werken. Lijkt me een leuk programma waar je mee bezig bent, was ook ooit met zoiets bezig. Mail me maar als je hulp nodig hebt.
het gaat om een paar records per keer niet om grote voorraden

  • descon
  • Registratie: Oktober 2002
  • Laatst online: 27-07 12:10
Verwijderd schreef op 08 November 2002 @ 14:18:
[...]


Lijkt erop dat de koppeling van het formulierveld (RecordSource) met het tabelveld niet juist is. De naam van het formulierveld bestaat niet in de tabel.

Geef eens een duidelijkere omschrijving, geloof me dat helpt :*)
Overzicht van de Tabel

Naam klant = keuzevak met personen (wordt uit een andere tabel gehaald)
Naam film = keuzevak met films (wordt uit een andere tabel gehaald)
datum lening = datumveld
teruggebracht = ja/nee
datum terug gebracht = datum veld


Het gaat om een database voor uitlenen. Ik wil dat de datums automatisch worden ingevoerd. Bij de datum lening heb ik standaardwaarde =Now() dat wordt keurig netjes ingevoerd.

Als ik bij terug brengen een datum wil laten invoeren met standaardwaarde gebeurt er niks ( dat komt omdat er al een leeg veld staat)

Ik baseer de gegevens voor het formulier door een quey te laten draaien met alle dingen die nog niet terug zijn gebracht

Verwijderd

Inderdaad een updatequery gebruiken. Defaultwaardes worden maar eenmalig gezet (alleen bij aanmaken nieuw record).

code:
1
2
3
4
5
6
7
8
9
10
11
Dim mySQL As String
Dim dbs As Database
Set dbs = CurrentDb

mySQL = "UPDATE table SET DatumTerugGebracht = Now(), TerugGebracht=-1 WHERE (((Table.UniekVeld)=id));
dbs.Execute (mySQL)

MsgBox dbs.RecordsAffected & " record(s) gewijzigd."

dbs.Close
Set dbs = Nothing


Maar dit zou genoeg moeten zijn als het formulier gekoppeld is aan de tabel.

code:
1
2
me.DatumTerugGebracht.value = Now()
me.TerugGebracht.value=-1

  • n0kn0k
  • Registratie: Augustus 2002
  • Laatst online: 04-05-2025
descon schreef op 08 november 2002 @ 14:37:
[...]


het gaat om een paar records per keer niet om grote voorraden
Dus zet je in je WHERE statement een verwijzing naar het invoerveld waar je het te retouren object invoert. [Forms].[bla].[bla] Dus dan update hij alleen die record :)

Verwijderd

Als je #naam? krijgt bij de functie now() betekent dat dat je een functie uit de engelse versie van Access in de NL versie stopt.
Probeer eens Nu()
Pagina: 1