Ciao a tutti,
se posso mi intrometto ;-)
Personalmente farei questa cosa…
inserirei alcuni controlli e definizioni per non ricevere errore nella Query quando per esempio il testo sottoposto a “Riduzione” possa risultare vuoto o null
Per esempio scriverei in un Modulo di Codice la function di nome MyRetrieveNumberWords che richiede due Parametri :
Esempio : MyRetrieveNumberWords(TuoTesto, NumeroParole)
Dove:
TuoTesto = rappresenta il testo o la stringa dalla quale estrarre un certo numero di parole a partire da Sinistra
NumeroParole = il numero di parole da ritornare
Per esempio… MyRetrieveNumberWords ("Oggi è una bella giornata", 3)
La function ritornera le prime 3 parole a partire da Sinistra = “Oggi è una”
Option Compare Database
Option Explicit
' RETURN A NUMBER OF WORDS
Public Function MyRetrieveNumberWords(stringText As Variant, numberWords As Integer) As String
Dim Words() As String
Dim i As Integer
Dim j As Integer
Dim stringReturn As String
' check text
If IsNull(stringText) Or Len(stringText) = 0 Then
MyRetrieveNumberWords = ""
Exit Function
End If
' split text
Words = Split(stringText, " ")
' set default function return
stringReturn = ""
' word extraction
For i = LBound(Words) To UBound(Words)
If Len(Words(i)) > 0 Then
stringReturn = stringReturn & Words(i) & " "
' check exit for
j = j + 1
If j = numberWords Then Exit For
End If
Next i
' set function return
MyRetrieveNumberWords = RTrim(stringReturn)
End Function
Esempio per impostare la function in una Query…. poniamo di avere una tabella di questo tipo con tre colonne che contengono dei testi:
In una query supponiamo di voler estrarre dalle colonne della tabella alcune parole dai testi:
da Testo1 si estraggono 3 parole
da Testo2 si estraggono 6 parole
e da Testo3 si estraggono 2 parole
Quindi nella query scriverò:
il risultato che si ottiene sarà di questo tipo :
e nell'ultima riga, la colonna TreParole e DueParole, non si riceve errore se nella tabella questi campi non risultano valorizzati.
In UnaParola è tutto ciò che ti hanno già ben illustrato e spiegato nei post precedenti… ora devi solo mettere le cose nel posto giusto e nel modo giusto…. e deve fuzionà ;-)
Ciao.
Edit:
ti lascio nel dettaglio come scrivere nella query: