Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923

    [access] report dinamico. Chiarimenti concettuali.

    Ancora io.

    Avrei bisogno di alcune delucidazioni.

    Allora, ho una query del genere

    codice:
    SELECT Format([risultati_finali_posit.period_ris_finale],"yyyy") AS anno, Sum(IIf(risultati_finali_posit.tipol_ris="Inserimento lavorativo",1,0)) AS inserimenti_lavorativi, Sum(IIf(risultati_finali_posit.tipol_ris="Inserimento formativo",1,0)) AS inserimenti_formativi, Sum(IIf(risultati_finali_posit.tipol_ris="Avvio impresa",1,0)) AS avvio_impresa, Sum(IIf(risultati_finali_posit.tipol_ris="Altro",1,0)) AS altro
    FROM risultati_finali_posit INNER JOIN utenti ON risultati_finali_posit.id_ris_finale_utente = utenti.id_utente
    WHERE (((utenti.centro)='Bonorva'))
    GROUP BY Format([period_ris_finale],"yyyy");
    che in pratica mi esegue una serie di conteggi per categorie raggruppando per anno.
    Ciò che vorrei è poter rendere il report dinamico, nel senso avere un menù a tendina dal quale seleziono la città e ottenere il report risultante da tale query.

    Potete dirmi quale procedimento devo seguire, mi serve prima una query parametrica dalla quale poi richiamare il report con il parametro scelto o cos'altro?

    Scusate la confusione ma sono un pò fuso oltre che

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923

  3. #3
    Utente di HTML.it L'avatar di Misterxxx
    Registrato dal
    Oct 2003
    Messaggi
    3,704
    Personalmente utilizzerei una maschera pop-up con la selezione a tendina e il report di conseguenza con riferimento al campo della maschera.
    Io ne ho viste cose che voi umani non potreste immaginare. Navi da combattimento in fiamme al largo dei bastioni di Orione e ho visto i raggi B, balenare nel buio vicino le porte di Tannhäuser. E tutti quei momenti ... andranno ... perduti nel tempo, come lacrime nella pioggia. È tempo di morire. (Roy Batty).

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Originariamente inviato da Misterxxx
    Personalmente utilizzerei una maschera pop-up con la selezione a tendina e il report di conseguenza con riferimento al campo della maschera.
    Riciao Mister. Avevo già letto la tua risposta ma ero troppo preso dall'altro problema.
    Perdonami ma non ho capito granchè.
    Poichè i comuni sono 19 cosa mi consigli, di crearmi 19 report e in base al valore scelto dal menù a tendina, di aprire quello relativo?

  5. #5
    Utente di HTML.it L'avatar di Misterxxx
    Registrato dal
    Oct 2003
    Messaggi
    3,704
    Originariamente inviato da nicola75ss
    Riciao Mister. Avevo già letto la tua risposta ma ero troppo preso dall'altro problema.
    Perdonami ma non ho capito granchè.
    Poichè i comuni sono 19 cosa mi consigli, di crearmi 19 report e in base al valore scelto dal menù a tendina, di aprire quello relativo?
    No.
    Usa una maschera con una casella di riepilogo e i 19 comuni.
    Poi, apri il report con la variabile del comune che si riferisce al campo della maschera.
    Io ne ho viste cose che voi umani non potreste immaginare. Navi da combattimento in fiamme al largo dei bastioni di Orione e ho visto i raggi B, balenare nel buio vicino le porte di Tannhäuser. E tutti quei momenti ... andranno ... perduti nel tempo, come lacrime nella pioggia. È tempo di morire. (Roy Batty).

  6. #6
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Originariamente inviato da Misterxxx
    No.
    Usa una maschera con una casella di riepilogo e i 19 comuni.
    Poi, apri il report con la variabile del comune che si riferisce al campo della maschera.
    Allora, vediamo un pò se ho capito.

    Io ero partito da questa query reale

    codice:
    SELECT Format([risultati_finali_posit.period_ris_finale],"yyyy") AS anno, Sum(IIf(risultati_finali_posit.tipol_ris="Inserimento lavorativo",1,0)) AS inserimenti_lavorativi, Sum(IIf(risultati_finali_posit.tipol_ris="Inserimento formativo",1,0)) AS inserimenti_formativi, Sum(IIf(risultati_finali_posit.tipol_ris="Avvio impresa",1,0)) AS avvio_impresa, Sum(IIf(risultati_finali_posit.tipol_ris="Altro",1,0)) AS altro
    FROM risultati_finali_posit INNER JOIN utenti ON risultati_finali_posit.id_ris_finale_utente = utenti.id_utente
    WHERE (((utenti.centro)='Bonorva'))
    GROUP BY Format([period_ris_finale],"yyyy");
    In pratica cosa devo fare, devo crearmi un report basato su una query generalizzata così (quindi che mi faccia i calcoli complessivi per anno senza specificare il comune)

    codice:
    SELECT Format([risultati_finali_posit.period_ris_finale],"yyyy") AS anno, Sum(IIf(risultati_finali_posit.tipol_ris="Inserimento lavorativo",1,0)) AS inserimenti_lavorativi, Sum(IIf(risultati_finali_posit.tipol_ris="Inserimento formativo",1,0)) AS inserimenti_formativi, Sum(IIf(risultati_finali_posit.tipol_ris="Avvio impresa",1,0)) AS avvio_impresa, Sum(IIf(risultati_finali_posit.tipol_ris="Altro",1,0)) AS altro
    FROM risultati_finali_posit INNER JOIN utenti ON risultati_finali_posit.id_ris_finale_utente = utenti.id_utente
    GROUP BY Format([period_ris_finale],"yyyy");
    e poi applicare il filtro in base al comune scelto dal menù a tendina?
    Grazie per la pazienza.

  7. #7
    Utente di HTML.it L'avatar di Misterxxx
    Registrato dal
    Oct 2003
    Messaggi
    3,704
    Originariamente inviato da nicola75ss
    Allora, vediamo un pò se ho capito.

    Io ero partito da questa query reale

    codice:
    SELECT Format([risultati_finali_posit.period_ris_finale],"yyyy") AS anno, Sum(IIf(risultati_finali_posit.tipol_ris="Inserimento lavorativo",1,0)) AS inserimenti_lavorativi, Sum(IIf(risultati_finali_posit.tipol_ris="Inserimento formativo",1,0)) AS inserimenti_formativi, Sum(IIf(risultati_finali_posit.tipol_ris="Avvio impresa",1,0)) AS avvio_impresa, Sum(IIf(risultati_finali_posit.tipol_ris="Altro",1,0)) AS altro
    FROM risultati_finali_posit INNER JOIN utenti ON risultati_finali_posit.id_ris_finale_utente = utenti.id_utente
    WHERE (((utenti.centro)='Bonorva'))
    GROUP BY Format([period_ris_finale],"yyyy");
    In pratica cosa devo fare, devo crearmi un report basato su una query generalizzata così (quindi che mi faccia i calcoli complessivi per anno senza specificare il comune)

    codice:
    SELECT Format([risultati_finali_posit.period_ris_finale],"yyyy") AS anno, Sum(IIf(risultati_finali_posit.tipol_ris="Inserimento lavorativo",1,0)) AS inserimenti_lavorativi, Sum(IIf(risultati_finali_posit.tipol_ris="Inserimento formativo",1,0)) AS inserimenti_formativi, Sum(IIf(risultati_finali_posit.tipol_ris="Avvio impresa",1,0)) AS avvio_impresa, Sum(IIf(risultati_finali_posit.tipol_ris="Altro",1,0)) AS altro
    FROM risultati_finali_posit INNER JOIN utenti ON risultati_finali_posit.id_ris_finale_utente = utenti.id_utente
    GROUP BY Format([period_ris_finale],"yyyy");
    e poi applicare il filtro in base al comune scelto dal menù a tendina?
    Grazie per la pazienza.
    Va bene.
    Oppure, metti direttamente nella query il criterio che fa riferimento al campo della maschera.
    Io ne ho viste cose che voi umani non potreste immaginare. Navi da combattimento in fiamme al largo dei bastioni di Orione e ho visto i raggi B, balenare nel buio vicino le porte di Tannhäuser. E tutti quei momenti ... andranno ... perduti nel tempo, come lacrime nella pioggia. È tempo di morire. (Roy Batty).

  8. #8
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Ok, ci sbatto un pò la testa nella speranza di riuscire a risolvere. Grazie ancora.

  9. #9
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    La testa inizia a dolere dagli sbattimenti.
    Allora, l'uso dei filtri l'ho capito (in seguito magari posto un esempio funzionante che ho fatto per agevolare eventuali ricerche di altri utenti).

    Adesso stavo cercando di utilizzare il recordsource per generare i report e qui buio profondo.

    Dalla mia maschera in maniera dinamica genero la query.
    In un semplice db di prova la query risultante è questa

    strSQL = "select * from nomi where nome like '[" & iniziale & "-" & finale & "]*' and centro = '" & comune & "'"

    La query è corretta, tramite un msgbox mi viene visualizzata con la sintassi giusta.
    Il problema è generare il recordsource.

    Dopo aver sondato mezzo web mi è sembrato di capire che si debba prima aprire il report in visualizzazione struttura per passargli l'origine record, salvarlo, e con tale origine aggiornata riaprirlo.

    Ho scritto allora così, come suggerito in un thread di un forum in inglese:

    DoCmd.OpenReport stringa, acViewDesign,,,acHidden Reports(stringa).RecordSource = "strSQL"
    DoCmd.Close acReport, stringa, acSaveYes
    DoCmd.OpenReport stringa, acViewPreview

    dove stringa è il nome del mio report ma continuo a ricevere un errore di sintassi in corrispondenza della prima delle tre righe.
    Mi potete aiutare? Grazie.

  10. #10
    Utente di HTML.it L'avatar di Misterxxx
    Registrato dal
    Oct 2003
    Messaggi
    3,704
    Originariamente inviato da nicola75ss
    La testa inizia a dolere dagli sbattimenti.
    Allora, l'uso dei filtri l'ho capito (in seguito magari posto un esempio funzionante che ho fatto per agevolare eventuali ricerche di altri utenti).

    Adesso stavo cercando di utilizzare il recordsource per generare i report e qui buio profondo.

    Dalla mia maschera in maniera dinamica genero la query.
    In un semplice db di prova la query risultante è questa

    strSQL = "select * from nomi where nome like '[" & iniziale & "-" & finale & "]*' and centro = '" & comune & "'"

    La query è corretta, tramite un msgbox mi viene visualizzata con la sintassi giusta.
    Il problema è generare il recordsource.

    Dopo aver sondato mezzo web mi è sembrato di capire che si debba prima aprire il report in visualizzazione struttura per passargli l'origine record, salvarlo, e con tale origine aggiornata riaprirlo.

    Ho scritto allora così, come suggerito in un thread di un forum in inglese:

    DoCmd.OpenReport stringa, acViewDesign,,,acHidden Reports(stringa).RecordSource = "strSQL"
    DoCmd.Close acReport, stringa, acSaveYes
    DoCmd.OpenReport stringa, acViewPreview

    dove stringa è il nome del mio report ma continuo a ricevere un errore di sintassi in corrispondenza della prima delle tre righe.
    Mi potete aiutare? Grazie.
    Mi pare alquanto bizzarro ... aprire in struttura ... passare l'origine record ... chiudere ... riaprire ... neeeee !!!!
    Questi inglesi son boni solo per una sbronza in compagnia.
    Metti invece qualche riga di codice sull'evento "su apertura" del report che generi la query prendendo i campi dalla maschera.
    Io ne ho viste cose che voi umani non potreste immaginare. Navi da combattimento in fiamme al largo dei bastioni di Orione e ho visto i raggi B, balenare nel buio vicino le porte di Tannhäuser. E tutti quei momenti ... andranno ... perduti nel tempo, come lacrime nella pioggia. È tempo di morire. (Roy Batty).

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.