Access 2010 - Report - Visualizzare un parola (colorata/evedenziata ) ...

martedì 02 ottobre 2012 - 14.57
Tag Elenco Tags  Windows 7  |  Visual Studio 2010  |  Access (.mdb)  |  Chrome

cagliostro51 Profilo | Newbie

Vi ringrazio sin da ora per l'attenzione.
In una tabella vi è anche un campo denominato "commenti" ( tipo testo)

Per mero esempio :
record n. 1, id = 1 commenti : stick di colla

record n. 2, id = 2 commenti : pacco con colla astucci stick


Ho creato una query e nei criteri ho inserito:
Like "*"&[immetti parola]&"*"

Contestualmente ho creato un report da tale query.

Così facendo quando parte la query , se digito ad esempio : "stick"
nel report mi compare sia il record n. 1 che il n. 2 con il campo commenti.
Lo stesso se digito "colla".

Tanto premesso vi chiedo:

a) se alla domanda della query digito : "stick colla "non mi compare nessun
record .
Se digito :"stick di colla" , compare il record n. 1
Come posso modificare i criteri per far comparire i due record digitando
solamente " stick colla "? Vale a dire tutti i record che contengono
comunque le parole "stick " e "colla" ?

b) risolto sub a) come posso evidenziare nel campo
"commenti " dei record trovati solo la parola oppure le parole che ho
digitato nella domanda della query .
In sostanza nella query digito "colla" , nel report compaiono i record
che contengono la parola colla :

id = 1 commenti =stick di colla
id = 2 commenti = pacco con colla astucci stick

ma solo "colla" in rosso, oppure giallo

Potrebbe anche essere in grassetto oppure evidenziata, come quando si passa su un testo un evidenziatore.

Si deve fare in VBA ? e se si in che modo ?

Sinceramente grazie.

DomA Profilo | Expert

Ciao
che io sappia Access non permette la ricerca full-tex. L'operatore LIKE consente di cercare una sequenza di caratteri in cun campo (ignorando quelli che vengono prima e/o dopo). Con LIKE conta la sequenza.
A questo punto hai diverse opzioni alternative:
1) passare ad SQL Server ed utilizzare il T-SQL. Gurada qui: http://msdn.microsoft.com/it-it/library/ms142571.aspx


2) LINQ to Dataset. guarda qui: http://stackoverflow.com/questions/4123462/query-rows-that-the-datatable-field-contain-any-item-in-the-liststring

3) analizzare record per record con una regular expression (se i record sono tanti la ricerca potrebbe essere esasperatamente lunga).

Per approfondire LINQ suggerisco questo: http://msdn.microsoft.com/en-us/library/bb386977.aspx

La prima è certamente la migliore dal punto di vista della performance.


Ricorda che, accettare la risposta è un modo di ringraziare chi ci ha aiutato ed evidenziare che il problema è stato risolto.

http://www.infomidia.it

Domenico

cagliostro51 Profilo | Newbie

Grazie, naturalmente per quel che mi riguarda dovrò approfondire.

Tuttavia , mi sembra , che non vi sia stata risposta in
merito alla seconda parte, cioè ottenere in risposa la
singola parola evidenziata.

Per questo non c'è soluzione ?

Ciao e grazie !

DomA Profilo | Expert

>>Grazie, naturalmente per quel che mi riguarda dovrò approfondire.
Prego

>>Tuttavia , mi sembra , che non vi sia stata risposta in
>>merito alla seconda parte, cioè ottenere in risposa la
>>singola parola evidenziata.

>>Per questo non c'è soluzione?

Il risultato della ricerca della ricerca dove va a finire?
In una datagridview? guarda qui: http://www.dotnethell.it/forum/messages.aspx?ThreadID=5446

Se invece viene bindato ad una txtBox o, meglio ancora, in un RichTextBox allora potresti creare una classe.
Questa è davvero completa:
http://www.pierotofy.it/pages/guide/Guida_al_Visual_Basic_dotNET/RichTextBox_e_Syntax_Highlightning/?PHPSESSID=b0712d3e85cdb4cec2b61a9820abc856

>>C'è anche il metodo FIND
però tutto dipende dalle tue esigenze.

----------------------------------------------------------------

Ricorda che, accettare la risposta è un modo di ringraziare chi ci ha aiutato ed evidenziare che il problema è stato risolto.

http://www.infomidia.it

Domenico

DomA Profilo | Expert

Scusami come non detto, ero così preso dalla prima parte che non ho prestato attenzione al resto.

>>Contestualmente ho creato un report da tale query
Che report utilizzi?
Forse è una domanda da proporre nella Stanza dedicata ai Report. Magari trovi qualcuno più competente.

--------------------------------------------------------------------------------------------


Ricorda che, accettare la risposta è un modo di ringraziare chi ci ha aiutato ed evidenziare che il problema è stato risolto.

http://www.infomidia.it

Domenico
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5