Newsgroup: it.comp.lang.visual-basic
Titolo: probelma con stringa sql

Ciao a tutti
ho questo problema con una stringa sql
io voglio ( anzi vorrei ) far  inserire 2 lettere  in due text box diverse
, e la stringa sql mi deve ritornare tutti i record compresi fra quei 2
campi
esempio:
se l'utente inserisce la lettera 'a' e la lettera 'c' mi deve restituire
tutti i codici dalla lettera a alla lettera c , e se non ci sono codici con
la lettera c fino all'ultimo della lettera b ! :( ! come posso fare ? grazie
a tutti

Rwen wrote:

select xx from tabella where campo >='a' and campo <='c'
oppure:
select.... where campo between (a and c) (non sono molto sicuro di questa
sintassi)
attento al dialetto sql:
nell'esempio uso singolo apice per delimitare le stringhe ma potresti dover
lavorare in modo diverso.
ricorda che, se usi il VB devi passare le stringhe con il doppio apice, ma
queste devono contenere il separatore corretto per l'sql.
esempio: se devi passare 
where campo > variabileStringa;
devi utilizzare:
"where campo > '" & variabilestringa & "';"
ciao
-- 
eliminare FASULLO per rispondere direttamente

 select xx from tabella where campo >='a' and campo <='c'
Il problema è che 'cxxx' è maggiore di 'c' e io penso che Rwen abbia bisogno
di tutti quei codici che inizino con 'c'.
Bisogna quindi adattare la select in questo modo:
Select xx From tabella Where campo >= 'a' And Left(campo, 1) <= 'c'
-- 
Esteban
www.seber.it
Questo post è stato scritto con bit riciclati.

 
...anche.


>> ci sono codici con la lettera c fino all'ultimo della lettera b ! :(
Va bene >='a' and <='c'
'c...' (con ... che vale qualunque cosa) è escluso, salvo riformulare la
richiesta :-P


ma se io non conosco a priori la lettera inserita, qual'è la funzione vb che
mi permette di sapere qual'è la lettera successiva a quella inserita ?
Grazie


Dopo aver verificato che il textbox non sia vuoto:
chr$(asc(Left$(Text_Limite_Sup.Text,1))+1)
Ciao
Alberto

[Rwen = 
circ...@xxx.com
 in c2pqck$5dp$
1...@newsreader.mailgate.org
] ha
scritto:

Ma, insomma, se scrivi:
"se l'utente inserisce la lettera 'a' e la lettera 'c' mi deve restituire
tutti i codici dalla lettera a alla lettera c"
come pensi di spiegarlo nell'help?
Il primo textbox indica il minimo compreso, il secondo il mimite massimo,
anch'esso compreso.
Lo capirà ogni tipo di operatore, funziona così anche la consultazione del
vocavolario.
Se proprio vuole anche quelli che iniziano con 'c' (e non solo quelli
<='c'), sarà lui a scrivere "czzzzzz" nel secondo textbox, no?!

 consultazione del vocavolario.
Stavolta, caro Lupo, sono in disaccordo.
Se un operatore vuole, che so, tutti gli iscritti ad un corso fra la lettera
A e la lettera C, intende Alberto, Beppe e CSSoft.
Guardare solo la prima lettera del campo, o 'spostare' di una posizione la
lettera limite, è una buona soluzione.
Ciao
Alberto

 posizione la lettera limite, è una buona soluzione.
Certo, a condizione che le modalità operative siano chiare.
Personalmente i campi limite li impongo sempre come da/a.
Come fai da A a CA senza includere CABERNET?
Se l'help deve anche dire "quanto sopra vale solo per l'iniziale"... si
spende di più a scrivere 'help che il programma :-P


Rwen parla di "codici con la lettera c" ed aggiunge "se non ci sono codici
con la lettera c fino all'ultimo della lettera b".
La richiesta è stata formulata correttamente, piuttosto, visto che sia io
che Paolo la abbiamo capita, direi caro Lupo che non l'hai letta con
attenzione.


 letta con attenzione.
Mah, dire da 'a' a 'c' non impedisce di ottenere quelli che iniziano con 'a'
e quelli che terminano a 'c' e se di questi ultimi non ve ne sono (uno solo,
esattamente = 'c') verranno comunque fuori quelli che arrivano sino a
'bzzzzz...zzzz'
Direi, caro Esteban, che, specialmente se traduciamo quanto detto in VB, ho
ragione io.
Nel dubbio ho riletto adesso e con pari attenzione. Resto della mia idea.
Probabilmente ho letto con disattenzione anche ora...
Diverso il discorso che si faceva con Albe, puramente operativo. Io posso
dire al mio operatore "guarda che indicando da 'a' a 'c' verranno fuori
anche tutti quelli che iniziano con 'c' e che continuano con qualsiasi
cosa", ma questo, perfettamentente lecito, non è mai stato scritto da Rwen,
solo ipotizzato (da te per primo) dal punto di vista operativo.
Ripeto: Se dico da 'a' a 'ca' come faccio ad escludere 'cabernet'?