Cambiare la caption di un'etichetta con VBA

di il
9 risposte

Cambiare la caption di un'etichetta con VBA

Buona sera a tutti, sono nuovo del forum, sono un appassionato di Access ma sono alle prime armi e per questo chiedo un consiglio.

Ho costruito un database di magazzino che contiene una pianta degli scaffali identificati da etichette. Avendo bisogno di cambiare il nome di queste etichette ho creato un codice che al doppio click, sull'etichetta che voglio cambiare, mi apre un imputbox dove scrivere il nuovo nome e funziona. Il problema è che una volta chiusa e riaperta la maschera il nome dell'etichetta ritorna quello di origine, sto dimenticando qualcosa? Di seguito il codice di cui sopra, grazie.

Private Sub Etichetta0_DblClick(Cancel As Integer)
Dim ts As String
ts = InputBox("Inserisci il nuovo nome")
Me.Etichetta0.Caption = ts
DoCmd.Save
End Sub

9 Risposte

  • Re: Cambiare la caption di un'etichetta con VBA

    Direi proprio di si… stai facendo confusione su come fuziona Access.

    La proprietà Caption dell'etichetta si può cambiare a Runtime(Come ovviamente fai tu) ma è impossibile salvarla, diventa quindi una cosa momentanea.

    Oppure si può cambiare in modo definitivo, serve però aprire la maschera in modalirà Struttura e salvare alla chiusura.
    Questo metodo normalemente non si prende MAI in considerazione, in quanto passare per la modalità Design da programmazione non è una soluzione tecnica intelligente.

    Per fare quello che chiedi, serve sfruttate il Database, ovvero crei una Tabella Scaffali con il campo Nomecontrollo e Descrizione, quindi vai a salvare nella Tabella il suo nuovo lavore, e, quando apri la maschera ricarichi i dati e li scrivi… potresti per questo usare una Maschera Associata, quindi al posto di Etichette dovresti usare TextBox… ma questa è la strada corretta.

  • Re: Cambiare la caption di un'etichetta con VBA

    In verità ci avevo già pensato ma non volevo dover fare troppe modifiche al database, comunque proverò ad adottare questa soluzione, ti ringrazio del consiglio @Alex e buona giornata.

  • Re: Cambiare la caption di un'etichetta con VBA

    Quanto rimpiango il file risorse del VB6…..
    Ed anche l'editor trasparente del vb4, ma è un'altra storia.

  • Re: Cambiare la caption di un'etichetta con VBA

    Le risorse erano incorporate nell'eseguibile e quindi in sola lettura. Non sarebbero servite per il problema di questo thread. 

  • Re: Cambiare la caption di un'etichetta con VBA

    27/01/2024 - oregon ha scritto:


    Le risorse erano incorporate nell'eseguibile e quindi in sola lettura. Non sarebbero servite per il problema di questo thread. 

    Ora sono quasi 20 anni che non uso più il vb6, ma i file risorse non erano file a parte con estensione .RES e manipolabili anche con un semplice editor, a parte quello contenuto nella suite del vb6 ? Con cui potevi creare comodamente una fonte di risorse, che conteneva immagini, testo, audio e potevi tradurre un intero applicativo in mille mila lingue usando solo una stringa, e modificabili anche tramite l'applicazione che si era sviluppata?

    Ora immagina se fosse possibile usare un file risorse di appoggio ai database access, senza dover crearlo a mano, dove poter mettere tutto il materiale che andrebbe ad appesantire il database principale.

  • Re: Cambiare la caption di un'etichetta con VBA

    Una volta create diventavano in sola lettura per l'applicazione perché incorporate nell'eseguibile.

    Quindi erano risorse che NON potevano essere modificate, come chiede invece l'OP.

    Le risorse incorporate sono sempre possibili quando c'è un eseguibile. Esistono anche in .NET (e in .NET hai anche i Settings in r/w che possono essere più utili).

  • Re: Cambiare la caption di un'etichetta con VBA

    Diciamo che un File INI potrebbe essere alternativo per i Local Settings ma Access ha le Tabelle Locali… e penso siano un ottimo valore per queste esigenze… semplici da gestire e manipolare in modo nativo.

  • Re: Cambiare la caption di un'etichetta con VBA

    25/01/2024 - Rox63 ha scritto:


    Buona sera a tutti, sono nuovo del forum, sono un appassionato di Access ma sono alle prime armi e per questo chiedo un consiglio.

    Ho costruito un database di magazzino che contiene una pianta degli scaffali identificati da etichette. Avendo bisogno di cambiare il nome di queste etichette ho creato un codice che al doppio click, sull'etichetta che voglio cambiare, mi apre un imputbox dove scrivere il nuovo nome e funziona. Il problema è che una volta chiusa e riaperta la maschera il nome dell'etichetta ritorna quello di origine, sto dimenticando qualcosa? Di seguito il codice di cui sopra, grazie.

    Private Sub Etichetta0_DblClick(Cancel As Integer)
    Dim ts As String
    ts = InputBox("Inserisci il nuovo nome")
    Me.Etichetta0.Caption = ts
    DoCmd.Save
    End Sub
    
    

    Ma normalizzare e collegarla ad una tabella scaffali e reparti era complicato?

    Se hai 1000 scafali utilizzi 1000 campi? E se cambi disposizione e aggiungi reparti e/o scaffali?

    O mi sfugge qualcosa?

  • Re: Cambiare la caption di un'etichetta con VBA

    27/01/2024 - sihsandrea ha scritto:


    25/01/2024 - Rox63 ha scritto:


    Buona sera a tutti, sono nuovo del forum, sono un appassionato di Access ma sono alle prime armi e per questo chiedo un consiglio.

    Ho costruito un database di magazzino che contiene una pianta degli scaffali identificati da etichette. Avendo bisogno di cambiare il nome di queste etichette ho creato un codice che al doppio click, sull'etichetta che voglio cambiare, mi apre un imputbox dove scrivere il nuovo nome e funziona. Il problema è che una volta chiusa e riaperta la maschera il nome dell'etichetta ritorna quello di origine, sto dimenticando qualcosa? Di seguito il codice di cui sopra, grazie.

    Private Sub Etichetta0_DblClick(Cancel As Integer)
    Dim ts As String
    ts = InputBox("Inserisci il nuovo nome")
    Me.Etichetta0.Caption = ts
    DoCmd.Save
    End Sub
    
    

    Ma normalizzare e collegarla ad una tabella scaffali e reparti era complicato?

    Se hai 1000 scafali utilizzi 1000 campi? E se cambi disposizione e aggiungi reparti e/o scaffali?

    O mi sfugge qualcosa?

    In effetti ho fatto una Tabella Scaffali con il campo Nomecontrollo e Descrizione, come consigliato da @Alex, e ho risolto.

Devi accedere o registrarti per scrivere nel forum
9 risposte