Formulier openen met bepaalde datum

Status
Niet open voor verdere reacties.

gcjvanbeek

Gebruiker
Lid geworden
27 nov 2006
Berichten
164
Ik heb een tabel gemaakt met daarin alle dagen van het jaar, aangevuld met extra gegevens per dag. De veldnaam voor de dagen is Dag.

Ik heb een formulier gemaakt met daarin de bovenstaande gegevens (datasheet)

Ik wil nu een formulier openen waarbij de referentie een van de dagen van het jaar is.
Daartoe dubbelklik ik in de datasheet op een datum en open een form met de naam "Cursussen per datum".

Het docmd ziet er als volgt uit :
DoCmd.OpenForm "Cursussen per datum", acFormDS, , "[Datum]= #" & Format(Startdate, "dddddd") & "#"

Hierbij is Startdate = ME.Dag
Ik krijg een error 375 of 376.

Zie ook de bijlage.

Wie kan mij helpen?

Gerard van Beek
 

Bijlagen

  • docmd openform.JPG
    docmd openform.JPG
    35,9 KB · Weergaven: 52
Ik vermoed

Code:
DoCmd.OpenForm "Cursussen per datum", acFormDS, , [Datum]= Format(Startdate, "dddddd")
 
Werkt helaas niet

Helaas dat werkt ook niet. Ik krijg nu een melding error 2465, "kan het veld niet vinden waarna wordt verwezen.
Dat moet slaan op [Datum] want Startdate is bekend. Volgen mij moet de expressie ook altijd beginnen met een ".

Groeten,
Gerard van Beek
 
Dan zou ik het hiermee proberen
DoCmd.OpenForm "Cursussen per datum", acFormDS, , "[Datum]= #" & Format(Startdate, "dddddd") & "#""
 
Helaas ook niet

Hallo, Ook dit geprobeerd, maar het werkt niet. Ik krijg weer een foutmelding (zie bijlage).
Hierop kun je ook zien dat de laatste aanhalingsteken teveel is. Echter als ik er een aanhalingteken weghaal wordt het aanhalingteken er automatisch weer bijgezet. Probeer het svp zelf eens.

Groeten, Gerard van Beek
 

Bijlagen

  • Extra aanhalingsteken.JPG
    Extra aanhalingsteken.JPG
    23,7 KB · Weergaven: 50
Laatst bewerkt:
Ik heb een tabel gemaakt met daarin alle dagen van het jaar, aangevuld met extra gegevens per dag. De veldnaam voor de dagen is Dag.

DoCmd.OpenForm "Cursussen per datum", acFormDS, , "[Dag]= #" & Format(Startdate, "dddddd") & "#"

?
 
Antwoord

Nee "dag" is de naam van het veld waarop ik dubbelklik om de macro te starten.
[Datum] is het veld in de form die hieraan gelijk moet zijn. startdate=Me.dag.
Het werkt nogsteeds niet. Zou het iets te maken kunnen hebben de localisatie (Nederland)?

Ik heb gekeken naar de waardes van de velden en die zijn : "Dag= donderdag 9 oktober 2008" en "Datum = donderdag 9 oktober 2008" . Beide zijn velden van het type Date en hebben een longdate notatie. Excact hetzelfde dus.

Ik heb op een andere site gekeken "http://bytes.com/forum/thread211440.html"
en heb het format van de vergelijking overgenomen. Toch werkt het niet.

Is het tijd om wanhopig te worden?
 
Probeer dan eens:

Code:
DoCmd.OpenForm "Cursussen per datum", acFormDS, , "[Datum]=  formatdatetime (Date,vbLongDate)"
 
Kan niet goed zijn

Sorry, maar dat kan niet goed zijn.
De totale expressie staat nu tussen aanhalingstekens. Ik heb het geprobeert, maar het programma vraagt nu naar de parameters date en vblongdate.

Ik heb getracht hetvolgende :

DoCmd.OpenForm "Cursussen per datum", acFormDS, , "[Datum]= " & formatdatetime (Date,vbLongDate), maar de foutmelding blijft error 3075
 
Ik vond de oplossing

Ik heb op de Tek tip forum het antwoord gevonden.
Visual basic veronderstelt automatisch voor datums het Amerikaanse formaat. "mm-dd-yyyy". Daarmee rekening houdend ziet mijn docmd er alsvolgt uit :
Code:
DoCmd.OpenForm "Cursussen per datum", acFormDS, , "[Datum]= #" & Format(startdate, "mm-dd-yyyy") & "#", acFormReadOnly

En eindelijk het werkt!

Bedankt voor jullie aandacht en hulp.

Gerard van Beek
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan