Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Estrarre prima parola

145 views
Skip to first unread message

Greg

unread,
Dec 19, 2015, 9:58:07 AM12/19/15
to
Da un campo testo vorrei estrarre solo la prima parola e il numero di
occorrenze. C'è un modo per risolvere senza mettersi a fare il parsing
del campo fino a trovare il primo spazio? Grazie

--
Greg

@Alex

unread,
Dec 19, 2015, 2:20:09 PM12/19/15
to
Non devi fare Parsing per trovare il 1° Spazio...
Funzione INSTR(....) cerca la posizione del 1° Spazio... e quello che viene prima è la prima parola(forse)...
Mid$(TuoTesto,1,INstr(TuoTesto," ")-1)

Ora per trovare le occorrenze cosa intendi...?
Vuoi sapere quante ce ne sono...?

Devi usare il VBA per questo... e devi usare sempre, ma aggiorni [START] parametro Optional con la Posizione dell'ultima Occorrenza... e procedi.

Alternativa fai uno SPLIT con la Parola e con Ubound(varArray) sai quante occorrenze ci sono ed ogni Item dell'arrai contiene le frazioni di stringa...

Vedi tu...

@Alex

Greg

unread,
Dec 19, 2015, 5:50:03 PM12/19/15
to
Il 19/12/2015 20:20:08 @Alex ha scritto:

> Ora per trovare le occorrenze cosa intendi...?
> Vuoi sapere quante ce ne sono...?

Ho una lista di ricette:
uova in camicia
pollo alla spiedo
penne all'arrabbiata
uova fritte


Io vorrei orrebere questo:
penne 1
pollo 1
uova 2

--
Greg

@Alex

unread,
Dec 20, 2015, 2:53:55 PM12/20/15
to
Greg... dai fai uno sforzo..., dipingi uno scenario e poi ne hai uno che è tutt'altro...!
Dove devi cercare, all'interno di una stessa Stringa o di un Database...?
Se in una stringa ti ho dato la soluzione, creati la Routine.

Se devi cercare nei TITOLI di un Database se la parola UOVA è presente in più ricette non fai prima a fare una Query con un Campo Calcolato con DCOUNT, oppure una SubSelect COUNT...?

Sei certo che sia una cosa furba cercare UOVA nel Titolo di una Ricetta...?

@Alex

Greg

unread,
Dec 20, 2015, 3:12:51 PM12/20/15
to
Il 20/12/2015 20:53:53 @Alex ha scritto:
Scusa, deve essere colpa mia ma non l'ho colta :(


Se devi cercare nei TITOLI di un Database se la parola UOVA è presente
in più ricette non fai prima a fare una Query con un Campo Calcolato
con DCOUNT, oppure una SubSelect COUNT...?

Ma io non so, in una query, a priori dove finisce la parola


Sei certo che sia una cosa furba cercare UOVA nel Titolo di una
Ricetta...?

Non vuole essere furba, ma vuole dare al cuoco l'informazione che nel
database ci sono 7 ricette che parlano di uova, 6 di broccoli...
poi se vuole clicca sulla voce e nella listbox appaiono i nomi delle
ricette per esteso, poi sceglie una di queste e gli compare tutto
l'ambaradan che gli serve, preparazione, ingredienti, foto...

Comunque ho risolto in modo drastico facendo il parsing del titol,
prendendo i caratteri prima dello spazio e salvando la parola in un
nuovo campo. Mi rimane la curiosità di sapere se si poteva fare con
unq query

--
Greg

@Alex

unread,
Dec 20, 2015, 5:06:13 PM12/20/15
to
Se la ricetta si chiama "Torta di riso"... cosa cerchi come ingrediente Torta...?

E se nella torta di riso ci sono le Uova...? Spero di si... pensi di trovarle..?

Boh io non capisco... ma contento tu... io lo sono di più.

@Alex

Greg

unread,
Dec 21, 2015, 8:38:43 AM12/21/15
to
Il 20/12/15 23:06:11 @Alex ha scritto:

> Se la ricetta si chiama "Torta di riso"... cosa cerchi come ingrediente
> Torta...?

Si

> E se nella torta di riso ci sono le Uova...? Spero di si... pensi di
> trovarle..?

Non le uova, la torta

> Boh io non capisco... ma contento tu... io lo sono di più.
>
> @Alex

Scusa provo a spiegare meglio.
Ho tabella delle ricette, con il campo Nome e altri campi.
Consideriamo solo il cmapo Nome.
Per esempio Abbiamo:
- Torta di riso
- Torta di mele
- Uova sode
- Penne al ragù

Domanda:
Voglio la prima parola di ogni ricetta con a fianco quante ricette
cominciano con quel nome

Risposta:

Ricetta Num
------- -----
1) Penne 1
2) Torta 2
3) Uova 1
4) ....

Soluzione: si può scrivere una query per ottere il risultato sorpa
senza ricorrere ad una tabella di appoggio su cui poi eseguire una
query di raggruppamento?

Spero che adesso si capisca :)

--
Greg

@Alex

unread,
Dec 22, 2015, 9:44:15 AM12/22/15
to
Si la soluzione l'ho già fornita sopra...!

SELECT Count(*) FROM TuaTabella
WHERE Ricetta LIKE 'Torta*'

Ora è evidente che a te basta rendere dinamico quel 'Torta*'

SELECT Count(*) FROM TuaTabella
WHERE Ricetta LIKE ' & Mid$(Forms!NomeForm!TextBoxRicettaDaCercare;1;Instr(Forms!NomeForm!TextBoxRicettaDaCercare;" ")-1) & *'


Una roba simile...!

@Alex
0 new messages