Eventi maschera

di il
7 risposte

Eventi maschera

Ho una maschera A con sottomaschera B.
Sulla maschera A ho Pulsante1 e Pulsante2.
Sulla sottomaschera B ho 5 campi: Campo1, Campo2, Campo3, Campo4, Campo5 (ID contatore).

1) Su apertura A (grazie a una macro), accade che Pulsante1 è Disattivato, mentre Pulsante2 è Attivato (chiamerei Combinazione01).
2) Quando digito (su nuovo record) dentro Campo1 e passo al campo successivo (sfruttando l'evento Dopo aggiornamento di Campo1), un'altra macro fa risultare Pulsante1 Attivato, Pulsante2 Disattivato (Combinazione10).
3) Quando finisco l'inserimento dell'intera riga e vado su un nuovo record, vorrei che ritornasse la Combinazione01.

Si tenga presente che, se dopo la 2) desidero cliccare su Pulsante1, si innesca una macro che mi consente la chiusura di A e successivamente (dopo altre operazioni) la sua riapertura con conseguente ritorno alla Combinazione01, quindi va bene così. Ma il Problema si pose se compilo tranquillamente i 5 campi e passo a nuovo record (senza cliccare su alcun Pulsante).
Ho provato, per tentativi dalla sottomaschera B, a sfruttare eventi tipo Prima di inserire, Dopo inserimento, Dopo aggiornamento (che dovrebbe innescare l'evento Combinazione01) ma accade che quando desidero cliccare su Pulsante1 Attivato, automaticamente mi si disattiva, attivando Pulsante2, e non posso dare il via all'evento che c'è sotto Pulsante1.

Domanda: Non ho capito quale "evento maschera" devo sfruttare per ottenere la corretta combinazione di tutti questi eventi, in particolare punto 3).

7 Risposte

  • Re: Eventi maschera

    Ti premetto che io "ODIO" nel modo più assoluto gestire le combinazioni di ENABLE condizionata, perchè c'è sempre qulche cosa che scappa...

    Altra anomalia è che i BUTTON sono nella FORM invece che essere nella SUBFORM(Intestazione Maschera o Piè di Maschera)...
    Tuttavia... dividi il problema in 3...!
    1) Stato di DEFAULT, è bene rigenerarlo su Evento CURRENT di maschera, ma dovresti verificare se nel CURRENT sei nella condizione NEWRECORD, e questo con le Macro non riesci a farlo...!
    
    Private Sub Form_Current()
       If Me.NewRecord Then
           ' quì stai in INSERIMENTO quindi attiva la sequenza ENABLED che ritieni...
       Else
           ' quì invece stai semplicemente scorrendo i Records e devi RIPRISTINARE la condizione DEFAULT
           Me.Parent!NomeButton1.Enabled=True/False
           Me.Paerent!NomeButton2.Enabled=True/False
       End If
    End Sub

    2) Stato 10 o Condizione 2... tu la attivi su AfterUpdate del primo Campo, e su questo io sono un pò perplesso, ma evidentemente hai già analizzato la cosa... tuttavia il mio dubbio è che se non condizioni con la proprietà NEWRECORD questo accade anche su un Record già presente in EDITING... mentre tu parli espressamente di NEWRECORD... le 2 situazioni sono in contrasto..!

    3) Reset stato stabile, lo dovresti fare su AFTER INSERT, ma personalmente lo farti fare all'evento Current che già di suo gestisce la cosa...

    Io mi trovo in difficoltà nel suggeriti, prima di tutto perchè l'uso delle macro è estremamente LIMITANTE, pertanto se riteni che il tuo obiettivo sia di usare solo MACRO, fai finta non ti abbia risposto.
  • Re: Eventi maschera

    La 1) mi sembra buona, solo che, nell'esposizione del problema, non ho detto che la sottomaschera B ha una ulteriore sottomaschera C, ininfluente ai fini del problema in questione, ma si da il caso che sia regolata proprio dall'evento Current (creato grazie alla procedura guidata), che ho paura di andare a smuovere con altre istruzioni.

    2) AfterUpdate potrebbe essere sostituito tranquillamente anche da BeforeInsert.
    Scusa quando non colgo il significato stretto di ogni vocabolo, ma forse ho problemi nel capire cosa deve significare NewRecord.
    A me capita che, non appena digito un carattere in un campo di NewRecord, automaticamente Campo5 (essendo Contatore) assume un valore. Ecco perchè per me, da questo momento (desidero condizione 10) fino al prossimo NewRecord sarebbe come se non dovessi più considerarlo come NewRecord. Dove sbaglio? Quando un NewRecord cessa di essere tale?
    Quando dici "il mio dubbio è che se non condizioni con la proprietà NEWRECORD questo accade anche su un Record già presente in EDITING", non è tanto un problema. Io potrei posizionarmi su qualsiasi record e cliccare su Pulsante2 (esso crea una procedura di inserimento nuovi dati che andranno poi ad ACCODARSI alla subtabella B, ecc...)

    3) Ho provato con AfterInsert, apparentemente funziona, ma succede che:
    1. Se digito in sequenza Campo1 (passo a Campo2 e qui già Combinazione10 si attiva), poi digito in Campo2 (dimenticavo: è una casella combinata, se non trovo un valore che mi interessa, ne seleziono uno a caso (tanto verrà reimpostato dopo), quindi decido di cliccare su Pulsante1, ma mi si disattiva e si attiva Pulsante2 impedendomi di agire sull'azione posta al di sotto di Pulsante1.
    Tieni presente che vorrei evitare di mettere in gioco l'evento NonInElenco su Campo2 per mie ovvie ragioni..............talvolta un testo selezionato può corrispondere ad un testo esistente, ma non sempre significa che quel dato sia buono, quindi in ogni caso devo poi cliccare su Pulsante1.
    2. Se insisto a digitare, correndo lungo i campi, cioè mi sposto su Campo3 per poi rispostarmi su Campo1 e ripetere tutta l'operazione di input, l'AfterInsert produce l'effetto sperato.
    Continuo a non capire il concetto di NewRecord?

    4) NewRecord è una istruzione che puoi trovare soltanto in VBA? Non trovo una proprietà evento con questo nome. Scusa se sto mischiando i termini e i significati.

    Non preoccuparti quando io parlo di macro, tu continua a usare il tuo linguaggio VBA e costruire connessioni le più consoni alla logica del problema: è quest'ultima che mi preme di capire più di tutto.
    Ti sono immensamente grato, ma credimi, ho letto e riletto tutti i significati delle proprietà evento su un manuale fatto molto bene e, come quando ti perdi in un bicchier d'acqua, non ne vieni a capo lo stesso.
  • Re: Eventi maschera

    OsvaldoLaviosa ha scritto:


    La 1) mi sembra buona, solo che, nell'esposizione del problema, non ho detto che la sottomaschera B ha una ulteriore sottomaschera C, ininfluente ai fini del problema in questione, ma si da il caso che sia regolata proprio dall'evento Current (creato grazie alla procedura guidata), che ho paura di andare a smuovere con altre istruzioni.
    Decisamente bizzarro già che la Form debba essere condizionata dalla SubForm di livello 1... figuriamoci dalla SubSubForm... che è di livello 2..., certo è una strategia anomala e decisamente discutibile... ma tant'è...

    OsvaldoLaviosa ha scritto:


    2) AfterUpdate potrebbe essere sostituito tranquillamente anche da BeforeInsert.
    Non sono proprio la stessa cosa... anzi... fossi in te farei attenzione alla modalità di GENERAZIONE degli eventi... cosa che tuttavia non è agevole con le sole MACRO.
    Sei certo che il BeforeInsert sia adeguato...?
    Se vedi l'evento BeforeInsert da VBA ti accorgi che è ANNULLABILE, quindi nel caso venisse annullato(anche solo dai comandi tastiera) non faresti mai verificare un'evento di CONFERMA dello stato dei tuoi Button...!
    A me pareva di averti suggerito non a caso AFTER....

    Purtroppo ogni EVENTO ha particolarità da conoscere e soprattutto serve sapere quali proprietà testare negli Eventi di condizionamento... come la proprietà DIRTY che è diversa dall'Evento DIRTY e la proprietà NEWRECORD...

    OsvaldoLaviosa ha scritto:


    Scusa quando non colgo il significato stretto di ogni vocabolo, ma forse ho problemi nel capire cosa deve significare NewRecord.
    A me capita che, non appena digito un carattere in un campo di NewRecord, automaticamente Campo5 (essendo Contatore) assume un valore. Ecco perchè per me, da questo momento (desidero condizione 10) fino al prossimo NewRecord sarebbe come se non dovessi più considerarlo come NewRecord. Dove sbaglio? Quando un NewRecord cessa di essere tale?
    La proprietà NEWRECORD la devi cercare nel Visualizzatore Oggetti, digitando NEWRECORD e vedrai che è una proprietà connessa all'oggetto FORM, poi aprendo l'Help ti viene spiegato come funziona...!
    Si attiva=TRUE solo quando sei in ADDNEW ed è leggibile su BeforeInsert, ma anche su CURRENT, ma testarla su questi 2 Eventi ha un senso completamente differente...

    OsvaldoLaviosa ha scritto:


    Quando dici "il mio dubbio è che se non condizioni con la proprietà NEWRECORD questo accade anche su un Record già presente in EDITING", non è tanto un problema. Io potrei posizionarmi su qualsiasi record e cliccare su Pulsante2 (esso crea una procedura di inserimento nuovi dati che andranno poi ad ACCODARSI alla subtabella B, ecc...)
    Beh stai stravolgento l'uso di Access in modalità disconnessa, ma è una possibilità... solo che se non la gestisci con il VBA che margine hai di intercettare eventuali ERRORI...?

    OsvaldoLaviosa ha scritto:


    3) Ho provato con AfterInsert, apparentemente funziona, ma succede che:
    1. Se digito in sequenza Campo1 (passo a Campo2 e qui già Combinazione10 si attiva), poi digito in Campo2 (dimenticavo: è una casella combinata, se non trovo un valore che mi interessa, ne seleziono uno a caso (tanto verrà reimpostato dopo), quindi decido di cliccare su Pulsante1, ma mi si disattiva e si attiva Pulsante2 impedendomi di agire sull'azione posta al di sotto di Pulsante1.
    Tieni presente che vorrei evitare di mettere in gioco l'evento NonInElenco su Campo2 per mie ovvie ragioni..............talvolta un testo selezionato può corrispondere ad un testo esistente, ma non sempre significa che quel dato sia buono, quindi in ogni caso devo poi cliccare su Pulsante1.
    2. Se insisto a digitare, correndo lungo i campi, cioè mi sposto su Campo3 per poi rispostarmi su Campo1 e ripetere tutta l'operazione di input, l'AfterInsert produce l'effetto sperato.
    Continuo a non capire il concetto di NewRecord?
    Quì ho capito veramente pochissimo...

    OsvaldoLaviosa ha scritto:


    4) NewRecord è una istruzione che puoi trovare soltanto in VBA? Non trovo una proprietà evento con questo nome. Scusa se sto mischiando i termini e i significati.
    Nella programmazione ad Oggetti(O.O.P.) ci sono solo 3 elementi da conoscere:
    1) Metodi
    2) Proprietà
    3) Eventi
    NewRecord è una proprietà dell'oggetto Form, leggibile al verificarsi di specifici Eventi... le 3 considerazioni sono legate...
    Per rispondere, che io sappia, quando si vuole gestire le proprietà nello specifico ed in particolare condizionare eventi solo il VBA lo consente, ma potrei essere smentito su questo non conosco minimamente i limiti delle macro.

    OsvaldoLaviosa ha scritto:


    Non preoccuparti quando io parlo di macro, tu continua a usare il tuo linguaggio VBA e costruire connessioni le più consoni alla logica del problema: è quest'ultima che mi preme di capire più di tutto.
    Ti sono immensamente grato, ma credimi, ho letto e riletto tutti i significati delle proprietà evento su un manuale fatto molto bene e, come quando ti perdi in un bicchier d'acqua, non ne vieni a capo lo stesso.
    Come sempre quando si guarda una cosa da un punto di vista che non si è mai considerato, spesso non la si riconosce nemmeno... , credo sia solo questione di iniziare con l'idea di imparare il VBA, poi vedrai che inizierai a legare l'uso delle Macro con il VBA e capiti i parallelismi sarà più facile per te abbandonare le Macro...
  • Re: Eventi maschera

    Il tuo "Qui ho capito veramente pochissimo" mi spinge a spiegarti tutto il meccanismo bene bene, sperando che tu comprenda meglio il tutto.

    Maschera A si chiama SUPPORTI (o SUPPORTImod quando voglio modificare una serie di cose, quindi ci sono molti pulsanti per farlo). I Supporti sono Libri, CD, LP, DVD...insomma contenitori di Titoli di Brani musicali, Titoli di Film, Titoli di Libri.....in generale Titoli.

    Sottomaschera B si chiama TITOLI-SUPPORTI dove ci vado a inserire i Titoli nei Supporti (proprio come in una tracklist). Per Titoli bisogna fare molta attenzione, perchè io preferisco che non siano concepiti direttamente in TITOLI-SUPPORTI, ma in una tabella appunto TITOLI (tieni presente che un Titolo, pur avento un campo Titolo, da solo non è sufficiente per identificarlo univocamente.....insieme ad esso ci sono altri campi che lo rendono univoco, ma poi alla fine c'è tanto di IDTitolo che comanda per risolvere questa situazione). Quindi comprendi bene che le tabelle SUPPORTI e TITOLI sono in relazione molti-a-molti attraverso la tabella di congiunzione TITOLI-SUPPORTI.

    I 7 campi (non 5 mi correggo) della sottomaschera TITOLI-SUPPORTI sono:
    Indirizzo: Testo. Qui ci metto esattamente 01, 02, 03....proprio come nelle tracklist. Deve essere testo perchè non sempre si tratta di tracklist in senso stretto........un Supporto come può essere un raccoglitore ad anelli contiene Titoli ordinati in base all'ordine alfabetico dei Titoli, è modificabile nel tempo e nemmeno in maniera sequenziale.
    IDTitolo: Numerico. E' una casella combinata che pesca dati da TITOLI.
    Grandezza: Testo.
    Consigliato: Testo.
    Note: Memo.
    IDSupporto: Numerico (chiave esterna, essendo di congiunzione, ce l'ho Non Visualizzato)
    IDTitSupp: Contatore
    (i campi Grandezza, Consigliato e Note sono poco importanti, IDSupporto va da sè)

    A cosa servono Pulsante1 e Pulsante2?
    In verità ci sarebbe anche Pulsante3, ma siccome funziona analogamente e in coppia con Pulsante2, per semplicità, non è strettamente necessario citarlo nel nostro discorso.
    Oggi compro un nuovo Supporto, quindi devo aggiornare il mio database. Apro la maschera SUPPORTImod, inserisco tutti i dati "esteriori" relativi al Supporto, poi entro nella sottomaschera TITOLI-SUPPORTI e mi posso comportare in vari modi.
    1) In linea generale io digito il primo Indirizzo (es. 01), poi passo al campo IDTitolo per vedere se ce l'ho già:
    1.1 se IDTitolo ce l'ho già, lo seleziono e passo al campo Grandezza ecc..., completo il record e vado a quello successivo,
    1.2 altrimenti clicco sul Pulsante1 che mi Chiude SUPPORTImod (memorizzandone i valori di IDSupporto e IDTitSupp che nel frattempo ha assunto un valore) apre maschera TITOLI, qui vado ad aggiornare con il nuovo Titolo, quindi chiudo TITOLI, riapro SUPPORTImod e mi vado a riposizionare dove ero prima (tutto questo viene memorizzato sfruttando controlli di una maschera X di comodo), poi grazie all'evento macro ImpostaValore posso indicare il nuovo valore IDTitolo in TITOLI-SUPPORTI.IDTitolo. Tutto questo avviene attraverso macro molto velocemente.
    OK, (qui casca il mio asino) lo so che in VBA esiste un elegante istruzione che si chiamerebbe Requery che serve apposta per sincronizzare valori quando due maschere sono aperte, ma io non ci ho mai capito bene come funziona Requery e tutto il resto che andrebbe scritto prima e dopo, quindi ho pensato bene di chiudere/aprire continuamente maschere ogni qualvolta voglio aggiornare tutto.
    2) Capisci bene che digitare una tracklist così, anche se ben congeniata con le macro, rischia di essere relativamente macchinoso.
    Quando sono sicurissimo che molti Titoli (diciamo 10) non sono presenti in TITOLI, preferisco non digitare nulla su Nuovo record e cliccare direttamente su Pulsante2. Anche questo chiude SUPPORTImod (memorizzandone IDSupporto e IDTitSupp) e apre TITOLI. In TITOLI vado ad inserire rapidamente i 10 Titoli da aggiornare, per poi Accodarli in TITOLI-SUPPORTI, quindi riapro SUPPORTImod e vedo i Nuovi IDTitoli già accodati (idem con macro chiudi/apri), poi rapidamente posso inserire tutti i loro relativi Indirizzo e tutti gli altri dati.

    Perchè creare il giochetto Pulsante1 Disattivato e Pulsante2 Attivato e viceversa?
    Prima questo giochetto non c'era, erano tutti attivati (come piace ad Alex), ma non puoi immaginare quante volte mi è capitato di cliccare sul Pulsante sbagliato dimenticandomi se ero in modalità da aggiornare quell'ultimo record, oppure accodare. Il giochetto, se funziona bene, mi risolve grandemente questo problema.

    AfterInsert (seguo la spiegazione dal manuale di John Viescas) esegue macro o routine evento "quando digiti il primo carattere in una nuova riga".
    AfterUpdate esegue macro o routine evento "dopo che i dati nel controllo sono stati aggiornati".
    Una di queste due io l'ho applicata al campo Indirizzo. Inizialmente ho usato AfterUpdate, cioè io digito nel campo e ancora non succede nulla altrove, poi, come passo al campo successivo entra in azione l'evento: i Pulsanti cambiano attivazione (fin qui mi stava bene).
    Per me AfterInsert dovrebbe essere più pertinente, perchè proprio al digitare del primo carattere, IDTitSupp si rivela e mi costringe ad entrare in modalità Procedura1 (quindi Pulsante1 Attivato).
    Finchè io non digito nulla di nuovo (su Nuovo Record ovviamente), sono sempre nella facoltà di cliccare su Pulsante2.

    Tu mi hai citato NewRecord secondo le definizioni tecniche di Guida in linea. Le approfondirò scrupolosamente. Io continuo ad essere duro di comprendonio e ti pongo le seguenti domande terra-terra.
    A) Quando mi POSIZIONO su Nuovo Record questo record è NewRecord. Vero?
    B) Quando mi posiziono su Nuovo Record, non appena digito anche un solo carattere in un campo, il suo ID si rivela. Sono ancora in NewRecord?
    C) Ho digitato tutti i campi di New Record, ma ci sono ancora dentro. Sono ancora in NewRecord?
    D) Ho digitato tutti i campi di New Record e ho dato l'invio che mi fa posizionare su un altro Nuovo Record. Adesso è diventato Ultimo Record. Vero?

    Scusami se mi sono permesso di chiederti queste domande banalissime, ma temo che dalla diversa interpretazione di ogni situazione, record per record, campo per campo, posso giocarmi questa o quella procedura.

    AfterInsert l'ho messo come evento maschera TITOLI-SUPPORTI (e mi ha prodotto gli effetti con inconvenienti del punto 3)). Dovevo invece metterlo come evento al campo IDTitolo?

    La possibilità di annullare un evento mi è del tutto oscura, finora l'ho ignorata, non saprei cosa farci. Anche la priorità eventi (es. Caricamento viene dopo Apertura, ma ce ne sono tanti altri...) non riesco a coglierne l'essenza.
    Ti prego, non giudicare severamente tutto l'assetto macro che ho costruito faticosamente. Là dove mi hai risposto alla tua maniera, mi va benissimo (le tue imbeccate VBA prima o poi mi contageranno). Ti chiedo solo di darmi confortanti conferme ove ce ne fossero. Critiche costruttive altrettanto!
    Grazie infinite.
  • Re: Eventi maschera

    Rianalizzando il gioco degli eventi maschera o eventi controlli, forse sarebbe più pertinente dire che sul campo1 (Indirizzo) non occorre applicare alcun evento, perchè se sul campo2 casella combinata IDTitolo io trovo un valore che mi interessa, nulla deve accadere al giochetto dei pulsanti.
    La vera discriminazione avviene quando digito nel campo2 (IDTitolo) e non trovo un valore che mi interessa: è da qui che deve cominciare il percorso di Pulsante1 Attivo. La proprietà evento "Su non in elenco" non mi piace perchè appare la finestra di errore che non vorrei vedere visualizzata.
    Si dà il caso che il clic su Pulsante1 attiva una macro, tra le cui azioni c'è Chiudi Maschera SUPPORTImod. Tale chiusura significa l'automatica attivazione del record (AfterInsert), con conseguente perdita dell'attivazione di Pulsante1.
    Sono convinto che bisogna trovare l'evento maschera o evento controllo giusto per far quadrare tutte le combinazioni, indipendentemente da macro o codici VBA. Ma continuo ad ingarbugliarmi da solo.
  • Re: Eventi maschera

    OsvaldoLaviosa ha scritto:


    Rianalizzando il gioco degli eventi maschera o eventi controlli, forse sarebbe più pertinente dire che sul campo1 (Indirizzo) non occorre applicare alcun evento, perchè se sul campo2 casella combinata IDTitolo io trovo un valore che mi interessa, nulla deve accadere al giochetto dei pulsanti.
    La vera discriminazione avviene quando digito nel campo2 (IDTitolo) e non trovo un valore che mi interessa: è da qui che deve cominciare il percorso di Pulsante1 Attivo. La proprietà evento "Su non in elenco" non mi piace perchè appare la finestra di errore che non vorrei vedere visualizzata.
    Osvaldo, scusa il ritardo ma questa settimana ho avuto uno spostamento degli orari di lavoro, ed ho fatto spesso notti... quindi non ho potuto contribuire.

    Devo anche dire che non ho letto tutto il trattato, ma come sai ognuno ha il proprio modo di sviluppare, e, se guardato da altri il rischio è che vengano banalizzate scelte pensate.
    Io non voglio commettere questo errore non avendo tempo per approfondire.

    DI fatto però, l'errore che commetti tecnicamente evidente è proprio quello del METODO.
    Dici di non voler usare il "NOT IN LIST" in quanto genera la segnalazione...
    La mia risposta a questa affermazione è che sbagli.
    Non esce nessuna segnalazione, puoi gestire tutto e decidere cosa è opportuno che venga generato e cosa no....

    Qual'è il problema però nel tuo caso...?
    Che non puoi farlo con le MACRO.

    Questo è un'altro caso che evidentemente contribuisce nel tuo caso ad avere fortissimi limiti, e questo contribuisce, come ti dicevo, a deformare la tua visione del progetto che viene completamente adattata a quanto sono i Limiti delle Macro.

    Prova a dare un'occhiata a questo:

    Scaricalo e rinominalo con estensione RAR... è roba vecchia... ma rende l'idea.
    Oppure questi:





    ecc....

    Ora probabilmente avrai difficoltà a comprenderlo ma per fare qualche passo avanti DEVI PASSARE AL VBA.

    OsvaldoLaviosa ha scritto:


    Si dà il caso che il clic su Pulsante1 attiva una macro, tra le cui azioni c'è Chiudi Maschera SUPPORTImod. Tale chiusura significa l'automatica attivazione del record (AfterInsert), con conseguente perdita dell'attivazione di Pulsante1.
    Sono convinto che bisogna trovare l'evento maschera o evento controllo giusto per far quadrare tutte le combinazioni, indipendentemente da macro o codici VBA. Ma continuo ad ingarbugliarmi da solo.
    Sono convinto che ti ingarbugli da solo proprio per un deficit di visione.
  • Re: Eventi maschera

    Credo di aver risolto il mio problema.

    Ho chiamato le seguenti macro che svolgono le seguenti azioni:
    Default.Smod: Pulsante1=Disattivato; Pulsante2=Attivato
    Default.Incolla: Pulsante1=Attivato; Pulsante2=Disattivato
    Default.OrdTS: Ordina la sottomaschera TITOLI-SUPPORTI secondo i campi Indirizzo, IDTitSupp

    Eventi maschere:
    maschera principale SUPPORTImod, Su apertura: Default.Smod

    sottomaschera TITOLI-SUPPORTI
    Su corrente: [Routine evento] che serve a tenere sincronizzata la sottomaschera che sta al di sotto
    Prima di inserire: Default.Incolla
    Su caricamento: Default.OrdTS

    campo Indirizzo, Prima di aggiornare: Default.Incolla
    campo IDTitolo, In attesa: Default.Incolla
    campo Grandezza, Su attivato: Default.Smod

    Ho capito che quando digito dentro un record nuovo in TITOLI-SUPPORTI deve sempre entrare in azione Default.Incolla, ma essendo soltanto i campi Indirizzo e IDTitolo interessati a questo evento, ho tolto ogni evento applicato sulla sottomaschera TITOLI-SUPPORTI. Di fondo mi sono accorto che dopo aver digitato nel campo IDTitolo, passo sempre al campo successivo Grandezza, allora rento Attivato quest'ultimo su Default.Smod e mi ritrovo.
    Ho testato tutte le combinazioni di input dati e funziona come mi aspetto. Mi è sorto soltanto il dubbio, che nel fare le varie prove, adesso mi ritrovo con qualche evento ridondante e/o inutile.
    E' vero il mio sospetto, oppure è meglio lasciar stare così?
Devi accedere o registrarti per scrivere nel forum
7 risposte