|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Mar 2006
Messaggi: 608
|
Problema report di access
Ho già postato in un'altra sezione ma non ho trovato risposte...quindi vi posto il mio problema:
Il problema è questo: ho un database in cui ho creato 2 report (per esempio A e B). Nella maschera in cui inserisco i dati ho messo un pulsante che mi permette di fare l'anteprima di stampa dei report. Questo pulsante è associato ad una macro dove ci sono due azioni (tutte e due 'ApriReport'). Una è collegata al report A, l'altra al report B. Il problema è che quando clicco sul pulsante mi vengono fuori tutte e 2 le anteprime contemporaneamente. Io vorrei che una volta cliccato su quel pulsante mi venisse chiesto quale delle 2 anteprime voglio visualizzare (o A o B). Sò che è possibile ma non trovo il comando giusto!!!! Non sò se avete capito bene, ma non riesco a spiegarmi meglio!! Spero che mi possiate aiutare!!! Ciao e grazie!!!!!!! |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Mar 2001
Città: PV Milano Nord
Messaggi: 3851
|
scusa la domanda imbecille..
ma non è + comodo fare 2 pulsanti??
__________________
"W la foca, che dio la benedoca"
poteva risolvere tutto la sinistra negli anni in cui ha governato e non l'ha fatto. O sono incapaci o sta bene anche a "loro" cosi. L'una o l'altra inutile scandalizzarsi.[plutus] |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Mar 2006
Messaggi: 608
|
|
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Mar 2001
Città: PV Milano Nord
Messaggi: 3851
|
Quote:
io creerei una maschera con i pulsanti di tutti i report... e nella maschera principale un pulsante che apra la maschera di scelta... capisci cosa intendo? tanto poi rimuovendo tutte le cose non necessarie come i vari pulsanti e le righe di scorrimento....la maschera di scelta sarebbe molto piccola
__________________
"W la foca, che dio la benedoca"
poteva risolvere tutto la sinistra negli anni in cui ha governato e non l'ha fatto. O sono incapaci o sta bene anche a "loro" cosi. L'una o l'altra inutile scandalizzarsi.[plutus] |
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Mar 2001
Città: PV Milano Nord
Messaggi: 3851
|
se no proverei un'altra cosa (ma non ho access installato al momento per verificare come farlo)
dovresti associare al pulsante una query che va a compilarti la macro a seconda del valore che inserisci... ma ripeto nn riesco a verificare se è fattibile oppure come ultima scelta dei radio button da selezionare prima di premere il tasto macro insomma le soluzioni ci sono...tutto sta a quanto ne sai di access e alla voglia di sbattimento per farlo io personalmente farei il mio primo modo che ti da anche la pox di aggiungere tutti i pulsanti che vuoi nella seconda maschera senza riscrivere query o altro
__________________
"W la foca, che dio la benedoca"
poteva risolvere tutto la sinistra negli anni in cui ha governato e non l'ha fatto. O sono incapaci o sta bene anche a "loro" cosi. L'una o l'altra inutile scandalizzarsi.[plutus] |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Aug 2004
Città: Provincia di Monza e Brianza
Messaggi: 6274
|
Invece di mettere una macro che fa una cosa banale come aprire un report, mettici del codice VBA che lo fa, no ?
Clicca sul bottone, poi clicca "Proprietà", in Evento -> Click metti "Routine evento" -> Premi 'Sfoglia' -> e metti il codice per aprire un report: Codice:
DoCmd.OpenReport "Nome_Report", acViewPreview
__________________
AMD Ryzen 5 7600X - Dissipatore Thermalright Assassin King 120SE - RAM Kingston Fury Beast 2x16Gb DDR5 CL30 @ 6000 - Motherboard ASROCK B650 Pro RS - NVME Kingston KC3000 2Tb - PSU FSP Hydro PRO 600w - Win 11 PRO |
|
|
|
|
|
#7 | |||
|
Senior Member
Iscritto dal: Mar 2006
Messaggi: 608
|
Quote:
Quote:
Quote:
Ho provato a seguire i tuoi consigli, solo che ho un problema (sicuramente ho sbagliato qlc!!). Ho creato 2 codici sullo stesso bottone: DoCmd.OpenReport "Report_A", acViewPreview DoCmd.OpenReport "Report_B", acViewPreview Solo che quando clicco mi si aprono entrambi i report. Che comando devo inserire per fargli fare la scelta? Ho provato anche a creare una casella a discesa ma non la riesco ad associare ai due report! Help me!!!! Ciao e grazie ancora per i consigli!!!! |
|||
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Aug 2004
Città: Provincia di Monza e Brianza
Messaggi: 6274
|
Ovviamente si aprono tutti e due !
Il codice 'su click' viene eseguito in toto quando premi il bottone, quindi lui apre prima il report "A" e poi di seguito il "B". Un modo semplice è mettere ovviamente due bottoni. Un altro modo è usare un sistema che prima apra il "A" e poi il "B" , sempre premendo lo stesso bottone: Codice:
''Definisco una variabile che faccia da switch
Static x as boolean
''Testo il suo valore
if x = true then
DoCmd.OpenReport "Report_A", acViewPreview
else
DoCmd.OpenReport "Report_B", acViewPreview
endif
''Modifico il valore della variabile
x = not x
Ovvio che così va bene finchè hai solo due report, ma già avrai notato che se volessi aprire prima B di A, dovrei modificare il codice. Un altro modo potrebbe essere chiedere all'utente il nome del report da aprire: Codice:
Dim Nome_report as string
Nome_report = InputBox ("Inserisci il nome report:" , "Domanda")
''Controllo che non abbia inserito solo spazi
If trim(Nome_report) <> "" then
DoCmd.OpenReport Nome_report, acViewPreview
end if
Codice:
Dim obj As AccessObject, dbs As Object
Set dbs = Application.CurrentProject
' Search for open AccessObject objects in AllReports collection.
For Each obj In dbs.AllReports
''Se togli il commento alla IF che segue, ti elenca solo i rep. caricati al momento
'If obj.IsLoaded = True Then
' Print name of obj.
Debug.Print obj.Name
CasellaCombinata.AddItem obj.Name
'End If
Next obj
Codice:
DoCmd.OpenReport CasellaCombinata.text, acViewPreview
__________________
AMD Ryzen 5 7600X - Dissipatore Thermalright Assassin King 120SE - RAM Kingston Fury Beast 2x16Gb DDR5 CL30 @ 6000 - Motherboard ASROCK B650 Pro RS - NVME Kingston KC3000 2Tb - PSU FSP Hydro PRO 600w - Win 11 PRO Ultima modifica di Spike79 : 19-10-2007 alle 09:09. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 15:15.



















