Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2016
    Messaggi
    4

    [Access] - aggiornare campo calcolato su click checkbox

    Buongiorno a tutti,
    premetto di non essere affatto esperto di access e VBA, quindi vi chiedo scusa in anticipo se scrivero' delle minchiate senza precedenti.
    Sto creando un piccolo DB per la gestione delle fatture con Access 2010.
    Ho creato una maschera "Fatture" che mostra i dati della tabella omonima. Oltre questi dati, sulla maschera, mostro, tramite una sottomaschera in modalita' "foglio dati", i dati dei pagamenti che stanno su un'altra tabella.
    La sottomaschera contiene un campo checkbox booleano.


    Quello che vorrei fare e' gestire l'evento click sui (saranno diversi a seconda di quanti l'utente ne vorra') checkboxes della sottomashera; ogni volta che l'utente clicchera' su uno qualunque dei checkbox dovro' aggiornare un campo "importo pagato" che e' il risultato di una query SUM.


    Ora, essendo io un niubbo su access, non ho idea di come gestire questa cosa. Ho provato a cercare qualcosa su google ma non ho trovato quel che fa al caso mio.


    Potreste gentilmente indirizzarmi verso una possibile soluzione?


    Grazie


    Saluti
    NandoCattura.PNG

  2. #2
    Utente di HTML.it L'avatar di Misterxxx
    Registrato dal
    Oct 2003
    Messaggi
    3,704
    inserisci il codice nell'evento "dopo aggiornamento" della checkbox che imposti il campo calcolato "importo pagato"
    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).

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2016
    Messaggi
    4
    Quote Originariamente inviata da Misterxxx Visualizza il messaggio
    inserisci il codice nell'evento "dopo aggiornamento" della checkbox che imposti il campo calcolato "importo pagato"
    Ciao Misterxxx, grazie della risposta.
    Non ho ben capito pero' cosa vuoi dire. Potresti gentilmente spiegarmi meglio?

    Conosci una pagina dove trovo le spiegazioni necessarie?

    Grazie

  4. #4
    Utente di HTML.it L'avatar di Misterxxx
    Registrato dal
    Oct 2003
    Messaggi
    3,704
    anche nella guida trovi molti esempi, il problema è trovarli

    apri le proprietà della checkbox, eventi, dopo aggiornamento
    nella procedura che si apre (codice) metti quello che deve fare access quando il flag viene aggiornato:
    opzione 1.
    assegna al campo della maschera il valore calcolato voluto
    opzione 2.
    metti nel campo calcolato la formula (esempio una somma di dominio) e nel codice fai semplicemente il ricalcolo dei campi

    non so se mi sono capito dipende da quanto hai appreso di access/vba
    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).

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2016
    Messaggi
    4
    Quote Originariamente inviata da Misterxxx Visualizza il messaggio
    anche nella guida trovi molti esempi, il problema è trovarli

    apri le proprietà della checkbox, eventi, dopo aggiornamento
    nella procedura che si apre (codice) metti quello che deve fare access quando il flag viene aggiornato:
    opzione 1.
    assegna al campo della maschera il valore calcolato voluto
    opzione 2.
    metti nel campo calcolato la formula (esempio una somma di dominio) e nel codice fai semplicemente il ricalcolo dei campi

    non so se mi sono capito dipende da quanto hai appreso di access/vba
    io mi sono capito, mi ero capito anche prima .
    Fino ad attivare l'evento onchange o afterupdate ci sono; il mio problema e' come spiegare a questo dannato vba che deve aggiornare quel preciso campo. Fosse stato php/js/mysql non avevo il minimo problema, ma stavolta devo "scontrarmi" con M$ e i suoi prodotti.

    Detto questo, io ho usato il seguente:

    codice:
    Private Sub has_pagato_AfterUpdate()
        Forms!frm_fatture!tot_pagato.Requery
    End Sub
    solo che questo snippet non mi risolve il problema. quando clicco sul checkbox non aggiorna una beata. o per lo meno, lo aggiorna quando e se gli va: a me il flag serve a effettuare il calcolo sui pagamenti effettuati. Invece quando clicco la prima volta non succede nulla, sul secondo click esegue l'azione che invece avrebbe dovuto eseguire al primo click e cosi' via.... quello che tecnicamente si definisce esecuzione "ad minchiam"

    Non so se mi sono capito va...

  6. #6
    Utente di HTML.it L'avatar di Misterxxx
    Registrato dal
    Oct 2003
    Messaggi
    3,704
    Se avessi l'mdb sarebbe più semplice, comunque, cosa hai in origine riga di tot_pagato?
    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).

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2016
    Messaggi
    4
    Quote Originariamente inviata da Misterxxx Visualizza il messaggio
    Se avessi l'mdb sarebbe più semplice, comunque, cosa hai in origine riga di tot_pagato?
    Ciao Misterxxx,
    credo di avere risolto (sto ancora testando la cosa). Ho inserito questo pezzo di codice prima del requery:
    codice:
    If Me.Dirty Then        Me.Dirty = False
    End If
    ...
    Pare che stia funzionando pero' lo sapro' con certezza fra qualche ora.

    Grazie di tutto.

  8. #8
    Utente di HTML.it L'avatar di comas17
    Registrato dal
    Apr 2002
    Messaggi
    6,523
    Perchè non leggete mai 'sto benedetto regolamento ?

    1) In questo forum NON si parla di alcune funzionalità peculiari di Microsoft Access (macro, maschere, report, etc) che continueranno ad essere trattate nel forum "Windows e software"

    Sposto

  9. #9
    Moderatore di Windows e software L'avatar di URANIO
    Registrato dal
    Dec 1999
    residenza
    Casalpusterlengo (LO)
    Messaggi
    1,286
    Quote Originariamente inviata da comas17 Visualizza il messaggio
    Perchè non leggete mai 'sto benedetto regolamento ?

    1) In questo forum NON si parla di alcune funzionalità peculiari di Microsoft Access (macro, maschere, report, etc) che continueranno ad essere trattate nel forum "Windows e software"

    Sposto
    Colpa mia, avevo spostato in DB.Access e' un DB e mi sembrava più corretta la tua di sezione

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.