Visualizzazione dei risultati da 1 a 10 su 10

Discussione: in o like?

  1. #1

    in o like?

    Ciao a tutti. Ho un campo dove ho inserito i destinatari di un messaggio. Gli utenti vengono salvati secondo questo schema:

    3, 6, 7, 11, 12, 13, 14, 15

    Ora, quando faccio la query

    codice:
    rs.Open "select * from bacheca where destinatari IN ('"&idutente&"') order by id desc", cn, 1
    dove l'idutente=1

    La stessa però mi restituisce anche gli utenti 11 13 14 e 15


    ho provato anche con like ma non cambia molto. come posso risolvere?

  2. #2
    Utente di HTML.it L'avatar di vic53
    Registrato dal
    Oct 2010
    residenza
    Fonte Nuova (Roma)
    Messaggi
    592
    io con access ho risolto una query tipo quella tua mettendo ad esempi nella tua query

    il costrutto tipo questo

    ...where left(destinatari," & len(idutente)&") = '" & idutente & "' order by ....

    prova

    ciao
    Vic53

  3. #3
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,812

    Re: in o like?

    Originariamente inviato da giovivent

    codice:
    rs.Open "select * from bacheca where destinatari IN ('"&idutente&"') order by id desc", cn, 1
    perché idutente lo passi come testo?

  4. #4
    Utente di HTML.it L'avatar di vic53
    Registrato dal
    Oct 2010
    residenza
    Fonte Nuova (Roma)
    Messaggi
    592
    ...scusa leva gli apici nella copia e incolla non mi ero accorto di aver messo gli apici

    ...where left(destinatari," & len(idutente)&") = " & idutente & " order by ..
    quella è la variabile idutente che contiene i valore del campo ...

    ciao
    Vic53

  5. #5
    codice:
    Sql = "select * from bacheca where (','+destinatari+',') LIKE '%," & idutente & ",%' order by id desc"
    attenzione agli spazi tra gli elementi

  6. #6
    ciao! e grazie del supporto.
    Optime grazie, ma
    c'è sempre qualche messaggio che non si vede. per esempio l'idutente 6 non si vede in questa serie:

    1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15

    ne in quest'altra

    2, 3, 4, 6, 7

    perchè?

  7. #7
    premetto che stò usando access

  8. #8
    Optime,

    ho risolto così:

    codice:
    "select top 5 * from bacheca where (','+destinatari+',') LIKE '%" & idutente & ",%' order by id desc"

  9. #9

  10. #10
    Un campo di data-base che contiene un array di valori non rispetta la prima forma normale

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 © 2025 vBulletin Solutions, Inc. All rights reserved.