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

  • Creatore Discussione Creatore Discussione Max61
  • Data di inizio Data di inizio

Max61

Utente Attivo
2 Mar 2014
760
4
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:
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.
 
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
 
Praticamente avevo messo la richiesta di parametri nella query ([Forms]![Elenco]![VerbaleNumero] e
[Forms]![Elenco]![AnnoRichiestaUtente]), tolti questi dalla query è tutto perfetto.
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
 
  • Like
Reactions: Max61

Discussioni simili