Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [vba/access]

    Ho un'etichetta con un evento ONCLICK, io vorrei farmi dare il nome dell'etichetta e ho provato con
    MsgBox ActiveControl.Name
    ma ACTIVECONTROL non funziona per le etichette!!!

    Come si fa?

    Alternativamente mi basterebbe farmi dare il nome della SUB che sta girando e poi ci tolgo "_Click" ... ma c'è un comando per questo?

    Grazie
    henry

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    158
    Non credo che esista una soluzione pratica al tuo problema, ma ti assicuro che ne esiste una logica.

    Quella pratica non esiste(SE non esiste) perchè stai chiedendo ad aCCESS(O) di fare cose per cui non è stato concepito.

    Quella logica esisterà dal momento in cui ci spigherai perchè e per fare cosa ti serve il nome dell'etichetta su cui hai cliccato.
    DISCLAIMER
    quello che sta scritto qui sopra è dettato esclusivamente dall'intuito, non da specifiche conoscenze tecniche. Usate queste informazioni a vostro rischio e pericolo (anhe sui server di produzione

  3. #3
    Utente di HTML.it L'avatar di Lak3d
    Registrato dal
    Aug 2006
    Messaggi
    1,035
    L'help suggerisce:

    codice:
    Dim MControl As Object
    Dim CtrlName As String
    
    Set MControl = Screen.ActiveControl
    CtrlName = MControl.Name
    MsgBox CtrlName
    però a me non restituisce il nome corretto...

  4. #4
    Originariamente inviato da Lak3d

    però a me non restituisce il nome corretto...
    Infatti ti dà il nome di un altro controllo, non dell'etichetta, perchè (come detto sopra) ActiveControl non funziona con le etichette.

    L'origine del mio problema è il seguente:
    Vorrei degli interruttori non legati a dei campi, ma gli interruttori non rimangono premuti se non sono legati a dei campi!!!
    Quindi ho pensato di usare delle etichette con l'evento "su click" che gli cambia l'aspetto da "incassato" a "in rilievo" e viceversa ogni volta che clicchi:
    codice:
    If Etichetta256 = 1 Then Etichetta256.SpecialEffect = 2 Else Etichetta256.SpecialEffect = 1
    Ora, siccome ne ho tanti di questi simil-interruttori, invece di correggere il nome dell'etichetta nel codice di ogni evento "su click", speravo di sostituirlo con ActiveControl e ricopiarlo uguale su tutti.
    Però ActiveControl non funziona, pertanto se non c'è altra soluzione, correggerò tutto a mano...
    henry

  5. #5
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,463

    Moderazione

    Invito come sempre ad indicare una descrizione del problema nel titolo, come da Regolamento.

    Questo l'ho corretto io.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  6. #6
    Ops, mi spiace, credevo di averlo messo, grazie di averlo inserito.

    Riscrivo il problema.

    Originariamente inviato da enricoska
    L'origine del mio problema è il seguente:
    Vorrei degli interruttori non legati a dei campi, ma gli interruttori non rimangono premuti se non sono legati a dei campi!!!
    Quindi ho pensato di usare delle etichette con l'evento "su click" che gli cambia l'aspetto da "incassato" a "in rilievo" e viceversa ogni volta che clicchi:
    codice:
    If Etichetta256 = 1 Then Etichetta256.SpecialEffect = 2 Else Etichetta256.SpecialEffect = 1
    Ora, siccome ne ho tanti di questi simil-interruttori, invece di correggere il nome dell'etichetta nel codice di ogni evento "su click", speravo di sostituirlo con ActiveControl e ricopiarlo uguale su tutti.
    Però ActiveControl non funziona con le etichette, c'è un altro comando?
    henry

  7. #7

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.