Estrapolare parte di un testo.

DividiTesto

Ti è certamente già capitato, in una delle tabelle del tuo file di Microsoft Access, di avere dei dati registrati in modo errato o poco preciso, dei dati che vorresti avere separati, di cui adesso ne vorresti usare solo una parte

Facciamo un esempio:

  • stai registrando, da tempo regolarmente in una tabella, i consuntivi delle Campagne di produzione di un certi Prodotti

    DividiTesto
  • tu sai che i tuoi Prodotti sono suddivisi in Gamme, e ogni Gamma si chiama, per esempio, G1, G2, ZA, ZB… e così via
  • adesso hai bisogno di realizzare un Report in cui raggruppare i risultati e i subtotali di ogni singola Gamma
  • ovviamente, essendo in questo caso il contenuto del campo un testo unico, il raggruppamento avverrà per ogni singola Gamma in ogni singola Campagna
  • ma la tua esigenza è di raggruppare le gamme (G1, ZA, ZB e così via), e nel tuo caso non è stato previsto e non lo puoi fare

Niente paura, la soluzione è semplicissima:

  • inizia col creare una query di selezione con i campi della tabella
  • aggiungi alla query una colonna calcolata, e in questa inserisci l’espressione che restituisce solo le prime due lettere a sinistra del contenuto del campo Campagna

    DividiTesto
  • poi a seguire aggiungi altre due colonne che restituiscono rispettivamente il mese e l’anno della Campagna 
  • una volta salvata la Query, questa può essere usata al posto della tabella originale, nella realizzazione del Report,
  • ci sarà quindi a disposizione il nuovo campo GammaCampagna, che contiene solo le prime due lettere del campo Campagna della tabella originale
  • userai a tuo piacere questo nuovo campo, per raggruppare i dati o per altre utilità

    DividiTesto

 

Nell’esempio ho mostrato come manipolare una stringa di testo.

Ho usato la funzione Left$ per estrapolare la GammaCampagna, la funzione Mid$ per il mese e la funzione Left$ per l’anno:

  • Left$ – restituisce un determinato numero di caratteri che si trovano a sinistra nella stringa di testo
  • Mid$ – restituisce un determinato numero di caratteri che si trovano all’interno della stringa di testo
  • Right$ – restituisce un determinato numero di caratteri che si trovano a destra nella stringa di testo

Buon lavoro
R 🙂 bert 🙂