Access: un solo report con diverse query come origine dati

Anonimo
2014-04-19T09:34:52+00:00

Sono pochi mesi che utilizzo Access, il mio livello perciò è veramente basso.

Ho creato dodici Query (denominate "totale gennaio", "totale febbraio",........) e ciascuna di esse raccoglie i dati di un bilancio mensile di un determinato ristorante e relativo a un determinato anno; per semplicità di calcolo non è possibile inglobare le dodici Query in un'unica Query. Allo stato attuale ho creato dodici report mensili (ciascuno con origine dati la corrispondente Query mensile) e una maschera (denominata "Interrogazione P & L mensile") dove immetto le seguenti scelte: nome ristorante, mese e anno. Premendo un pulsante apro il report di riferimento.

Vorrei avere la possibilità di ottenere un unico report che alternativamente attinge i dati dalla Query mensile corrispondente a quanto selezionato nella maschera "Interrogazione P & L mensile"; se possibile vorrei evitare di avere 12 pulsanti (uno per ciascun mese).

Spero di essere stato sufficientemente chiaro nell'esposizione e vi chiedo gentilmente di essere estremamente semplici nelle eventuali risposte, visto il mio infimo livello di conoscenza.

Grazie Andrea

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento
Risposta accettata dall'autore della domanda
Anonimo
2014-06-08T14:30:06+00:00

Ciao,

prova la seguente:

DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel7, _

                                    DLookup("[Query totale mese]", "Query mese da eseguire", "[ID_mese] = " & Me.OpenArgs), _

                                    "X:stampe P & L\P & L da copiare - " & _

                                    DLookup("[Mese]", "Query mese da eseguire", "[ID_mese] = " & Me.OpenArgs), True

Mimmo

La risposta è stata utile?

0 commenti Nessun commento
Risposta accettata dall'autore della domanda
Anonimo
2014-04-21T06:23:44+00:00

Ciao, purtroppo ho internet a singhiozzo :-)

  1. Nella maschera [Interrogazione P & L mensile] per il pulsante di stampa:

Private Sub Comando10_Click()

    DoCmd.OpenReport "rptTotaleXMese", acViewReport, , , , Me.Combomese.Value

End Sub

  1. Nuova report [rptTotaleXMese] duplicando la tua di gennaio. Su evento apertura

Private Sub Report_Open(Cancel As Integer)

    Dim mySource As String

    mySource = DLookup("[Query totale mese]", "Query mese da eseguire", "[ID_mese] = " & Me.OpenArgs)

    Me.RecordSource = mySource

    Me.Mese_Etichetta.Caption = DLookup("[Mese]", "Query mese da eseguire", "[ID_mese] = " & Me.OpenArgs)

End Sub

Ciao Mimmo

La risposta è stata utile?

0 commenti Nessun commento

14 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2014-04-19T10:10:20+00:00

    Errata corrige: non dal 01/03/2014 al 31/03/2014 ma dal 01/01/2014 al 31/03/2014

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2014-04-19T10:09:07+00:00

    Innanzitutto grazie Mimmo.

    La cosa è un po' più complicata ma provo a spiegartela sinteticamente. Ho una maschera di immissione dati (che popola una tabella unica) dove vengono inseriti categorie di costo e di ricavo con elementi che identificano il ristorante e il periodo di competenza (esempio: spese telefoniche - € 600,00 - periodo dal 01/03/2014 al 31/03/2014: la Query denominata "calcolo competenze" raccoglie i dati della tabella e esegue i conteggi imputando a ciascun mese quanto esso compete in giorni (nell'esempio di prima gennaio e marzo € 206,67 e febbraio € 186,66). Questa ultima Query è quindi strutturata in maniera tale da elencare nell'ordine: costo totale, ristorante, periodo dal, periodo al e 12 colonne (una per ogni mese) con l'importo di competenza (nell'esempio di prima: gennaio € 206,67 - febbraio € 186,66 - marzo € 206,67 e tutti gli altri mesi di quell'anno zero). Secondo quindi le mie scarse conoscenze sono obbligato ad estrarre dalla Query "calcolo competenze" 12 Query mensili.

    Grazie

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2014-04-19T09:53:40+00:00

    Ciao Andrea,

    tu dici di avere una maschera sulla quale scegli la report da attivare.

    Se sulla maschera disegni una casella di testo o, meglio ancora, una casella combinata che ti consente di scegliere il mese da elaborare?

    A quel punto penso sia possibile avere una sola query che tiene conto del valore selezionato in maschera.

    Postaci il codice Sql di una delle tue query. (in disegno della query in basso a destra seleziona Sql, copia ed incolla quì il codice Sql).

    Ciao Mimmo

    La risposta è stata utile?

    0 commenti Nessun commento