Utilizzo Like in SQL

di il
11 risposte

Utilizzo Like in SQL

Buonasera, sono alle prese con il comando LIKE.
Ho una tabella (ProvaHelp) contenente n elementi e vorrei estrarre solo gli elementi voluti tramite una richiesta da parte dell'operatore ad esempio indicando delle parole (anche non contigue) contenute nel campo ProvaHelp.HelpTesto (Campo formattato RTF).
La struttura è la seguente :

SELECT ProvaHelp.ID, ProvaHelp.HelpIntesta, ProvaHelp.HelpTesto
FROM ProvaHelp
WHERE (((ProvaHelp.HelpTesto) Like "Mail"));

Nessun risultato viene presentato (Chiaramente la parola Mail è presente in più elementi della tabella nel campo testato).
Sostituito Like "Mail" con Like "*" chiaramente ottengo tutti gli elementi.
Come ottengo gli elementi che nel campo ProvaHelp.HelpTesto contengono ad esempio la parola Mail e la parola Operatore??
Dove sto sbagliando ???
Grazie per chi vorrà darmi un input per risolvere il mio problema...

11 Risposte

  • Re: Utilizzo Like in SQL

    Like "*Mail*"

    ?
  • Re: Utilizzo Like in SQL

    Scusa oregon ... non capisco
  • Re: Utilizzo Like in SQL

    Hai visto cosa ho scritto? Hai provato?
  • Re: Utilizzo Like in SQL

    Si ho provato ... questo ho scritto (Like "Mail" era un refuso delle varie prove)
    SELECT ProvaHelp.ID, ProvaHelp.HelpIntesta, ProvaHelp.HelpTesto
    FROM ProvaHelp
    WHERE (((ProvaHelp.HelpTesto) Like "*Mail*"));
    Ma il problema che il testo se formattato testo funzione ma se formattato RTF e non funzione
  • Re: Utilizzo Like in SQL

    Evidentemente nel testo rtf la parola ha altri caratteri o codici in mezzo. Mostra esattamente il testo rtf in cui compare la parola Mail
  • Re: Utilizzo Like in SQL

    Ma non è più semplice lavorare su un campo PLAINTEXT per queste cose e delegare alla visualizzazione la parte RTF...?
    In questo c'era un controllo di Lebans che restituiva sempre la proprietà PlainText comodissima per queste cose... con il controllo nativo per usare questo metodo non è banalissimo... di piu:
    https://docs.microsoft.com/en-us/office/vba/api/access.application.plaintext
  • Re: Utilizzo Like in SQL

    Sorry ...
    Ma non è più semplice lavorare su un campo PLAINTEXT per queste cose e delegare alla visualizzazione la parte RTF...?
    In questo c'era un controllo di Lebans che restituiva sempre la proprietà PlainText comodissima per queste cose... con il controllo nativo per usare questo metodo non è banalissimo...
    mi sono perso.... ????
  • Re: Utilizzo Like in SQL

    Quando si usa il controllo in modalità RTF, ovvero con i TAGS di formattazione grafica, magari ha un senso avere un campo base privo della formattazione, proprio per le esigenze che hai esposto...?
    Quindi fossi in te penserei di userei 2 Campi in tabella, quello PlainText e quello RTF, quello PlainText non lo visualizzi ma lo usi per ricerche e quan'altro associandolo ad un controllo textbox non visibile, quello RTF lo usi per l'interfaccia utente associandolo ad una TextBox in modalità RTF, su AfterUpdate ricorda di aggiornare il controllo associato al PlainText in modo da averli sempre allineati.
  • Re: Utilizzo Like in SQL

    Grazie per il consiglio, credo che utilizzerò i 2 campi in tabella.
    Approfitto ancora, riuscirei ad evidenziare la parola ricercata nel relativo campo di testo dove essa è contenuta???
  • Re: Utilizzo Like in SQL

    La risposta è dipende da cosa vuoi fare quando dici "EVIDENZIARE"... ma ad esempio:
    
    Function Hilight(strIn, strSearchValue)
    Const strcTagStart = "<font color=red>"
    Const strcTagEnd = "</font>"
    
    If Not IsNull(strIn) Then
        Hilight= Replace(strIn, strSearchValue, strcTagStart & strSearchValue & strcTagEnd)
    End If
    End Function
    Attenzione poi che il problema è tenere traccia di queste cose... e rimuoverle... perchè se le SALVI poi non è scontato riuscire a ripristinare il Testo formattato senza l'Hilight.
    In questo caso potrebbe essere utile implementare una Collection di queste modifiche, a mo di Registro LIFO e rimuoverle partendo dalla prima in Collection che poi è l'ultima implementata, c'è da ragionarci bene.
  • Re: Utilizzo Like in SQL

    La Tabella in questione e' solo in lettura e quindi non verrà Salvato nulla.
    Evidenziare intendo che al momento della parola ricercata verrà evidenziata la casella di testo che e un Meno (Contiene una descrizione di un Help per spiegare quello che deve fare l'operatore) e porre appunto in evidenza (Colorata, in grassetto ecc..) la parola ricercata.
    Quello che sto facendo è una procedura di un Help che ricopi un pò un Help di Windows con una casella di "Cerca"...
Devi accedere o registrarti per scrivere nel forum
11 risposte