Inserimento automatico

di il
4 risposte

Inserimento automatico

Ho un database in Access ed in alcuni campi devo inserire sempre gli stessi testi (es. mese di FEBBRAIO, anno 2022,
aliquota IVA, etc.). Invece di digitare sempre questi dati, vorrei automatizzare questa operazione mediante una macro.
Esiste in Access qualcosa di analogo all'istruzione VBA di Word:
Selection.typetext "testo"?
Grazie per i gentili suggerimenti.

4 Risposte

  • Re: Inserimento automatico

    Ma dove li devi inserire quei testi? E in quale momento? E il codice quando dovrebbe parrire?

    La richiesta non è chiara ... mi dispiace
  • Re: Inserimento automatico

    Ciao,

    Questi dati li devi comunque inserire a mano, visto che anche se si ripetono cambiano periodicamente.

    Ora non conosco le tue attuali competenze con access, però escluderei l'uso di una macro, che su access funziona diversamente rispetto agli altri applicativi del pacchetto office e che se anche fattibile è un percorso lungo e tortuoso, per ottenere una soluzione che può essere realizzata più velocemente ed in modo quasi banale.

    Per limitare i troppi inserimenti manuali, con il rischio di sbagliarsi anche nella digitazione e quindi avere dati incoerenti tra loro, si usano le combo box, cioè le caselle combinate.

    Con le combo box hai come sorgente una lista di dati che sono sempre gli stessi. I dati possono essere recuperati da una tabella, solitamente con una query, oppure da una lista contenuta all'interno delle proprietà del controllo combo box. Indipendentemente dalla sorgente, la lista la devi creare tu con tutte le voci da te desiderate e può essere modificata in qualsiasi momento.

    Iniziando a digitare nella combo box, essa ti suggerisce immediatamente il primo termine che incontra con le lettere che hai digitato e premendo invio selezioni la voce che ti ha suggerito. inoltre hai anche una lista a tendina dove puoi scegliere il dato da immettere.

    Per quanto riguarda il mese, puoi affinare la soluzione, andando ad estrapolare il Mese con la funzione date() e poi assegnare il valore al controllo desiderato (una combo box, una casella di testo, una label, l'intestazione della form...).
    Con questa funzione, ad ogni cambio del mese, al controllo verrò assegnato il valore giusto, senza che tu debba inserire niente.

    Per l'iva se hai sempre lo stesso valore, la puoi mettere come valore predefinito nelle proprietà del controllo.
    Ma in questo caso se cambia il valore, dovrai modificarlo a mano, o al momento dell'inserimento nella form, oppure a livello di progettazione.

    In questo caso ti suggerisco di usare sempre una combo box collegata ad una lista di valori e di impostare come predefinito il valore di iva che usi più spesso.
    Se non la devi modificare è già pronto, se invece la devi modificare, con un click la modifichi, senza digitarla, ma semplicemente selezionandola dalla tendina.
    Se poi trovi anche per l'iva, un valore comune ed individuabile come per i mesi, puoi usare lo stesso giochino suggerito. Anche se in quel caso non esistono funzioni dirette e native in access, ma dovrai crearti una funzione personalizzata.
  • Re: Inserimento automatico

    Ottima spiegazione, chiara ed esauriente.
    Ti ringrazio.
  • Re: Inserimento automatico

    coccobello ha scritto:


    Ho un database in Access ed in alcuni campi devo inserire sempre gli stessi testi (es. mese di FEBBRAIO, anno 2022,
    aliquota IVA, etc.). Invece di digitare sempre questi dati, vorrei automatizzare questa operazione mediante una macro.
    Esiste in Access qualcosa di analogo all'istruzione VBA di Word:
    Selection.typetext "testo"?
    Grazie per i gentili suggerimenti.
    Chiarisci meglio entrambi gli esempi...!
    Quando dici che il Mese deve essere sempre "FEBBRAIO"... è vero o solo nel mese di FEBBRAIO...? Quindi dinamico con logica... da spiegare.
    Stessa cosa per ANNO...

    In realtà il Mese devi fare attenzione, in quanto FEBBRAIO o quello che sia, è un dato Testo non utilizzabile, tu devi sempre memorizzare il VALORE del mese, ed eventualmente Visualizzare la conversione in TESTO ESTESO...

    Per questo si usa più agevolmente la proprietà VALORE DI DEFAULT, ma serve capire l'aspetto DINAMICO del valore.
    Ad esempio se l'anno deve essere quello in corso, basta mettere nella Default
    =Year(Now())
    Quindi per il mese di Default si metterebbe
    =Month(Now())
    Se vuoi visualizzare il Testo esteso, conviene usare una ComboBox, popolata con Elenco Valori con 2 Colonne, la prima a larghezza=0 con la valorizzazione del mese in numero, la seconda a 5cm con il Testo esteso del Mese.
    In questa combo poi metti a Default Value quanto indicato.
Devi accedere o registrarti per scrivere nel forum
4 risposte