Dialooog venster Access 2007

Status
Niet open voor verdere reacties.

ray1979

Gebruiker
Lid geworden
18 okt 2006
Berichten
58
Hallo allemaal,

heb een klantendatabase waar we behalve alle klanteninformatie, ook commerciele rapportages in bijhouden. Nu is het zo dat de database nog maar net klaar is om in gebruk genomen te worden en kwam ik ineens tot de ontdekking dat de rapportages vrijwel allemaal YTD zijn. Dit betekent dat ik in de problemen zou komen in 2009.

Nu wil ik een dialoogvenster maken waarin de user kan kiezen.
Keuzes kunnen gemaakt worden als volgt:

Jaar
Maand
Week
Startdatum
Einddatum
Type rapport

Velden zijn wat mij betreft niet verplicht, dus als er niets wordt ingevuld, maar alleen rapport gekozen, krijgen ze dat rapport met alle gegevens.

Ook is het mogelijk dat ze bijvoorbeeld alleen jaar kiezen.

Heb een vermoeden dat dit met VBA gedaan moet worden. Dat ik Access vertel dat na het selecteren van een of meerdere opties en na het klikken op de knop print preview of print, het gekozen rapport geopend moet worden.

Moeten mijn queries hier nog voor aangepast worden?
Moeten mijn rapportages hier nog voor aangepast worden?

En dan nog de moeilijkste voor mij: hoe ga ik in hemelsnaam die code schrijven.

(ben volgende week weer even in nederland en ga meteen op zoek naar een boek VBA, zodat ik er meer over kan leren. Als iemand dus nog suggesties heeft welk boeken goed en duidelijk zijn, houd ik me aanbevolen)

Groeten,:thumb:

Ray
 
Is dit nog een probleem of is het al opgelost?

Ik zou niet weten of dit ook met macro's kan. Ik gebruik ze nooit. Met VBA kan ik je wel helpen. Het meeste werk moet jij doen!

Maak een form met die velden die je noemt. Als je comboboxen van die velden maakt dan is het weer iets meer gebruikers vriendelijk.

Zet er een knop op om het rapport te maken. Bijvoorbeeld "&Rapport".

Als je op die knop drukt, dan ga je je comboboxen af en je bouwt je where clause van het rapport dat je wilt zien.

Enjoy!

HTH:D
 
1.
Dit betekent dat ik in de problemen zou komen in 2009
2.
Nu wil ik een dialoogvenster maken waarin de user kan kiezen
3.
Heb een vermoeden dat dit met VBA gedaan moet worden. Dat ik Access vertel dat na het selecteren van een of meerdere opties en na het klikken op de knop print preview of print, het gekozen rapport geopend moet worden
4.
Moeten mijn queries hier nog voor aangepast worden?
5.
Moeten mijn rapportages hier nog voor aangepast worden?
6.
En dan nog de moeilijkste voor mij: hoe ga ik in hemelsnaam die code schrijven

Leuk dat je volgende week in Nederland bent (maakt voor helpmij.nl nix uit) maar op welke van de vragen wil je als eerste een antwoord. Allemaal tegelijk gaat echt niet want het is een warboel aan vragen zonder enig voorbeeld.

See you in Holland or here from you quicker

Wim
 
Tijdje geleden, maar vraag is nog steeds actief.

Heb nu een dialoogvenster gemaakt waarin de user de begin en eind datum in moet voeren.
Dit gaat goed.

Nu moet het zo zijn dat de user ook uit een aantal rapporten kan kiezen, daar loop ik vast.
Omdat het een drop down menu is (de user kan dus van daaruit het gewenste rapport kiezen) heb ik een tabel gemaakt met daarin de namen van de rapporten. (ging ervan uit dat dit nodig was, omdat ik anders de drop down / combo box niet kan maken)

Hoe kan ik access nu laten zien dat de rapporten die in die tabel staan, geopend moeten worden zodra de user een rapport kiest in het dialoogvenster?

Hoop dat de vraag duidelijk is.....

Groeten,

Raymond
 
Raymond,

Ik neem aan dat je eerste probleem onderhand is opgelost.

Maar goed,
Het maken van een keuze bij het afdrukken van een rapport is niet zo moeilijk.
Inderdaad is het goed dat een tabel met de naam van het rapport hebt gemaakt.
Deze namen meten dan volledig overeenkomen met de werkelijke naam.

Wat je nu moet doen is gewoon een knop definieren en daar def functie afrukvoorbeeld van een rapport aan vast knopen. Dit doe je met de standaard mogelijkheid binnen VBA.
Dit zaleen VBA code generen die je verder kan gaan gebruiken.

Kijk daar eerst eens naar. Misschien kom je dan meteen al uit.

Succes
 
Ben met VBA echt een kneus en kom er simpelweg niet uit.

Krijg telkens error meldingen. Het dialoogvenster is geen probleem. de lijst met rapporten die gekozen kunnen worden zijn qua naam exact gelijk aan de naam van het rapport. de datum werkt ook. (incl melding indien geen of als startdatim kleiner is als de einddatum). Dit lukte nog net in VBA.

Maar nu loop ik echt helemaal vast.....

Iemand die mij op weg kan helpen?
 
1. Krijg errors als:
- Label not defined
- Sub not defined
- Expected: statement
etc. etc. (denk dat ik zo'n beetje alle errors die bestaan in access, wel gezien heb de afgelopen 2 dagen. Zoals ik al aangaf, ben ik met VBA echt een kneus, daar moet ik eigenlijk alles nog wel in leren)

2.
Krijg het niet voor elkaar om de code te schrijven dat als de user op de print knop klikt dan het rapport dat is gekozen in de combobox wordt geopend.
 
Plaats dan voorbeeld van je database zonder gevoelige informatie. Op de huidige info wordt het moeilijk om te zien wat er fout gaat.
 
ben er mee bezig, maar op een of andere manier verkleind zip de grootte van de database niet. blijft rond de 20mb hangen :-(
 
Krijg hem niet zo klein dat ik hem hier kan posten, dus ik geef wel een stukje code mee dat ik gebruik:

Sub Print_report(PrintMode As Integer)
On Error GoTo Err_ReportPreview_Click

Dim strWhereReportChoice As String

If IsNull(Forms![Dialoguescreen Reports]![ReportChoice]) Then
MsgBox "You must select a report"
DoCmd.GoToControl "Reportchoice"
ElseIf (Forms![Dialoguescreen Reports]![ReportChoice]) Then
strWhereReportChoice = "Top 10 Turnover (TOTAL)"
DoCmd.OpenReport "Top 10 Turnover (TOTAL)", PrintMode
ElseIf (Forms![Dialoguescreen Reports]![ReportChoice]) Then
strWhereReportChoice = "Cumulative Totals per Customer"
DoCmd.OpenReport "Cumulative Totals per Customer", PrintMode
End If

Exit_ReportPreview_Click:
Exit Sub

Err_ReportPreview_Click:
Resume Exit_ReportPreview_Click

End Sub


Wat gebeurt er nu? Hij opent telkens het rapport Top 10 Turnover (TOTAL) ook al selecteer ik de Cumulative Totals per Customer.

Waarschijnlijk voor de kenners van VBA een eitje om te zien wat ik fout doe, maar ik ben al de hele dag bezig dingen aan te passen en te veranderen en enige resultaten die ik dan krijg zijn errors als "Block if without End if" (ook al staat er End if na elke If)

Please help me uit de brand!

Thanks
 
Voor de keuze van welk rapport geopend moet worden, hoort een voorwaarde. Die ontbreekt bij jou in de code en wel op de plek van de rode tekst. Geef daar de voorwaarde aan en dan zou het moeten werken.

Code:
If IsNull(Forms![Dialoguescreen Reports]![ReportChoice]) Then
MsgBox "You must select a report"
DoCmd.GoToControl "Reportchoice"
ElseIf (Forms![Dialoguescreen Reports]![ReportChoice]) [COLOR="Red"]= "ItemUitDeKeuzelijst"[/COLOR] Then
strWhereReportChoice = "Top 10 Turnover (TOTAL)"
DoCmd.OpenReport "Top 10 Turnover (TOTAL)", PrintMode
ElseIf (Forms![Dialoguescreen Reports]![ReportChoice]) [COLOR="red"]= "ItemUitDeKeuzelijst"[/COLOR] Then
strWhereReportChoice = "Cumulative Totals per Customer"
DoCmd.OpenReport "Cumulative Totals per Customer", PrintMode
End If

mvg
Charles
 
Hoi Charles,

Heb de code aangepast en hij ziet er nu als volgt uit

Code:
Sub Print_report(PrintMode As Integer)
On Error GoTo Err_ReportPreview_Click

 Dim strWhereReportChoice As String

        If IsNull(Forms![Dialoguescreen Reports]![ReportChoice]) Then
        MsgBox "You must select a report"
        DoCmd.GoToControl "Reportchoice"
        ElseIf (Forms![Dialoguescreen Reports]![ReportChoice]) = "Top 10 Turnover (TOTAL)" Then
        strWhereReportChoice = "Top 10 Turnover (TOTAL)"
        DoCmd.OpenReport "Top 10 Turnover (TOTAL)", PrintMode
        ElseIf (Forms![Dialoguescreen Reports]![ReportChoice]) = "Totals per Week (Grand Total)" Then
        strWhereReportChoice = "Totals per Week (Grand Total)"
        DoCmd.OpenReport "Totals per Week (Grand Total)", PrintMode
        End If

Exit_ReportPreview_Click:
    Exit Sub

Err_ReportPreview_Click:
    Resume Exit_ReportPreview_Click
    
End Sub

Als ik vervolgens in mijn dialoogvenster de datum aangeef en het rapport kies, wordt mn dialoogvenster gesloten zonder dat er een rapport wordt geopend. :'-(
 
misschien moet je even een voorbeeld database posten(zipped) dan krijg je veelal sneller resultaat.

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