[MS Access] Passare i dati di una query da form a report

Discussione in 'MS Access' iniziata da Max61, 10 Gennaio 2018 alle 09:05.

  1. Max61

    Max61 Utente Attivo

    Registrato:
    2 Marzo 2014
    Messaggi:
    402
    Mi Piace Ricevuti:
    2
    Punteggio:
    18
    Salve sono ancora a chieder lumi a chi ne sa più di me, ho la necessità di inviare i dati di una query che prendi i valori (Anagrafica.AnnoRichiestaUtente e Verbali.VerbaleNumero) da 2 tabelle (Anagrafica e Verbali) con i parametri selezionati nella sottomaschera Verbali di access.
    Adesso se lancio la query da sola mi chiede i parametri AnnoRichiestaUtente e VerbaleNumero, una volta dati mi seleziona i record giusti, ma se la stessa query la lancio dalla sottomaschera non mi trova alcun record, è come se quei parametri non arrivassero alla query.
    Allego codice query:
    Codice:
    SELECT Verbali.IDVerbaliAnagrafica, Anagrafica.ID, Anagrafica.Nominativo, Anagrafica.Num_Pratica, Verbali.VerbaleNumero, Verbali.DataVerbale, Verbali.DecisioneGil, Verbali.StatoPratica, Verbali.NoteVerbale, Verbali.RespTecnico, Verbali.RespPoliziaMunicipale, Verbali.UffAttivita1, Verbali.RespverdeUrbano, Verbali.AvvocatoEsterno, Verbali.ConsulenteCompagniaAssicurazioni, Verbali.CompagniaAssicurativa, Anagrafica.DataSinistro, Anagrafica.OraSinistro, Anagrafica.ViaSinistro, Verbali.UffAttivitaAssicurativa1, Verbali.RespEconomato, Anagrafica.LocalitaSinistro, Verbali.[Verbale N_1], Verbali.UfficioLegale, Anagrafica.AnnoRichiestaUtente
    FROM Anagrafica INNER JOIN Verbali ON Anagrafica.ID = Verbali.IDVerbaliAnagrafica
    GROUP BY Verbali.IDVerbaliAnagrafica, Anagrafica.ID, Anagrafica.Nominativo, Anagrafica.Num_Pratica, Verbali.VerbaleNumero, Verbali.DataVerbale, Verbali.DecisioneGil, Verbali.StatoPratica, Verbali.NoteVerbale, Verbali.RespTecnico, Verbali.RespPoliziaMunicipale, Verbali.UffAttivita1, Verbali.RespverdeUrbano, Verbali.AvvocatoEsterno, Verbali.ConsulenteCompagniaAssicurazioni, Verbali.CompagniaAssicurativa, Anagrafica.DataSinistro, Anagrafica.OraSinistro, Anagrafica.ViaSinistro, Verbali.UffAttivitaAssicurativa1, Verbali.RespEconomato, Anagrafica.LocalitaSinistro, Verbali.[Verbale N_1], Verbali.UfficioLegale, Anagrafica.AnnoRichiestaUtente
    HAVING (((Verbali.VerbaleNumero)=[Forms]![Elenco]![VerbaleNumero]) AND ((Anagrafica.AnnoRichiestaUtente)=[Forms]![Elenco]![AnnoRichiestaUtente]))
    ORDER BY Anagrafica.Num_Pratica, Verbali.VerbaleNumero, Verbali.DataVerbale;
    
    Il report associato alla query lo lancio con questo codice:
    Codice:
            stRepName = "VerbaleGIL_ALL_Numero_Anno_Verbale"
            where_id = where_id & "[Verbali.VerbaleNumero]=" & Me.SelezionaNumeroVerbale
            where_id = where_id & " and [Anagrafica.AnnoRichiestaUtente]=" &             Me.SelezionaAnnoRichiestaUtente
            DoCmd.OpenReport stRepName, acPreview, , where_id
            DoCmd.SelectObject acReport, "VerbaleGIL_ALL_Numero_Anno_Verbale", False
            DoCmd.RunCommand acCmdPrint
            DoCmd.Close acReport, "VerbaleGIL_ALL_Numero_Anno_Verbale"
    
    Il mio intento è quello di poter selezionare il numero di verbale e l'anno di competenza in contemporanea, perchè lo stesso numero di verbale può essere riferito ad anni diversi.
    Grazie per l'aiuto
    Max61
     
    Ultima modifica: 10 Gennaio 2018 alle 09:11
  2. CarlettoFed

    CarlettoFed Nuovo Utente

    Registrato:
    17 Luglio 2017
    Messaggi:
    6
    Mi Piace Ricevuti:
    0
    Punteggio:
    1
    Sesso:
    Maschio
    Se potessi allegare un file, bastano alcuni record, la cosa sarebbe più semplice da capire.
    Comunque 2 domande :
    1. Nella prima query perchè usi il raggruppamento se comunque poi prendi anche il campo
      DataVerbale che rende sicuramente il record univoco, potrebbe nel caso di un numero elevato di record la risoluzione della stessa e quindi la visualizzazione dei dati.
    2. La query relativa all'Origine dati del report è sempre la stessa, cioè la prima che hai pubblicato
    Quando la stessa query costituisce l'Origine dati della sottomaschera il filtro deve essere impostato da controlli che debbono essere inseriti nella Maschera che contiene la sottomaschera in quanto i parametri inseriti nella query è come se non ci fossero.

    Poi un consiglio la struttura del database dovrebbe almeno essere :
    • tabella Anagrafiche
      • IDAnagrafica
      • Nominativo (meglio Cognome, Nome)
      • ed altri dati anagrafici come potrebbere essere :
        • CodiceFiscale
        • Indirizzo
        • Città
        • Recapiti vari (Telefono, Email, ecc..)
        • ecc...
    • tabella Sinistri
      • IDSinistro
      • IDAnagrafica
      • Num_Pratica
      • DataSinistro
      • OraSinistro
      • ViaSinistro
      • LocalitaSinistro
        AnnoRichiestaUtente (secondo me non dovrebbe essere necessario in quanto ricavabile dalla DataSinistro)
    • tabella Verbali
      • IDVerbale
      • IDSinistro
      • VerbaleNumero
      • ecc...
    in quanto un'Anagrafica può avere uno o più Sinistri ed un Sinistro può avere uno o più Verbali, se ho capito bene.
     
  3. Max61

    Max61 Utente Attivo

    Registrato:
    2 Marzo 2014
    Messaggi:
    402
    Mi Piace Ricevuti:
    2
    Punteggio:
    18
    Grazie mille CarlettoFed, ma proprio pochi minuti fa sono riuscito nell'intento, cioè passare due parametri al report.
    Praticamente avevo messo la richiesta di parametri nella query ([Forms]![Elenco]![VerbaleNumero] e
    [Forms]![Elenco]![AnnoRichiestaUtente]), tolti questi dalla query è tutto perfetto.
    Allego query:
    Codice:
    SELECT Verbali.IDVerbaliAnagrafica, Anagrafica.ID, Anagrafica.Nominativo, Anagrafica.Num_Pratica, Verbali.VerbaleNumero, Verbali.DataVerbale, Verbali.DecisioneGil, Verbali.StatoPratica, Verbali.NoteVerbale, Verbali.RespTecnico, Verbali.RespPoliziaMunicipale, Verbali.UffAttivita1, Verbali.RespverdeUrbano, Verbali.AvvocatoEsterno, Verbali.ConsulenteCompagniaAssicurazioni, Verbali.CompagniaAssicurativa, Anagrafica.DataSinistro, Anagrafica.OraSinistro, Anagrafica.ViaSinistro, Verbali.UffAttivitaAssicurativa1, Verbali.RespEconomato, Anagrafica.LocalitaSinistro, Verbali.[Verbale N_1], Verbali.UfficioLegale, Anagrafica.AnnoRichiestaUtente
    FROM Anagrafica INNER JOIN Verbali ON Anagrafica.ID = Verbali.IDVerbaliAnagrafica
    GROUP BY Verbali.IDVerbaliAnagrafica, Anagrafica.ID, Anagrafica.Nominativo, Anagrafica.Num_Pratica, Verbali.VerbaleNumero, Verbali.DataVerbale, Verbali.DecisioneGil, Verbali.StatoPratica, Verbali.NoteVerbale, Verbali.RespTecnico, Verbali.RespPoliziaMunicipale, Verbali.UffAttivita1, Verbali.RespverdeUrbano, Verbali.AvvocatoEsterno, Verbali.ConsulenteCompagniaAssicurazioni, Verbali.CompagniaAssicurativa, Anagrafica.DataSinistro, Anagrafica.OraSinistro, Anagrafica.ViaSinistro, Verbali.UffAttivitaAssicurativa1, Verbali.RespEconomato, Anagrafica.LocalitaSinistro, Verbali.[Verbale N_1], Verbali.UfficioLegale, Anagrafica.AnnoRichiestaUtente
    ORDER BY Anagrafica.Num_Pratica, Verbali.VerbaleNumero, Verbali.DataVerbale;
    
    Ciao e grazie ancora per l'interessamento
    Max61
     
  4. marino51

    marino51 Utente Attivo

    Registrato:
    28 Febbraio 2013
    Messaggi:
    1.917
    Mi Piace Ricevuti:
    71
    Punteggio:
    48
    Occupazione:
    free lance
    Località:
    Lombardia
    ottimo che tu abbia ottenuto il risultato
    quindi non avevi bisogno delle clausole WHERE o HAVING, perché hai incluso nel report tutto il set estratto,
    oppure i filtri li hai applicati da un'altra parte
     
    A Max61 piace questo elemento.
Sto caricando...

Condividi questa Pagina