Azzerare campo di sottomaschera da maschera

di il
4 risposte

Azzerare campo di sottomaschera da maschera

Buongiorno a tutti.
Eccomi qua con un altro problema che non riesco a risolvere.
Ho creato un tabella OPERAZIONI con dei campi tra cui data_operazione ed importo.
Inoltre ho creato due tabelle INTERVALLO con campi da_data e a_data e IMPORTO con campi daEuro e aEuro che non sono collegate con la tabella INTERVALLO e non hanno una chiave primaria in quanto servono esclusivamente per inserire dei dati per i criteri di una query.
Dalla tabella OPERAZIONI ho creato una query chiamata OPERAZIONI con criteri in base ai quali deve restituire i dati indicati nella tabella INTERVALLO e/o nella tabella IMPORTO, se presenti.
Ho, infine, creato una maschera in cui ho inserito una sottomaschera creata dalla tabella INTERVALLO, una sottomaschera creata dalla tabella IMPORTO ed una sottomaschera creata dalla query OPERAZIONI che, al momento dell'apertura mi restituisce tutti i valori fino a quando non indico delle date o degli importi nelle altre due sottomaschere.
Quando, però, apro la maschera nelle due sotto maschere IMPORTO ed INTERVALLO mi rimangono inseriti i dati che avevo immesso in precedenza.
Avevo pensato di inserire un pulsante nella maschera principale (che ho chiamato RIUNITO) per fare in modo che, al click mi azzerasse i valori delle due sottomaschere, ma non so quale codice devo scrivere per fare in modo che mi si azzerino i dati delle due sottomaschere.
Grazie a tutti
Giorgio

4 Risposte

  • Re: Azzerare campo di sottomaschera da maschera

    Se per "azzerare" intendi "eliminare record" puoi sfruttare una "query di eliminazione".
  • Re: Azzerare campo di sottomaschera da maschera

    Ciao e grazie per l'interessamento.
    Non intendo eliminare il record perché, come detto, la tabella INVERVALLO e la tabella DATA servono solo per dare il criterio alla query, quindi io vorrei che, alla pressione del pulsante, i campi da data e a data si "ripulissero" dei dati precedentemente inseriti.
    Tanto per capire se lo stesso pulsante lo inserisco direttamente nella sottomaschera e digito il comando
    me.da_data = null
    Me.a_data = null
    Me.da_data:Set Focus

    Funziona perfettamente
    Quindi io vorrei, se possibile, che gli stessi codici fossero inviati da un pulsante nella maschera principale ai campi della sottomaschera.
    Ho provato con forms![nome maschera principale].[nome sottomaschera] ma non funziona.
    Sono alle prime armi e spero di essere riuscito a far capire cosa vorrei.
    Grazie
    Giorgio
  • Re: Azzerare campo di sottomaschera da maschera

    Tutto sommato mi sembra che l'effetto pratico sia lo stesso. Ad ogni modo, per impostare Null nei due campi di sottomaschera, io non so usare VBA, ma le macro sì.
    1. Crea una macro in visualizzazione struttura
    2. Al primo rigo Azione, scrivi:
    ImpostaValore
         Elemento: [Forms]![NomeMaschera]![NomeSottomaschera]![NomeCampo]
         Espressione: ""  (...non so oppure Is Null...fai delle prove)
    3. Salva la macro con nome X
    4. All'evento Su clic del pulsante associa la macro X
  • Re: Azzerare campo di sottomaschera da maschera

    OsvaldoLaviosa ha scritto:


    1. Crea una macro in visualizzazione struttura
    2. Al primo rigo Azione, scrivi:
    3. Salva la macro con nome X
    4. All'evento Su clic del pulsante associa la macro X
    Non so come si fa a creare una macro in visualizzazione struttura (se me lo puoi dire ti ringrazio) ma ho preso spunto dal codice che mi hai dato ed ho creato un comando all'evento su click

    [Forms]![M_INTERO]![intervallo]![da data] = Null
    [Forms]![M_INTERO]![intervallo]![a data] = Null

    e FUNZIONA
    grazie, tante grazie
    Giorgio
Devi accedere o registrarti per scrivere nel forum
4 risposte