Ik begrijp niet waarom hij het record print

  • Onderwerp starter Onderwerp starter Aroff
  • Startdatum Startdatum

Aroff

Gebruiker
Lid geworden
18 jun 2024
Berichten
77
Goedemorgen,

Ik heb hier een paar regels tekst.
De bedoeling is dat hij vanuit het formulier via een keuzerondje het rapport gaat openen. Echter, hij gaat printen! Wel het gevraagde record.

Code:
Private Sub Keuzerondje2_Click()
    DoCmd.OpenReport "RptATKTrigion", acNormal, wherecondition:=[BrongegevensID] = " & Me!BrongegevensID"
End Sub

Kunnen jullie helpen?
 
Laatst bewerkt door een moderator:
Je gebruikt de standaaard actie voor rapporten, en dat is nu eenmaal afdrukken. Access doet dus precies wat je vraagt :). Zo krijg je hem geopend in preview. Gebruik je IntelliSense, en typ je dus komma's na elke parameter, dan krijg je een lijst met de beschikbare opties, waaronder dus:
Code:
    DoCmd.OpenReport "RptATKTrigion", acViewPreview,
     WhereCondition:=[BrongegevensID] = " & Me.BrongegevensID"
En gebruik een punt en geen uitroepteken (geeft ook weer IntelliSense, een uitroepteken niet).
 
Dank je wel. Wat is intellisense? Gebruik ik dat al? of moet ik het toevoegen?
 
IntelliSense kun je dacht ik instellen in de eigenschappen in het VBA venster. Standaard staat het aan.
Wat het doet? Als je met Early Binding werkt, kun je objecten en parameters in code kiezen uit een keuzelijst, zodra je na een punt begint te typen. Als je bijvoorbeeld een tekstveld hebt met de naam "txtLeeftijd" met een formule om de huidige leeftijd te laten zien, dan kun je die zo typen:
IntellSense1.jpg
en dan zie je het veld txtLeeftijd al staan. Met een druk op de <Tab> toets kies je het veld, en ga je naar de eigenschap van dat veld met een punt:
IntellSense2.jpg
Het gaat om de Value dus drie keer pijl naar beneden en tab. Dan de rest van de formule met de functie fLeeftijd:

IntellSense3.jpg
Weer een punt, en de letter "g" voor het veld [geboortedatum]. dan een komma, want je hebt (zag je als het goed is al in de functieaanroep) nog een veld nodig:
IntellSense4.jpg
En dan heb je alle velden, en maak je de formule af met twee haakjes. Het resultaat is dan:

Code:
    Me.txtLeeftijd.Value = fLeeftijd(Me.geboortedatum, Nz(Me.Overlijdensdatum))

En dat is toch een stuk makkelijker dan alles intypen met de kans op typfouten (en verkeerde veldnamen).
 
Terug
Bovenaan Onderaan