Newsgroup: it.comp.appl.access
Titolo: ricerca di almeno una parola in campo testo o memo

al momento cerco in un campo una parola con una query ovvero nei criteri o
messo
Like "*" & [forms]![fornitoricarico]![cerca] & "*"
se il campo [forms]![fornitoricarico]![cerca] vale pippo mi mostrerà i
record
pippo123
123 pippo
ecc....
ma se volessi che almeno una di piu parole separate da uno spazio comparisse
nella descrizione come posso fare?
cioè se il campo [forms]![fornitoricarico]![cerca] vale pippo pluto paperino
vorrei tutti i record con almeno una delle parole in qualsiasi posizione
essa si trovi.
grazie,

 ha scritto nel messaggio
news:42a0b123$0$17089$5fc...@news.tiscali.it...

Devi creare un criterio Multiplo, nel tuo caso dicendo ALMENO si intende
ovvio l'uso dell'Operatore OR, ovviamente devi spezzare la stringa.
Certamente on è una cosa che puoi risolvere nella parte SQL, ma
devi ricostruire il criterio completamente, dovrà diventare:
NomeCampo Like "*" & PRIMA_PARTE & "*" OR
NomeCampo Like "*" & SECONDA_PARTE & "*" OR
NomeCampo Like "*" & TERZA_PARTE & "*"
Per ricostruire correttamente il criterio usa uno SPLIT sulla textBox
e cicla l'array Variant ricostruendo pezzo per pezzo accedento al
singolo ITEM.
La cosa è decisamente semplice.
Saluti
-- 
@Alex (Alessandro Baraldi)
---------------------------------------------------------------------------
http://www.sitocomune.com/
http://www.mantuanet.it/alessandro.baraldi/
---------------------------------------------------------------------------

 ha scritto nel messaggio
news:42a0b123$0$17089$5fc...@news.tiscali.it...

Vai sul Sito Comune (link qui sotto) e nella Sezione Forms leggi la mia FAQ
intitolata "3.33 Filtrare una maschera in base a una o più parole o frasi
contenute all'interno di un suo controllo".
-- 
Roberto
-----------------------------------------------------
il Sito Comune di it.comp.appl.access
http://www.sitocomune.com
----------------------------------------------------

 @Alex (Alessandro Baraldi)
grazie per l'aiuto, non ho mai usato split mi faresti un esempio? ovvero
ho 1 casella di testo che contiene pippo pluto paperino
vorrei assegnare al campo nascosto
NomeCampo Like "*" & pippo & "*" OR
NomeCampo Like "*" & pluto & "*" OR
NomeCampo Like "*" & paperino & "*"
ma come le estrao con split? dall'help non ho capito come gestire le singole 
stringhe dell'array che credo costruisca invocando tale funzione.
Grazie.


grazie per la tua segnalazione ma vorrei usare una sola casella di testo
ovvero inserire tutte le parole insieme separate da uno spazio obbligatorio
es: pippo pluto paperino
ciao e grazie. 

 ha scritto nel messaggio
news:42a20b1c$0$19531$5fc...@news.tiscali.it...

L'help è chiarissimo restituisce una Matrice ZeroBased
e come tutte le matrici si leggono passando un indice...!!!
Dim varArr as Variant
dim x    as varinat
Dim strW    as string
varArr=Split("Pippo Paperino Pluto"," ")
For x=0 to Ubound(varArr())
    strW=strW & "NomeCampo Like *" & varArr(x) & "* OR "
NExt
strW=Mid(strW,1,Len(strW)-4)
Msgbox strW


 @Alex (Alessandro Baraldi)
grazie 

 ha scritto nel messaggio
news:42a20bc9$0$17096$5fc...@news.tiscali.it...

Potresti prima portare le singole parole in variabili diverse,  poi
impostare il filtro con il un codice di quello indicato nella mia FAQ:
insomma i nostri antenati avrebbero setto "divede et impera". .)


> -- 
mi dice indice non incluso nell'intervallo in questa riga
For x=0 to Ubound(varArr())
sembra che l'array non venga creato.
bo..

 bo..
La matrice è creata, stampa il valore di Ubound(..)
e vedi se da 3 o 2 quindi metti un -1 sul fine cilco.


 @Alex (Alessandro Baraldi)
trovato il problema non ci vogliono le tonde
For x=0 to Ubound(varArr)
ciao e grazie.


scusa un altra domanda la stringa che mi costruisce è questa
Like *MOUSE* OR Like *TASTIERA*
a mancano i doppi apici credo infatti non funziona il filtro
il codice è questo
    For x = 0 To UBound(varArr)
        If x = 0 Then
            Me.CERCACOMPOSTO = "Like *" & varArr(x) & "*"
        Else
            Me.CERCACOMPOSTO = Me.CERCACOMPOSTO & " OR Like *" & varArr(x) & 
"*"
        End If
    Next
sai dirmi come aggiungere i doppi apici 

penso che la stringa dovrebbe diventare cosi
Like "*mouse*" And Like "*tastiera*"
come aggiungo i doppi apici mancanti? 

 ha scritto nel messaggio
news:42a2eedb$0$19520$5fc...@news.tiscali.it...

Nemmeno a copiare........
Manca il [NomeCampo] nel mio POST c'era ora magicamente
è sparito.....e gli apici vanno prima e dopo "*"


 @Alex (Alessandro Baraldi)
ma tu hai provato questa istruzione che mi dici?
strW=strW & "NomeCampo Like *" & varArr(x) & "* OR "
se il campo contiene una sola stringa "pippo" ci mette comunque l'OR?
inoltre cosa ci fà il nomecampo dentro gli apici? se il mio campo è 
me.miocampo diventa
strW=strW & "me.miocampo Like *" & varArr(x) & "* OR "
dico bene? qualcosa non mi torna.

 ha scritto nel messaggio
news:42a342d3$1$19536$5fc...@news.tiscali.it...

E questa istruzione che ho messo alla fine secondo te a cosa serve
a friggere cipolle in piazza....!!!
strW=Mid(strW,1,Len(strW)-4)
Saluti


 @Alex (Alessandro Baraldi)
direi geniale e io che usavo normali pentole per fare ciò
da oggi si usa
strW=Mid(strW,1,Len(strW)-4)
gli lo dirò a mia nonna.
grazie anche per le cipolle ciao. :)

 grazie anche per le cipolle ciao. :)
Sai fanno bene alla dieta....!
Saluti
-- 
@Alex (Alessandro Baraldi)


 @Alex (Alessandro Baraldi)
ho provato come dici tu e il valore della stringa str è
me.cerca Like *mouse* OR me.cerca Like *tastiera*
e non funziona
il codice usato è esattamente questo
me.cerca è il campo che contiene la stringa   -----> mouse tastiera
la mascheda fornitoricaricocerca e associata ad una query che ha nel 
criterio campo descrizione ---> [FORMS]![FORNITORICARICO]![CERCACOMPOSTO]
---- CODE --------------
    Dim varArr As Variant
    Dim x    As Variant
    Dim strW    As String
    varArr = Split(Me.cerca, " ")
    For x = 0 To UBound(varArr)
        strW = strW & "me.cerca Like *" & varArr(x) & "* OR "
    Next
    strW = Mid(strW, 1, Len(strW) - 4)
     Me.CERCACOMPOSTO = strW
     DoCmd.OpenForm "fornitoricaricocerca", acNormal, , , acFormEdit, 
acWindowNormal
--------------  END CODE -------------------
secondo te ora cosa non và? porta pazienza ma questa proprio non mi riesce 
ciao.