Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1

    [SQL] Funzione InStr su più campi, un aiuto..

    Salve.. ho un piccolo problema. devo fare la ricerca in un db access sull'indirizzo di un cliente. ora questo è diviso in più campi, nome, via, ecc.. io avevo pensato alla funzione instr ma come faccio con 1 sola query a farla cercare su più campi insieme? ho provato a legare i campi in tanti modi, con OR, virgola, con +.. ma niente.. chi mi sa aiutare?

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Invia un esempio di quello che hai fatto ...

  3. #3
    Ecco qui la query, se serve spiegare qualcosa ditemi. in pratica inserendo in input una qualsiasi parte dell'indirizzo deve effettuare ricerca. solo che l'indirizzo è diviso in più campi.
    oppure c'è una query che riesci a unire più campi di testo in uno solo? mi farebbe comodo anche per altro..



    SELECT Vendita.[ID utente], Vendita.[Email acquirente], Vendita.[Data di vendita], Vendita.[Numero dell'oggetto], Prodotti.[Nome prodotto], Vendita.Quantità, Vendita.[Data pagamento], Vendita.[Data spedizione], Vendita.[In fase di spedizione], Vendita.[Nome e cognome dell'acquirente], Vendita.[Indirizzo dell'acquirente (prima riga)], Vendita.[Indirizzo dell'acquirente (seconda riga)], Vendita.[Città dell'acquirente], Vendita.[Provincia dell'acquirente], Vendita.[CAP dell'acquirente], Vendita.[Memo per uso personale]
    FROM Prodotti INNER JOIN Vendita ON Prodotti.Codice=Vendita.[Titolo inserzione]
    WHERE (((InStr((Vendita.[Nome e cognome dell'acquirente])+(Vendita.[Indirizzo dell'acquirente (prima riga)])+(Vendita.[Indirizzo dell'acquirente (seconda riga)])+(Vendita.[Città dell'acquirente])+(Vendita.[Provincia dell'acquirente])+(Vendita.[CAP dell'acquirente])+(Vendita.[Paese dell'acquirente]),[Input dati]))>=1));

  4. #4
    nessuno sa darmi una mano?

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Tra tutti i campi elencati puoi isolare quelli che ti servono e fare un esempio pratico di una ricerca ...?

  6. #6
    SELECT Vendita.[ID utente],Vendita.[Nome e cognome], Vendita.[Indirizzo dell'acquirente]
    FROM Prodotti INNER JOIN Vendita ON Prodotti.Codice=Vendita.[Titolo inserzione]
    WHERE (((InStr((Vendita.[Nome e cognome])+(Vendita.[Indirizzo dell'acquirente])]),[Input dati]))>=1));

    così dovrebbe andare credo.
    devo fare la ricerca in più campi, qui ne ho messi 2 ma credo sia indifferente 2 o più, qui ho messo Vendita.[Nome e cognome] e Vendita.[Indirizzo dell'acquirente].
    con instr come li indico tutte e 2 i campi?

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Troppe parentesi ...

    WHERE InStr([Nome e cognome]+[Indirizzo dell'acquirente] , [Input dati])>1

  8. #8
    oregon, va meglio. ma ci deve essere qualche altro problema..
    complicando la query con più campi, ovvero così:

    SELECT [ID utente], [Nome completo dell'acquirente], [Città dell'acquirente], [Indirizzo dell'acquirente 1], [Indirizzo dell'acquirente 2], [Provincia dell'acquirente]
    FROM Vendita
    WHERE (((InStr([Nome completo dell'acquirente]+[Città dell'acquirente]+[Indirizzo dell'acquirente 1]+[Indirizzo dell'acquirente 2],[Input dati]))>=1));

    ps: le parentesi in più le mette accessautomaticamente.
    cmq questa non mi da il risultato. in pratica, su alcuni record fa la ricerca su tutti i campi. su altri record, fa la ricerca solo su 1 o 2 campi. perchè?

    se invece faccio così:
    SELECT [ID utente], [Nome completo dell'acquirente], [Città dell'acquirente], [Indirizzo dell'acquirente 1], [Indirizzo dell'acquirente 2], [Provincia dell'acquirente]
    FROM Vendita
    WHERE (((InStr([Nome completo dell'acquirente]+[Città dell'acquirente]+[Indirizzo dell'acquirente 1,[Input dati]))>=1));

    funziona, basta che aggiungo 1 altro campo nella instr e non va.. non so prprio che prove fare più, le ho fatte tutte

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Mi fai un esempio con dei dati ?

  10. #10
    ok, i campi sono:ID utente, Nome completo dell'acquirente, Indirizzo dell'acquirente 1, Indirizzo dell'acquirente 2 e Città dell'acquirente.
    Ho inserito alcuni record come questi:

    silviexx, TOxxxxxI MASSIMO, HOTEL xxEX, VIA GIROLAMO GIGLI 5, SIENA

    xxxxxxcod8826, xxxxxexxo De xxxna, via xxxxzia n.10, xxglie

    xxxa_89, Alessandro xxxri, mxxxxxne 58, , xiraxxxx

    frxxxx9, Maria Maxxxi, via mxxxxo 4, , xxx

    dove c'è spazio vuoto è campo vuoto. ho messo delle x perchè sono dati reali, spero vadano cmq bene.. ma come può succedere questo? cioè se effettua la ricerca perchè su alcuni si e altri no?

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.