Consulta SQL InList

437 views
Skip to first unread message

orlin

unread,
Dec 21, 2010, 4:36:54 PM12/21/10
to Comunidad de Visual Foxpro en Español
Hola,
gracias por sus aportes pero ya intente y no me funciona

voy a expresarme mejor.

Ej. Tengo un texbox en el que agrego los valores:
texbox.value="3395,3396,3398,3399,3400,3410,3415"
lcRegistros=Alltrim(Thisform.txtTexbox.value)

la Consulta.

Select * From miTabla Where Inlist(Numero,lcRegistros) into cursor
cTemp

Si Ingreso solo un Numero ej: 3395 me lo muestra, pero si ingrso mas
de uno ej: 3395,3396
no me muestra nada.

Gracias.

Miguel Canchas

unread,
Dec 21, 2010, 4:39:58 PM12/21/10
to Comunidad de Visual Foxpro en Español
Select * From miTabla Where Inlist(Numero,&lcRegistros) into cursor

-----Mensaje original-----
De: publice...@googlegroups.com [mailto:publice...@googlegroups.com] En nombre de orlin
Enviado el: martes, 21 de diciembre de 2010 16:37
Para: Comunidad de Visual Foxpro en Español
Asunto: [vfp] Consulta SQL InList

Hugo C.

unread,
Dec 21, 2010, 5:50:14 PM12/21/10
to Comunidad de Visual Foxpro en Español
y si tecleas:
"3395","3396","3398","3399","3400","3410","3415"

Saludos

Antonio.xt

unread,
Dec 22, 2010, 10:58:51 AM12/22/10
to Comunidad de Visual Foxpro en Español

Hola orlin, lo que pasa es que el texto donde capturas los numeros los
toma como un solo valor, la consulta que debes hacer es la siguiente:

Select * From miTabla Where ALLTRIM(STR(miTabla.numero)) $ lcRegistros
into cursor cTemp

Saludos !!

Antonio Moreno
Monterrey, Mexico

sip...@gmail.com

unread,
Dec 24, 2010, 10:48:33 AM12/24/10
to publice...@googlegroups.com
Hola o tambien puedes usar like de sql

Select * From miTabla Where Numero like "%"+lcRegistros+"%" into cursor
cTemp

O si lo que quieres es dale opcion al usuario de que indique varioas palabras debes separar cada palabra y cargarla en una variable evaluendo el numero de palabras del string y tomando en tu caso la coma(,) el separador de cada palabra
Saludos espero te ayude
Pd: no puedes hacer esto y evaluarla con la funcion inlist()
texbox.value="3395,3396,3398,3399,3400,3410,3415"

Al menos que el usuario lo haga de esta forma:
texbox.value=" '3395','3396','3398','3399',''3400','3410','3415'"
Despues si podrias lanzar tu consulta como la plasmates.
Select * From miTabla Where Inlist(Numero,&lcRegistros) into cursor
cTemp


pero eso seria depender del usuario de que abra y cierre con comilla cada palabra a buscar

Saludos espero sea de tu ayuda




Enviado desde mi BlackBerry de Movistar

Miguel Canchas

unread,
Dec 24, 2010, 10:58:24 AM12/24/10
to publice...@googlegroups.com
Y que tal si haces esto :

CADENA = "3395,3396,3398,3399,3400,3410,3415"

cadena = "' " + STRTRAN(cadena, ",", "' , '") + "'"

resultado =" '3395','3396','3398','3399',''3400','3410','3415'"

jejejejejeje

asi ya puedes hacer tus consultas....

MK

-----Mensaje original-----
De: publice...@googlegroups.com [mailto:publice...@googlegroups.com] En nombre de sip...@gmail.com
Enviado el: viernes, 24 de diciembre de 2010 10:49
Para: publice...@googlegroups.com
Asunto: Re: [vfp] Consulta SQL InList

Reply all
Reply to author
Forward
0 new messages