Query per contare record con distinct e count

di il
57 risposte

57 Risposte - Pagina 3

  • Re: Query per contare record con distinct e count

    Allora la tabella query contine il campo id e il campo nomequery
    contiene per ora un solo nome di query ElemF
    La tabella riepilogo contiene ID e Conteggio
    e per il momento è vuota

    ma da come dici tu anche riepilogo dovrebnbe contenere il nome delle query?
    qui non capisco le due tabelle devono contenere entrambe il nome delle varie query che ho fatto?

    cmq ora l errore è qua
    rsRiepilogo!NomeQuery = rsQueries!NomeQuery
  • Re: Query per contare record con distinct e count

    Allora ho capito che dovevo creare il campo NOMEQUERY anche nella tabella riepilogo e ha funzionao pur dandomi questo errore
    rsRiepilogo.MoveNext
    ma i valori li ha messi

    Pero provando a rilanciare tutto mi da un altro errore strano, su UPDATE,(modifiche non apportate perchè provocherebbe valori duplicati nell'indice) perchè evidentemente trova la tabella giapiena?
    quella andrebbe resettata ogni volta forse?
    Tanto in seguito a questo codice farei aprire un report dove rimando tuytti i valori e che l operatore stampera, o comunuqe bisogn aprevedre che verra fatto piu volte in diversi periodi dell anno e cambiera solo il valore del conteggio a quel punto
  • Re: Query per contare record con distinct e count

    RsRiepilogo.MoveNext
    Può darsi che si tratta di una istruzione senza senso, visto che poi gli dico rsRiepilogo.AddNew.
    Toglila.

    stefanocps ha scritto:


    Pero provando a rilanciare tutto mi da un altro errore strano, su UPDATE,(modifiche non apportate perchè provocherebbe valori duplicati nell'indice)
    Che impostazioni hai sui campi della tabella Riepilogo? Non devi avere
    Indicizzato: Sì (Duplicati non ammessi)
  • Re: Query per contare record con distinct e count

    Ok errori spariti
    ma ogni volta che lancio il codice mi aggiunge di nuovo un record, nome query e conteggio
    rimangono i vsalori gia rilevati nei precedenti lanci
    Di questo non c'è bisogno, e mi rende anche difficvile poi prelevare il dato per il report
    non sarebbe meglio resettarla ogni volta che si lancia?
    oppue posizionare il cursore sul primo record
  • Re: Query per contare record con distinct e count

    Considera che io ho previsto che Riepilogo conservi i dati di PIU' trimestri. Adesso stai facendo delle prove...e diciamo che va bene che svuoti ogni volta Riepilogo. Ma nel prossimo trimestre...credo sia giusto lasciare i precedenti valori e AGGIUNGERE i nuovi relativi al NUOVO TRIMESTRE. Che ne pensi?
  • Re: Query per contare record con distinct e count

    Si in realta non serve conservarli, una volta prodotti i dati vengono inviati a fini statistici alla prefettura
    qualora per qualsiasi evenienza dovessere servire ancora è sempre possibile ottenerli di nuovo selezionando il periodo di riferimento relativo
    giusto?

    tra l'altro non saprei gestire il report
    Ora metto come origine dei dati la tabella riepilogo e poi creo tante caselle per ogni risultato da mostrare
    Ma se la tabella contiene piu record dello stesso tipo (esempio tutti quelli con licenza elementare)..non saprei come dirgli di prendere l'ultimo che trova

    ma in prima istanza non c'è una necessità di conservarli, una volta stampati a fine trimestre
  • Re: Query per contare record con distinct e count

    Comunque non mi piace come viene il report che ha come origine dati la tabella RIEPILOGO
    SELECT Riepilogo.nomequery, Riepilogo.conteggioquery
    FROM Riepilogo;
    poi associo ad una casella di testo il valore "conteggioquery"

    in automatico lui mi crea tante caselle di testo quanti valori quanti record trova nella tabella RIEPILOGO,, uno per pagina
    Non ho possibilità di accedere ai singoli valori, cosa che sarebbe necessaria per impostare il report in un modo graficamente piu appropriato
  • Re: Query per contare record con distinct e count

    Se si tratta solo del report, apri una nuova discussione. Ricorda di presentare sempre uno scenario chiaro con nomi propri.
  • Re: Query per contare record con distinct e count

    Ok per questo apro un nuovo topic
    Rimane aperta la questione della cancellazione della tabella, a cui ti avevo risposto piu su
  • Re: Query per contare record con distinct e count

    Non mi trovi d'accordo sul "cancellare i dati". Un DATABASE è un DATABASE e se non contiene lui i dati chi li deve contenere? Considera che le tabelle di Access possono accogliere molte centinaia di migliaia di record e direi che sarebbe l'ultimo dei problemi quello di pensare che si ingolfi per questi motivi. Tu i dati li devi tracciare. Non sai mai domani vorrai fare altre statistiche pluriennali...ecc...ecc... Quando ti servono quelli "recenti" tu sviluppi sempre e comunque query che ti estrapolano i dati che ti servono. I report sopra le query e tutto di conseguenza.
  • Re: Query per contare record con distinct e count

    OsvaldoLaviosa ha scritto:


    Non mi trovi d'accordo sul "cancellare i dati". Un DATABASE è un DATABASE e se non contiene lui i dati chi li deve contenere? Considera che le tabelle di Access possono accogliere molte centinaia di migliaia di record e direi che sarebbe l'ultimo dei problemi quello di pensare che si ingolfi per questi motivi. Tu i dati li devi tracciare. Non sai mai domani vorrai fare altre statistiche pluriennali...ecc...ecc... Quando ti servono quelli "recenti" tu sviluppi sempre e comunque query che ti estrapolano i dati che ti servono. I report sopra le query e tutto di conseguenza.
    Eh vabbe vapisco che nopn sei d'accordo, ma non servono a fini interni, Una volta stampati e inviati alla prefettura non servono piu

    L'operatore lavora sui dati in altro modo nell'uso quotidiano, ma non con quei valori
    I dati che bvengono usati nella regolarità sono tutti quelli relativi ai trattamento che i pazienti hanno,le date e il tipo e le loro anagrafiche
    E questi sono dati che si aggiornano ogni giorno!

    Poi mi complica la vita nel record, e non poco
  • Re: Query per contare record con distinct e count

    Ma tu vuoi un DATABASE oppure un GIOCATTOLO per velocizzare l'attuale cartaceo (con tutti i suoi limiti)?
    Stiamo parlando di Access. Qui mi fermo.
  • Re: Query per contare record con distinct e count

    Scusa ma il supporto posso averlo solo se faccio come dici tu?
    credo di poter avere una scelta mia su quello che fare coi dati, non si tratta di procedure fatte in un certo modo bene o male, si tratta di uso dei dati, e questo è un fattore personale, legato alle eseigenze di chi lo usa
    quindi mi lasci con un codice che hoinserito, e che tu hai scritto impiegando del tempo, che cosi com'è non posso usare e che finisce per essere una cosa inuitle fatta per tutti?
  • Re: Query per contare record con distinct e count

    Scusa ma non capisco
    ti dico che quei dati, sono di importanza vitale per adempiere a delle occorrenze trimetsrali per la prefettura, ma per gli operatori non servono all uso regfolare
    In piu dalla maschera in cui lancio ilcodice, c'è il selettore date che mi fa scegliere il periodo da analizzare su quelle query di cui abbiamo parlato, In un attimo posso slelzionare le due date e selezionare un trimestre di qualsiasi anno posso selezionare l'anno intero, o volendo un periodo a scelta diverso e riottenere quei valori in un attimo senza necessità di memorizzarli,
    con un solo click
    Perchè ti impunti?
    Sei stato gentile e di supporto,Hai lavorato tutto il giorno, e io pure cercando di farti capire, c'è un risultato manca un inezia..
    Cosi non riesco a completare il lavoro come mi serve e senza la cosa che ti ho chiesto mi troverei costretto a cancellare tutto quello fatto oggi per cercare un altra strada che posso sviluppare piu compatibile alle mie conoscenze
    Vale la pena?
    Io non ho scelta, cosi non posso usarlo,
    ti chiedo per cortesia di aiutarmi a finire il lavoro e dare un senso a tutto il lavoro fatto oggi
    Grazie
  • Re: Query per contare record con distinct e count

    Forse ho capito che non ti serve tracciare il trimestre. Di conseguenza tu potresti avere una sola tabella Riepilogo (con i 3 campi di cui abbiamo già parlato), con il campo NomeQuery già precompilato e impostato con Indicizzato: Sì (Duplicati non ammessi).
    Poi questo
    Dim DBCorrente As DAO.Database
    Dim rsRiepilogo As DAO.Recordset
    Set DBCorrente = CurrentDB
    Set rsRiepilogo = DBCorrente.OpenRecordset("Riepilogo", dbOpenDynaset)
    rsRiepilogo.MoveFirst
    Do Until rsRiepilogo.EOF
         rsRiepilogo.Edit
         rsRiepilogo!ConteggioQuery = DCount("*", rsRiepilogo!NomeQuery)
         rsRiepilogo.Update
         rsRiepilogo.MoveNext
    Loop
    rsRiepilogo.Close
    DBCorrente.Close
    End Sub
    cicla tutto il recordset di Riepilogo e va a impostare il corrispondente DCount. Puoi notare che in questo caso Riepilogo non parte da 0 record, quindi non serve AddNew, ma stavolta Edit.
    Una volta terminate le osservazioni/contemplazioni e stampe dei dati...puoi lasciare la tabella Riepilogo così come è. Per il trimestre successivo il codice andrà a SOVRASCRIVERE nel campo ConteggioQuery.

    Questa discussione ha degli scopi paralleli a questa
    https://www.iprogrammatori.it/forum-programmazione/access/gestire-report-t37503.html
    OK, sono stato io a suggerirti di aprirlo.
    Ma voglio aggiungere in questa sede, dopo tutta la lunghissima discussione. Osservando le tue varie altalenanti prese di posizione, tutte le indicazioni che hai fornito...il mio rinnovato pensiero cade su altre considerazioni. Noto che i tuoi dati sono prevalentemente DI CALCOLO (Excel) e l'aspetto archivistico (Access) non ti interessa. Ora, in questa sezione del forum si parla di Access con tutte le sue regole e gli utenti che ti rispondono sono abituati a ragionare solo in questa direzione. Qualcosa mi dice che tu potresti risolvere tutto in maniera più facile e intuitiva con Excel. Prova a leggere qui
    https://support.office.com/it-it/article/utilizzare-access-o-excel-per-gestire-i-dati-09576147-47d1-4c6f-9312-e825227fcaea
Devi accedere o registrarti per scrivere nel forum
57 risposte