Creare una Funzione da richiamare in una casella di testo.

Anonimo
2022-01-26T12:20:39+00:00

Buon giorno a tutti.

Desidererei con il vostro aiuto, creare una funzione da richiamare (come origine controllo) in una casella di testo associata ( chiamata Ruolo) al variare di un dato in una casella combinata chiamata Grado.

Ho creato questa funzione

Function Trova_Grado()

 Dim Categ As String

 Categ = Trim(UCase(Nz(Grado)))

 Ruolo = Trim(UCase(Ruolo))

 Select Case Categ

 Case "Mar.", "Mar. Ord.", "Mar. Ca.", "Mar. A.", "Lgt.", "Lgt. C.S."

 Ruolo = "ISPETTORI"

 Case "Fin.", "Fin.Sc.", "App.", "App. Sc.", "App. Sc.Q.S."

 Ruolo = "APPUNTATI"

 Case "V.Brig.", "Brig.", "Brig.Ca.", "Brig.Ca.Q.S."

 Ruolo = "SOVRINTENDENTI"

 Case "S.Ten.", "Ten.", "Cap.", "Magg.", "Ten. Col.", "Col.", "Gen. B.", "Gen. D.", "Gen. C.A."

 Ruolo = "UFFICIALI"

 Case Else

 Me.Ruolo = ""

 End Select

End Function

L'ho inserita nel modo seguente

Ma non ottengo il risultato sperato, non accade nulla, ho questo messaggio di errore:

Mi aiutate, per favore a capire come adattare questa mia funzione al mio scenario reale e come richiamarla correttamente nella casella di testo.

Ringrazio coloro che vorranno aiutarmi.

Ciao, Nicola.

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2022-01-26T16:25:58+00:00

Ciao Sandro, ho studiato il tutto e grazie ai tuoi consigli ho risolto in questo modo:

=DLookUp("Categoria";"TblGradi";"[Grado]='" & [Grado] & "'")

Mi è stato più semplice cosi.

Ciao, Nicola.

La risposta è stata utile?

0 commenti Nessun commento

3 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2022-01-26T15:06:03+00:00

    ciao Nicola,

    imposta un predicato sql come origine riga della combo in cui il valore da scrivere nella textBox non associata sia una delle colonne.

    su evento dopo aggiornamento della combo, imposta il relativo codice VBA per assegnare alla textBox il valore della colonna corrispondente al valore selezionato dalla combo.

    Più difficile a dirsi che a farsi.

    Lascia stare funzioni o altri metodi non si procede in tal modo, non complichiamoci la vita dove non serve...

    ComboBox.Column property (Access) | Microsoft Docs

    Ciao, Sandro.

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2022-01-26T13:32:32+00:00

    Ciao Sandro, buon giorno e grazie per il tuo prezioso intervento.

    Il mio desiderio, era quello di voler creare una funzione (è la prima volta che la creo) che in base al valore selezionato dalla casella combinata, mi facesse comparire , nella casella di testo chiamata ruolo la categoria equivalente.

    cioè, se seleziono v. Brig. nella casella di testo deve comparire il messaggio SOVRINTENDENTI.

    Il mio desiderio è volerlo fare con una funzione, per poter imparare a crearne una da solo.

    Con DlookUp, dove vado a reperire la categoria se nella tabella dei gradi non è prevista?

    Ciao, Nicola

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2022-01-26T12:27:44+00:00

    ciao Nicola,

    textBox non associata se capisco bene.

    La funzione che mostri non fa nulla e non si capisce che cosa dovrebbe restituire.

    Hai valutato una dlookup oppure di sfruttare la proprietà column della combo per assegnare il valore alla textBox?

    ciao, Sandro.

    La risposta è stata utile?

    0 commenti Nessun commento