Form als voorloop op rapport annuleren

  • Onderwerp starter Onderwerp starter scw
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

scw

Gebruiker
Lid geworden
5 jun 2009
Berichten
530
Beste forumleden,

Hierbij wil ik het volgende probleem van mij voorleggen:

Ik heb een rapport waarbij van te voren een formulier wordt geopend met een keuzelijst om de criteria te bepalen voor het rapport. Dit werkt volledig naar behoren, echter op het formulier heb ik een knop annuleren en zodra ik daarop klik, dan gaat het mis.

Er wordt dan namelijk nog steeds gevraagd naar een Parameterwaarde opgeven:

Formulieren!frmSelecteerAchternaam!KeuzelijstAchternamen

De volgende code zit onder de knop Annuleren:

Private Sub Annuleren_Click()
On Error GoTo Err_Annuleren_Click


DoCmd.Close
DoCmd.Close , "Rapport", acSaveNo
Exit_Annuleren_Click:
Exit Sub

Err_Annuleren_Click:
MsgBox Err.Description
Resume Exit_Annuleren_Click

End Sub


De volgende code zit onder het rapport:

Private Sub Report_Close()
DoCmd.Close acForm, "frmSelecteerAchternaam"
End Sub

Private Sub Report_Open(Cancel As Integer)
DoCmd.OpenForm "frmSelecteerAchternaam", , , , , acDialog
End Sub




Hoe kan ik ervoor zorgen dat het formulier daadwerkelijk wordt gesloten en er niet meer naar de Parameter wordt gevraagd voor de criteria?????

Bij voorbaat dank voor jullie hulp.
 
Je doet het verkeerd om. Je moet het form openen, het criterium invullen en van daaruit het rapport starten.

HTH:D
 
Ha Guus,

Dank voor je antwoord.Ik begrijp wat je bedoeld. Echter, ik heb een form 'rapporten afdrukken' met een lijst waarin ik een keuze maak v.w.b. de rapporten gebruikmakende van een macro. Dus ik selecteer een rapport in de lijst, rapport opent automatisch formulier, zo is het eigenlijk. Nu werkt dat allemaal goed naar behoren, op die knop annuleren na dan.

Zou jij het, nu je deze informatie weet, toch nog op jou manier doen? En zo ja, zou je dan een voorzetje voor me kunnen geven, hoe ik dat dan neerzet?

Alvast bedankt voor je hulp.
 
Begrijp ik dat je het rapport nog niet hebt geopend als je op Annuleren klikt?

Want in dat geval zou ik de Close statements zo doen:

DoCmd.Close , "Rapport", acSaveNo
Me.Formulieren!frmSelecteerAchternaam.Visible=False

Daarmee verberg je het formulier, dat je dan op het juiste moment weer zichtbaar kan maken, of alsnog sluiten.

Michel
 
Een rapport is iets anders dan een form. Rapporten zijn er om gegevens te laten zien en niets meer dan dat.

Ik zou een form starten, de gegevens in laten vullen die je nodig hebt en vervolgens het rapport starten met die waarde als parameter (openargs).

HTH:D
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan