Creare un pulsante che clicchi tutti i pulsanti di un set di record

di il
12 risposte

Creare un pulsante che clicchi tutti i pulsanti di un set di record

Gentilissimi, spero che qualcuno possa aiutarmi!

Ho una maschera con 16.000 record, ed in ognuno di questi record cè un pulsante che si chiama “CalcolaDistanza”

questo pulsante attiva  una

 Private Sub CalcolaDistanza_Click()

==============

Vorrei creare un pulsante che si occupi di cliccare tutti i pulsanti della maschera.

Spero che qualcuno possa aiutarmi.

Grazie e cordiali saluti.

12 Risposte

  • Re: Creare un pulsante che clicchi tutti i pulsanti di un set di record

    Battipanni liberi tutti!

    Mai sentito parlare di funzioni da richiamare da dove vuoi?

    Piuttosto che richiamare ogni metodo sarebbe utile che ogni pulsante richiami la propria funzione e il pulsante che clikka tutti in realtà richiama tutte le funziini.

    Ma la risposta è si. Basta che nel metodo click richiami il metodo click di ogni pulsante.

    28/03/2024 - Giuseppe85 ha scritto:


    Ho una maschera con 16.000 record, ed in ognuno di questi record cè un pulsante che si chiama “CalcolaDistanza”

    Sicuro che non esiste un modo migliore per fare questo? Una query per esempio.

  • Re: Creare un pulsante che clicchi tutti i pulsanti di un set di record

    Gentilissimi,

    questo pulsante è piazzato proprio sul record della maschera e serve a popolare dei campi della tabella da cui la maschera ha origine.

    Si tratta ovviamente di una maschera continua.

    Vorrei pertanto creare per quei casi dove i record sono troppi, un pulsante messo all'esterno dei record che individui il primo pulsante lo clicchi e poi passi al successivo.

    Potete indicarmi quanto meno orientativamente quale codice inserire?

    Poi sarò io a personalizzarlo cercando di farlo funzionare, ma non mi era mai capitata un'esigenza simile, ho sempre cliccato ognuno dei pulsanti ma questa volta sono troppi…

    Spero che qualcuno possa darmi una dritta…

  • Re: Creare un pulsante che clicchi tutti i pulsanti di un set di record

    Non devi pensare a cliccate pulsanti, non ha senso.

    Devi scrivere del codice che faccia quello che esegui per il record estendendosi ad un set di record secondo i criteri che indicherai.

    Non sapendo altro (cosa fa il codice in ogni record?) non so se consigliare una query o altro 

  • Re: Creare un pulsante che clicchi tutti i pulsanti di un set di record

    Gentilissimo, 

    ho l'esigenza di creare un automatismo che clicchi automaticamente anziché cliccare col dito.

    Fossero stati 800 record avrei già finito, sono davvero molti…

    esiste un modo per chiamare il pulsante che sta al record con id 1… magari inserire un call sleep di mezzo secondo e passare al successivo che ha id 2… e come si suol dire fare questo fino alla fine del recordset..

    l'operazione che fa questo pulsante, è leggermente complessa, ma cmq individua dei dati da un file xml e li inserisce nei campi del rigo di riferimento…

    é un metodo che ha sempre funzionato fino a che i record sono giusto un paio o fino a qualche centinaio…

    Adesso invece mi si è presentata l'esigenza di dover calcolare una quantità di dati molto più elevata… per questo volevo, utilizzando sempre lo stesso sistema inserire questo pulsante che clicchi uno ad uno tutti i pulsanti… 

    Tutto qua… se mi potete dare quanto meno qualche spunto… vi sarei grato… 

    Grazie cmq a tutti per l'attenzione… 

  • Re: Creare un pulsante che clicchi tutti i pulsanti di un set di record

    28/03/2024 - Giuseppe85 ha scritto:


    ho l'esigenza di creare un automatismo che clicchi automaticamente anziché cliccare col dito.

    Ma forse non mi sono spiegato bene prima?

    Perchè ripeti?

  • Re: Creare un pulsante che clicchi tutti i pulsanti di un set di record

    Beh, che dire?

    Alla domanda

    28/03/2024 - oregon ha scritto:


    Non sapendo altro (cosa fa il codice in ogni record?) non so se consigliare una query o altro 

    La risposta…

    28/03/2024 - Giuseppe85 ha scritto:


    l'operazione che fa questo pulsante, è leggermente complessa, ma cmq individua dei dati da un file xml e li inserisce nei campi del rigo di riferimento…

    Non sapendo cosa contiene l'xml, quale dato prelevare e con quale raziocinio, non sapendo cosa andrebbe a modificare nella tabella… 

    Booh!

    Potresti mostrare cosa fa 

    28/03/2024 - Giuseppe85 ha scritto:


    Private Sub CalcolaDistanza_Click()

  • Re: Creare un pulsante che clicchi tutti i pulsanti di un set di record

    Non riesco ad operare dentro il codice.. 

    speravo di poter creare questo pulsante senza toccare il codice che mi hanno fornito… 

    volevo non cliccare a uno a uno… tutto qua… 

    grazie lo stesso… non preoccupatevi… 

  • Re: Creare un pulsante che clicchi tutti i pulsanti di un set di record

    28/03/2024 - Giuseppe85 ha scritto:


    Non riesco ad operare dentro il codice.. 

    speravo di poter creare questo pulsante senza toccare il codice che mi hanno fornito… 

    volevo non cliccare a uno a uno… tutto qua… 

    grazie lo stesso… non preoccupatevi… 

    Non devi operare devi fare copia e incollarlo qui…

    Se non sappiamo niente come possiamo aiutarti?

  • Re: Creare un pulsante che clicchi tutti i pulsanti di un set di record

    Grazie lo stesso… non sono il proprietario del codice interno… scusatemi.. volevo solo snellire un lavoro che mi hanno assegnato di fare…

  • Re: Creare un pulsante che clicchi tutti i pulsanti di un set di record

    28/03/2024 - Giuseppe85 ha scritto:


     Private Sub CalcolaDistanza_Click()

    ==============

    Vorrei creare un pulsante che si occupi di cliccare tutti i pulsanti della maschera.

    Ciao,

    è una cosa brutta brutta brutta da fare … però per fare si può fare  ;-)

    Per esempio se hai una Form impostata in visualizzazione a Maschere Continue, potresti fare una cosa di questo tipo:

    ' ALL CLICK COMMAND
    Private Sub CmdAllClick_Click()
    ' set cursor
    DoCmd.Hourglass True
    ' refresh disable
    Me.Painting = False
    ' set recordset clone
    Dim rsClone As Recordset
    Set rsClone = Me.RecordsetClone
    ' set recordset form
    Dim rsFrm As Recordset
    Set rsFrm = Me.Recordset
    ' retrieve total records
    Dim intTotalRec As Integer
    intTotalRec = rsClone.RecordCount
    ' move first record
    rsClone.MoveFirst
    ' read recordset
    Do Until rsClone.EOF
        ' set current record form
        rsFrm.Bookmark = rsClone.Bookmark
       
        ' start your process
        CalcolaDistanza_Click
        
        ' move next record
        rsClone.MoveNext
    Loop
    ' close
    rsClone.Close
    Set rsClone = Nothing
    ' refresh enable
    Me.Painting = True
    ' set record form
    rsFrm.MoveFirst
    ' set cursor
    DoCmd.Hourglass False
    ' completed message
    MsgBox "Process completed - records: " & intTotalRec, vbInformation, "Info"
    End Sub

    Questa routine la metti nel codice della form. 
    Il Pulsante per avviare il ciclo di "all click" si chiama per esempio CmdAllClick_Click(), quindi metti il codice sotto il tuo pulsante.

    In pratica si prende il recordset clone della form e si scorre dal primo all'ultimo records.
    Nel ciclo si sposta il puntatore anche  nella form per essere sicuri di leggere il record corretto, come accade quando premi il pulsante sulla singola riga, e si avvia il comando CalcolaDistanza_Click

    A fine lettura si imposta la form al primo records e ti avverte quando ha finito di processare tutto con un messaggio di fine elaborazione.

    Nel fare questo ciclo di lettura e invio comando, si sospende il paint della form e si ripristina a fine lettura. Questo consente di non perdere tempo nel vedere i records che scorrono nella form, ecc.ecc…

    Naturalmente è un esempio, devi testarlo e verificare i risultati, modificarlo per eventuali controlli, eccc.eccc…

    Fai una copia del database e agisci prima in nella copia e poi quando hai completato le tue implementazioni e test, allora lo metti nel definitivo. 

    Ripeto, è una brutta cosa da fare e su 16.000 records vedrai che ci metterà un po' ad eseguire tutto il ciclo di lettura.
    Io non lo farei !!! … come ti hanno già suggerito andrebbero prese strade ben diverse con un approccio assai migliore.

    Vedi te… 

    Ciaoooo ;-)

  • Re: Creare un pulsante che clicchi tutti i pulsanti di un set di record

    Gentilissimo by65Franco… 

    devo essere sincero è proprio quello che cercavo… 

    ho già fatto dei piccoli test.. facendo dei filtri con circa 100 record alla volta… e ha funzionato benissimo… 

    è esattamente quello che cercavo.. 

    già ridurre di un centinaio le volte che clicco è eccellente…

    Ringrazio ovviamente tutti.. per il supporto… ma ByFranco65 particolarmente!! :-)

    Buona giornata a tutti.. grazie ancora.. e tanti auguri di buona pasqua…

  • Re: Creare un pulsante che clicchi tutti i pulsanti di un set di record

    29/03/2024 - Giuseppe85 ha scritto:


    Buona giornata a tutti.. grazie ancora.. e tanti auguri di buona pasqua…

    Auguri anche a te …. 

    (mi raccomando fai attenzione e fai i controlli necessari)

Devi accedere o registrarti per scrivere nel forum
12 risposte