Newsgroup: it.comp.lang.visual-basic
Titolo: Ricerca di un nome utilizzando Like

Stò cercando di estrarre un nome dal databese inserendo nella text solo una
lettera
pultroppo la sintassi che uso non è corretta potete aiutarmi?
grazie
lef = testnome
 var = "nome like ' " & lef & "'"
Set miorec = miodb.OpenRecordset("select nome from rubrica where nome like
'" & var & "'")
--------------------------------
Inviato via 
http://usenet.libero.it


credo che ti manchi il carattere jolly nella stringa...
ovvero:
Set miorec = miodb.OpenRecordset("select nome from rubrica where nome like
'" & var & "'%'")
attento ad apici singoli e doppi
bye BlackMagic

 attento ad apici singoli e doppi
Senza offesa, ma tu dovresti fare attenzione alla libreria....(che per altro
non è esplicitamente indicata, ma pare che sia inutile attendersi queste
finezze da bob29)
Salutoni
Sergio

 ha scritto nel messaggio
news:UmQq9.4623$o7.2...@news2.tin.it...

intendi dire se usa ADO o DAO vero?
hai ragione non ci ho fatto caso :((
sembra che usi DAO, comunque il suggerimento del
carattere jolly resta valido.
per bob29 se usi DAO il carattere jolly
che ti serve è * con ADO è %
bye BlackMagic

 La libreria è indicata ma non va la sintassi
   lef = testnome
   var = "nome like ' " & lef & "'"
   Data1.Recordset.FindFirst (var)
   Set miorec = miodb.OpenRecordset("select nome from rubrica where nome like
'" & var & "'%'")
 
   If miorec.EOF Then
      MsgBox ("Nome non presente in elenco")
      frmesegrub.Show
      Text1.Text = ""
      Text1.SetFocus
   Else
 
      frmriep.Show
 
 
   End If


    End If
e dove, di grazia?

 eccola guarda se vedi dove sbaglio !!! Grazie da bob29
If testnome <> "" Then
   Set miodb = OpenDatabase("C:\Corso VB6\dbrubrica97.mdb")
   lef = testnome
   var = "nome like ' " & lef & "'"
   Data1.Recordset.FindFirst (var)
   Set miorec = miodb.OpenRecordset("select nome from rubrica where nome like
'" & var & "'*'")


 '" & var & "'")
A parte mancare il carattere jolly (e qui ti vai a vedere nell'help quello
che serve per il tuo DAO), non capisco perchè inserisci due volte il LIKE.
Se sviluppi la stringa di apertura recordset (che è la prima cosa da fare
quando ci sono problemi di sintassi SQL: Copia ed incolla in una finestra
query di Access o nel Query Analyzer per MSDE e Sql-Server), ottieni:
select nome from rubrica where nome like 'nome like ' pippo''
Non capisco sinceramente che senso abbia in SQL.
Ciao
Alberto

 '" & var & "'")
forse e' sufficiente:
togliere lo spazio nella variabile <var> fra <like '> e il doppio apice
successivo, quindi
Set miorec = miodb.OpenRecordset("select nome from rubrica where " & var)
beppe


cosě come č scritta la tua stinga diventa:
"select nome from rubrica where nome like nome like testnome*"
hai due volte nome like...
prova a modificarla cosě:
var= lef & "*"
Set miorec = miodb.OpenRecordset("select nome from rubrica where nome like
'" & var & "'")
--
bye BlackMagic
ICQ#:85485468

riprendiamo le fila del discorso....
[bob29]
(snip)
lef = testnome
 var = "nome like ' " & lef & "'"
Set miorec = miodb.OpenRecordset("select nome from rubrica where nome like
'" & var & "'")
Nota: vedi messaggio di albe V° per una importante sottolineatura!
[BlackMagic]
credo che ti manchi il carattere jolly nella stringa...
ovvero:
Set miorec = miodb.OpenRecordset("select nome from rubrica where nome like
'" & var & "'%'")
attento ad apici singoli e doppi
[cssoft]
Senza offesa, ma tu (ndt: BlackMagic) dovresti fare attenzione alla
libreria....(che per altro
non è esplicitamente indicata, ma pare che sia inutile attendersi queste
finezze da bob29)
Salutoni
Sergio
[bob29]
La libreria è indicata ma non va la sintassi
   lef = testnome
   var = "nome like ' " & lef & "'"
   Data1.Recordset.FindFirst (var)
   Set miorec = miodb.OpenRecordset("select nome from rubrica where nome
like
'" & var & "'%'")
Allora: per libreria si intende quale tecnica si utilizza per collegarsi ai
database, non le singole istruzioni. Le istruzioni da te utilizzate sono
quelle della libreria DAO, ma il fatto di non citarlo esplicitamente ha
indotto BlackMagic in errore, perché per DAO il carattere jolli è "*",
mentre per ADO è "%", da mettere all'inizio della stringa, o alla fine
oppure ancore in entrambe le posizioni, a seconda del comportamento che si
desidera.
Ripeto il consiglio di leggere il post di Albe V° riguardo alla segnalazione
di un errore macroscopico (ma che comunque non avevo notato, accipicchia!!)
Salutoni
Sergio

[Minarelli Giuseppe]
(snip)
Anche a te, senza offesa, vorrei segnalare di rileggere un po più
attentamente il post che hai inviato: sei proprio sicuro di quello che dici?
(non mi riferisco alle battute, of course)
Salutoni
Sergio

GRazie a tutti



anche a te
beppe

 Partendo da quello che era il quesito iniziale, e senza pormi il problema
il messaggio iniziale diceva:
[bob29]
Stò cercando di estrarre un nome dal databese inserendo nella text solo una
lettera
io l'ho interpretato come:
"Voglio estrarre da una tabella tutti i record che iniziano per (o finiscono
con, o contengono) un determinato carattere"
ed in questo senso il problema non mi pare risolvibile senza utilizzare LIKE
e i caratteri jolli (o jolly, non ricordo mai...)
e da qui la mia segnalazione
Salutoni
Sergio