Nominare un codice

di il
3 risposte

Nominare un codice

Ho il seguente codice che entra in funzione Su attivazione del controllo Indirizzo:

Private Sub Indirizzo_AfterUpdate()
Forms!SUPPORTImod![Nuovo Titolo (Incolla)].Enabled = True
Forms!SUPPORTImod![Nuovi Titoli (Accoda)].Enabled = False
Forms!SUPPORTImod![Nuovi Titoli Classica (Accoda)].Enabled = False
End Sub

Se volessi riutilizzarlo per altri scopi, soprattutto richiamarlo con l'azione macro EseguiCodice, non saprei che nome ha. Come si nomina un codice?

3 Risposte

  • Re: Nominare un codice

    Non ho capito cosa devi fare...!

    In prima cosa le Macro le si usano il meno possibile... quindi se puoi abbandonale, usale solo per AUTOEXEC, AUTOKEYS e per i MENU'...!

    Quando vuoi scrivere una Funzione, perchè solo le funzioni possono essere richiamabili dalle macro, queste devono essere dichiarate PUBLIC in un MODULO esterno alla maschera.

    Nel tuo caso tuttavia è assurdo fare una cosa di questo tipo visto che quei controlli sono SPECIFICI della maschera nella quale stai operando.

    Forse qualche cosa mi sfugge della tua richiesta.
  • Re: Nominare un codice

    Diciamo che un po' mi aspettavo questa risposta, ma per me, ogni volta, capire cosa vale la pena di pensare come macro, come Routine private o Public o Funzione da poter richiamare da Modulo, non lo so mai.
    Mi fido dei tuoi consigli, ma da qualche parte avevo letto che riempire oggetti di database con troppe Routine incorporate, rischia di appesantire l'oggetto stesso, quindi si consiglia sempre di delegare a un modulo (quindi Funzione, quindi qualcosa con un nome esterno richiamabile ecc.......scusa, non so se mi sto esprimendo correttamente). Però, come vedi, il linguaggio tecnico diventa sempre più complicato per me e alla fine, se posso ripiegare sulle macro, ciò resta un terreno di mia migliore comprensione.
    Intanto, come per l'altra richiesta che ti avevo fatto, anche qui le tre righe centrali sono diventate 3 tranquille azioni macro, sempre con ImpostaValore, che ovviamente per me diventa più facile richiamare.
    D'altro canto, come dici tu, passare quel codice Private (molto semplice) in un modulo richiamabile, diventerebbe un ulteriore ed inutile groviglio di istruzioni da aggiungere......e lì non ci capirei al quadrato!
    Non mi devi rispondere per forza, so di girare su me stesso, ma non ti preoccupare, continuiamo a utilizzare ognuno i nostri linguaggi più consoni.
  • Re: Nominare un codice

    Purtroppo l'errore che commettono i poco esperti, ma è anche normale succeda, è di non avere una visione d'insieme del progetto e del codice...!
    Quespo porta a scrivere codice molto spesso RIDONDATO e ripetuto.
    Ad esempio se vuoi che tutte le maschere all'apertura facciano la stessa azione(ad esempio verificare se le credenziali dell'utente gli consentono la modifica...) si può scrivere un codice su Evento LOAD di ogni maschera, oppure si può scrivere un solo codice di tipo PUBLIC in un modulo esterno alle maschere che ricevendo come Parametro la Maschera vada a leggere i permissivi e li applichi...!

    Credo tuttavia che queste ottimizzazioni possano arrivare solo con l'esperienza, e certamente non da chi non ha sufficiente preatica con il CODICE.
    Nel tuo caso, visto che il codice ti mette ancora in difficoltà, prima di passare all'ottimizzazione, sarebbe già importante tu riuscissi a comprenderne i concetti di BASE:
    1) I DataType dei dati e l'uso corretto delle Variabili
    2) I tipi di Routine(Private/Public e soprattutto Function/Sub)
    3) sei già a buon punto per ottimizzare...
Devi accedere o registrarti per scrivere nel forum
3 risposte