Funzioni stringa e come usarle

Si applica a
Access per Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Le funzioni stringa consentono di creare espressioni di Access che modificano il testo in vari modi. Si potrebbe, ad esempio, visualizzare solo una parte di un numero seriale in una maschera. In alternativa, potrebbe essere necessario unire (concatenare) più stringhe, ad esempio un cognome e un nome. Se non si è ancora esperti di espressioni, vedere Creare un'espressione.

Ecco un elenco di alcune delle operazioni sulle stringhe più comuni in Access e delle funzioni che è possibile usare per eseguirle:

Per… Usa il... Per esempio... Risultati
Restituire caratteri dall'inizio di una stringa Funzione Left =Left([SerialNumber],2) Se [SerialNumber] è "CD234", il risultato è "CD".
Restituire caratteri dalla fine di una stringa Funzione Right =Destra([SerialNumber],3) Se [SerialNumber] è "CD234", il risultato è "234".
Trovare la posizione di un carattere in una stringa Funzione InStr =InStr(1;[Nome];"i") Se [Nome] è "Colin", il risultato è 4.
Restituire caratteri dalla parte centrale di una stringa Funzione Mid =MID([SerialNumber];2;2) Se [SerialNumber] è "CD234", il risultato è "D2".
Tagliare gli spazi iniziali o finali da una stringa Funzioni LTrim, RTrim e Trim =Trim([Nome]) Se [Nome] è " Colin ", il risultato è "Colin".
Unire due stringhe Operatore segno di addizione (+)* =[Nome] + [Cognome] Se [Nome] è "Colin" e [Cognome] è Wilcox, il risultato è "ColinWilcox"
Unire due stringhe tra di esse aggiungendo uno spazio Operatore segno di addizione (+)* =[Nome] + " " + [Cognome] Se [Nome] è "Colin" e [Cognome] è Wilcox, il risultato è "Colin Wilcox"
Impostare maiuscole o minuscole su maiuscole o minuscole per una stringa Funzione UCase o Funzione LCase =UCase([Nome]) Se [Nome] è "Colin", il risultato è "COLIN".
Determinare la lunghezza di una stringa LUNGHEZZA =Len([Nome]) Se [Nome] è "Colin", il risultato è 5.

* Ok, quindi non è una funzione, è un operatore. Tuttavia, è il modo più rapido per unire le stringhe. In un database desktop è anche possibile usare l'operatore e commerciale (&) per la conmeditazione.

In Access sono disponibili molte altre funzioni correlate al testo. Un buon modo per altre informazioni è aprire il Generatore di espressioni ed esplorare gli elenchi di funzioni. Il Generatore di espressioni è disponibile quasi ovunque tu voglia creare un'espressione, in genere è presente un piccolo pulsante Genera che ha questo aspetto: Icona del pulsante

Per illustrare il Generatore di espressioni, aprirlo dalla proprietà Origine controllo in una maschera o in una visualizzazione. Usare una delle procedure seguenti, a seconda che si usi un database desktop o un'app Web di Access.

Visualizzare il Generatore di espressioni in un database desktop

  1. Aprire un database desktop (con estensione accdb).

  2. Premere F11 per aprire il riquadro di spostamento, se non è già aperto.

  3. Se è già disponibile una maschera, fare clic con il pulsante destro del mouse su di essa nel riquadro di spostamento e quindi scegliere Visualizzazione Layout. Se non si ha un modulo su cui lavorare, fare clic su Crea>modulo.

  4. Fare clic con il pulsante destro del mouse su una casella di testo nella maschera e quindi scegliere Proprietà.

  5. Nella finestra delle proprietà fare clic su Tutta>l'origine dei controlli e fare clic sull'icona del pulsante Genera sul lato destro della finestra della proprietà Origine controllo.

    Pulsante Genera nella finestra delle proprietà.

  6. In Elementi espressione espandere il nodo Funzioni e fare clic su Funzioni predefinite.

  7. In Categorie di espressioni fare clic su Testo.

  8. In Valori espressione fare clic sulle varie funzioni e leggere le brevi descrizioni nella parte inferiore del Generatore di espressioni.

    Nota

    Non tutte queste funzioni sono disponibili in tutti i contesti; Access filtra automaticamente l'elenco in base a quali funzionano in ogni contesto.

Combinare funzioni di testo per una maggiore flessibilità

Alcune funzioni stringa hanno argomenti numerici che, in alcuni casi, è necessario calcolare ogni volta che si chiama la funzione. Ad esempio, la funzione Left accetta una stringa e un numero, come =Left(SerialNumber, 2). Questa opzione è ottima se sai che ti servono sempre i due caratteri rimasti, ma cosa succede se il numero di caratteri necessari varia da elemento a oggetto? Invece di semplicemente "codificare" il numero di caratteri, è possibile immettere un'altra funzione che lo calcola.

Ecco un esempio di numeri seriali contenenti ognuno un trattino in un punto qualsiasi della stringa. Tuttavia, la posizione del trattino varia:

SerialNumber
3928-29993
23-9923
333-53234
3399940-444

Se vuoi visualizzare solo i numeri a sinistra del trattino, devi eseguire ogni volta un calcolo per scoprire dove si trova il trattino. Un'opzione consiste nel fare qualcosa di simile al seguente:

=Left([SerialNumber],InStr(1,[SerialNumber],"-")-1)

Anziché immettere un numero come secondo argomento della funzione Left, è stata inserita la funzione InStr, che restituisce la posizione del trattino nel numero di serie. Sottraendo 1 da questo valore si ottiene il numero corretto di caratteri restituito dalla funzione Left. All'inizio sembra un po' complicato, ma con un po' di sperimentazione puoi combinare due o più espressioni per ottenere i risultati che desideri.