Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [Vb6] Problemino con like

    Ho un problemino uno per quanto riguarda una stringa sql:

    STRSQL = "SELECT * FROM PRODOTTI WHERE NOME LIKE '%" & ricerca & "%' ORDER BY NOME "

    eseguendo questa stringa non mi da i risultati se inserisco + di 1 parola..

    mi dovrebbe visualizzare tutti quelli che contengono quelle due parole.
    W Le Cozze Allattamate

  2. #2
    Utente di HTML.it L'avatar di Gigi84
    Registrato dal
    May 2001
    Messaggi
    569
    se tu gli dici
    codice:
    ...LIKE '%paola chiara%' ORDER BY..
    lui ti cerca quelli che contengono le stringa di testo "paola chiara".. e questo che volevi ottenere tu??

    forse volevi trovare i record che contengono sia "paola" che quelli che "chiara"?? se si devi mettere due condizioni LIKE unite dall'OR
    codice:
    ...NOME LIKE '%paola%' OR NOME LIKE '%chiara%'...
    se non ho capito quello che volevi fare..

    Take it easy babe.. take it as it comes

  3. #3
    Originariamente inviato da Gigi84
    se tu gli dici
    codice:
    ...LIKE '%paola chiara%' ORDER BY..
    lui ti cerca quelli che contengono le stringa di testo "paola chiara".. e questo che volevi ottenere tu??

    forse volevi trovare i record che contengono sia "paola" che quelli che "chiara"?? se si devi mettere due condizioni LIKE unite dall'OR
    codice:
    ...NOME LIKE '%paola%' OR NOME LIKE '%chiara%'...
    se non ho capito quello che volevi fare..

    nn mi sn piegato bene heheh
    praticamente nel textbox si possono inserire anche + parole... io voglio che la selezione non me la deve fare solo in base alla prima..mi spiego?
    W Le Cozze Allattamate

  4. #4
    Utente di HTML.it L'avatar di Gigi84
    Registrato dal
    May 2001
    Messaggi
    569
    quindi avevo capito!

    a questo punto io splitterei tutte le parola di ricerca in un'array e mi farei un ciclo che mi scrive la LIKE per ogni chiava di ricerca!!

    se diciamo che il separatore delle parole da usare come chiave è lo spazio:
    codice:
    Dim aryKey() As String
    Dim i As String
    
    strSQL = "SELECT * FROM PRODOTTI "
    
    aryKey = Split(txtParole.Text, " ") 'splitto le chiavi in un'array
    if ubound(arykey) > 0 then strSQL = strSQL & " WHERE NOME LIKE '%" & arykey(0) & "' "  'scrivo la prima volta la condizione, con il where
    
    For i=1 to Ubound(aryKey)  'scrivo una like per ogni keyword successiva
        strSQL = strSQL & "OR NOME LIKE '%" & arykey(i) & "%' "
    Next i
    
    strSQL = strSQL & "ORDER BY NOME" 'ultimo la stringa
    ti gusta come idea?

    ..dovrebbe essere qlcosa di pseudo-funzionate.. è un po' che non tocco il vecchio amato VB..
    Take it easy babe.. take it as it comes

  5. #5
    Utente di HTML.it L'avatar di darkblOOd
    Registrato dal
    Jul 2001
    Messaggi
    2,212
    Originariamente inviato da Gigi84
    forse volevi trovare i record che contengono sia "paola" che quelli che "chiara"?? se si devi mettere due condizioni LIKE unite dall'OR
    codice:
    ...NOME LIKE '%paola%' OR NOME LIKE '%chiara%'...
    leggete attentamente prima di ri-postare

  6. #6
    Utente di HTML.it L'avatar di Gigi84
    Registrato dal
    May 2001
    Messaggi
    569
    Originariamente inviato da darkblOOd
    leggete attentamente prima di ri-postare
    Take it easy babe.. take it as it comes

  7. #7
    Utente di HTML.it L'avatar di darkblOOd
    Registrato dal
    Jul 2001
    Messaggi
    2,212
    Originariamente inviato da Gigi84
    non parlavo con te, volevo sottolineare come tu avessi già dato la risposta nel tuo primo post

  8. #8
    Utente di HTML.it L'avatar di Gigi84
    Registrato dal
    May 2001
    Messaggi
    569
    ahhhh...!
    Take it easy babe.. take it as it comes

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.