Discussione:
query parametrica con Sql
(troppo vecchio per rispondere)
mattia
2003-08-30 10:58:41 UTC
Permalink
salve a tutti vorrei creare una query di selezione in Sql del tipo
select * from anagrafica where cognome=?

ove mettendo anche parzialmente le iniziali del cognome mi restituisca
tutti i cognomi che iniziano per quei caratteri iniziali( es se il
parametro è Ro debba restituire Rossi, romano, ecc ecc)
così come ho fatto io se non inserisco il nome esatto la query risulta
vuota e mi restituisce un messaggiodi errore.
mi dite dov'è che sbaglio???
dimenticavo uso Vb 6 e access 2000
grazie per l'aiuto
Softimax
2003-08-30 11:56:54 UTC
Permalink
Dalla guida "Riferimento SQL"



Operatore Like

Sintassi

espressione Like "criteriodiricerca"

La sintassi dell'operatore Like è composta dalle parti descritte di seguito.

Parte Descrizione
espressione Espressione SQL utilizzata in una proposizione WHERE.
criteriodiricerca Stringa o carattere visualizzato con il quale viene
confrontata espressione.
Osservazioni

È possibile utilizzare l'operatore Like per ricercare in un campo di valori
che corrispondono al criterio di ricerca specificato. Per criteriodiricerca
è possibile specificare il valore completo come, ad esempio, Like "Rossi"
oppure si possono utilizzare i caratteri jolly per ricercare un intervallo
di valori come, ad esempio, Like "Ro*".
In un'espressione, è possibile utilizzare l'operatore Like per confrontare
un valore di campo con un'espressione stringa. Se, ad esempio, si immette
Like "C*" in una query SQL, essa restituirà tutti i valori di campo che
iniziano con la lettera C. In una query con parametri, è possibile
richiedere all'utente di specificare un criterio di ricerca.

Nell'esempio seguente vengono restituiti i dati che iniziano con la lettera
P seguita da qualsiasi lettera compresa tra A e F e tre cifre:

Like "P[A-F]###"
Post by mattia
salve a tutti vorrei creare una query di selezione in Sql del tipo
select * from anagrafica where cognome=?
ove mettendo anche parzialmente le iniziali del cognome mi restituisca
tutti i cognomi che iniziano per quei caratteri iniziali( es se il
parametro è Ro debba restituire Rossi, romano, ecc ecc)
così come ho fatto io se non inserisco il nome esatto la query risulta
vuota e mi restituisce un messaggiodi errore.
mi dite dov'è che sbaglio???
dimenticavo uso Vb 6 e access 2000
grazie per l'aiuto
Andrea Moro
2003-08-30 13:16:43 UTC
Permalink
Dubito che l'help in linea di access possa tornargli utile per vb6.
Concettualemnte il discorso è quello, solo che in sql ansi 92
il campo jolly è il %.

Aiutare si, ma almeno aiuta bene.

Saluti
Andrea
Softimax
2003-08-30 17:38:44 UTC
Permalink
Post by Andrea Moro
Dubito che l'help in linea di access possa tornargli utile per vb6.
Veramente è la guida di VB6...
Ciao
Post by Andrea Moro
Concettualemnte il discorso è quello, solo che in sql ansi 92
il campo jolly è il %.
Aiutare si, ma almeno aiuta bene.
Saluti
Andrea
mattia
2003-09-01 10:03:48 UTC
Permalink
Post by Softimax
Post by Andrea Moro
Dubito che l'help in linea di access possa tornargli utile per vb6.
Veramente è la guida di VB6...
Ciao
Post by Andrea Moro
Concettualemnte il discorso è quello, solo che in sql ansi 92
il campo jolly è il %.
Aiutare si, ma almeno aiuta bene.
Saluti
Andrea
grazie ad entrambi per l'intervento.
dimenticavo di dirvi che il criterio dovrà essere impostato tramite
una casella di testo.
Quindi se ho ben capito la sintassi della query dovrebbe essere
del tipo :
select * from tabella where cognome Like text1.text" & %

in effetti la difficoltà per mè è proprio questa.
grazie di nuovo
Ugo Mangini
2003-09-01 11:34:33 UTC
Permalink
Post by mattia
select * from tabella where cognome Like text1.text" & %
"select * from tabella where cognome Like'" & trim(text1.text) & "'%"

...si chiama "concatenazione di stringhe"... notare gli apicini... ;-)

ciao
ugo
CSSoft
2003-09-01 11:40:51 UTC
Permalink
Post by Ugo Mangini
"select * from tabella where cognome Like'" & trim(text1.text) & "'%"
proporrei di spostare il segno percentuale alla sinistra dell'apicino ;-)


--
Salutoni
Sergio
Ugo Mangini
2003-09-01 11:44:14 UTC
Permalink
Post by CSSoft
Post by Ugo Mangini
"select * from tabella where cognome Like'" & trim(text1.text) & "'%"
proporrei di spostare il segno percentuale alla sinistra dell'apicino ;-)
...mozione accolta! ;)

ciao
ugo
mattia
2003-09-02 13:56:25 UTC
Permalink
Post by Ugo Mangini
Post by CSSoft
Post by Ugo Mangini
"select * from tabella where cognome Like'" & trim(text1.text) & "'%"
proporrei di spostare il segno percentuale alla sinistra dell'apicino ;-)
...mozione accolta! ;)
ciao
ugo
ho seguito alla lettere i vostri consigli ed è tutto ok.
grazie ancora per l'aiuto.

Loading...