![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
|
Filtro Numerico y String con Like y ADO me Urge!!! por favor :(
Hola que tal buenas tardes de nuevo, regreso con un problema que ya habia dejado en paz, pero que despues de todo no quiero dejar pasar desapercibido, lo que he intentado hacer de todos los modos posibles y que no me ha dado resultado es hacer una busqueda filltrando en un TAdoquery un numero y un string, lo que intento es que me muestre los datos en un DataGrid que sean similares entre si, y utilizo el like filtrando.
con los Strings no tengo ni un problema, puedo filtrar atraves de mas de un campo, pero cuando intento filtrar agregando un dato entero me sale un error, por no decirlo horror xD ya que le he intentado de todas las formas posibles, tengo apenas unos 3 meses aprendiendo el lenguaje y esta parte en verdad que si la requiero, el mensaje de error que arroja es el siguiente: No se encontro el elemento en la coleccion que corresponde al nombre o el ordinal solicitado. y la busqueda la hago de esta manera:
se que el problema esta por que intento filtrar un dato numerico junto con otros strings, pero eso es lo que quiero y ya busque por todas partes y no se como puedo llegar a solucionar este problema, me falta ese pequenio de detalle les agradeceria que si ustedes saber como puedo resolverlo me dijeron, y de antemano muchas gracias. como decia anteriormente, el problema es que trato de filtrar un campo numerico, atraves de un Adoquery, usando LIKE, pero lo que intento hacer es hacer una busqueda por varios campos, el primero es numerico, los demas son strings, espero alguien me pueda ayudar, y muchas gracias de antemano. ya intente cambiar esta parte por '%', ya intente quitar el QuotedStr y dejarlo asi se que esa parte se sintaxis esta mal, pero de todos modos quitandola no me lo resuelve, lo dejo asi y tampoco resulta ![]() ![]() |
|
#2
|
|||
|
|||
|
Disculpen la molestia, solo una aclaracion, no es ADOQuery por donde Filtro ya que no pongo ningun query, es por medio del Filtro de un ADOTABLE, disculpen mi error, pero y de todas formas mi error sigue, ya que no encuentro la forma de solucionar el problema.
|
|
#3
|
||||
|
||||
|
Hola
El concepto no parece complicado. Aparte de que no tienes separacion entre parentesis entre el primer like el or y el segundo like, me parece que podrias evitarte disgustos usando variables ya que el filtro con table me parece que no acepta parametros. Saludos
__________________
Siempre Novato |
|
#4
|
|||
|
|||
|
Holas que tal Caral, pues entiendo mas o menos lo que dices, pero que tipos de variables, ya que no entiendo bien la parte de como o en donde ponerlas, si fueras un poco mas concreta me alegrarias la noche
de antemano gracias por tomarte la molestia de responder a mi pregunta, y si es que tienes un ejemplo seria de gran utilidad, gracias |
|
#5
|
||||
|
||||
|
Hola
Saludos
__________________
Siempre Novato |
|
#6
|
|||
|
|||
|
Caral disculpa la molestia de nuevo, pero asi como esta el codigo, di copy-paste sin exagerar, y me dice tipos imcompatibles: 'string' and 'integer' marcandome la variable
+Tiq+ no pongo el codigo, ya que como te digo es el mismo, lo copie y pegue, para evitar errores de dedo xD, y te repito me marca ese error, el cual ya antes me habia salido, pero sin usar variables y solo poner edtbuscar.text, que vendria siendo algo parecido, no se si tengas alguna idea del problema o como solucionarlo. gracias |
|
#7
|
||||
|
||||
|
Hola
No esperes mucho de este novato. ![]() Saludos
__________________
Siempre Novato |
|
#8
|
|||
|
|||
|
Muchisimas Gracias por tu ayuda Caral, pero tengo malas noticias, me sale un error ya familiar al hacer esto:
Argumentos Incorrectos, fuera del intervalo permitido o en conflicto con otros. este error era otro de los que salian anteriormente, y no entiendo por que, una cosa mas, al convertir intTostr(Tiq), no seria necesario poner Tiq:= StrToInt(edtBuscar.Text); ya que el primero lo pasa de Entero a String, y Despues lo convierto de String a Integer, por lo cual quitando la variable y dejandolo como edtbuscar.text seria suficiente, por que estaria regresando al origen del tipo variable, bueno es una pequenia observacion que no tiene mucho que ver, solo para ahorrar codigo, :S:S:S pero de todos modos el problema persiste gracias por la ayuda, y espero poder solucionarlo o si alguien del foro pudiera echarnos la mano xD por que no entiendo el problema. |
|
#9
|
|||
|
|||
|
Al parecer a nadie le ha salido este error, o acaso nadie ha heco un tipo de consulta de este tipo??? solo pregunto por que el ultimo post fue del error que tengo y no he podido resolverlo, espero alguien pueda decirme o ayudarme en esto, por que como decia con un campo numerico junto con un string no me genera la busqueda
espero aun alguna sugerencia, gracias |
|
#10
|
||||
|
||||
|
Porque no mejor usas la funcion Format
const FILTRO = '(TicketID) LIKE "*%d*") OR (Usuario) LIKE ("*%s*")'; var sCad:string; if edtBuscar.Text<> '' then begin with ADOTableTicket do begin Close; Filtered:= False; sCad := Format(FILTRO, [Tiq, usu]); Filter:= sCad; Filtered:= True; Open; end end
__________________
OEsqueda |
|
#11
|
||||
|
||||
|
Creo que lo mejor es que usaras parametros o rehacer la consulta SQL porque a final de cuentas estas cerrando y abriendo el Dataset
__________________
OEsqueda |
|
#12
|
||||
|
||||
|
Perdon puse dobel comilla en vez de una:
const FILTRO = '(TicketID) LIKE ''*%d*'') OR (Usuario) LIKE (''*%s*'')'; var sCad:string; if edtBuscar.Text<> '' then with ADOTableTicket do begin Close; Filtered:= False; sCad := Format(FILTRO, [Tiq, usu]); Filter:= sCad; Filtered:= True; Open; end
__________________
OEsqueda |
|
#13
|
||||
|
||||
|
Recuerden usar las etiquetas para código:
![]() .
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#14
|
|||
|
|||
|
Hola que tal muchisimas gracias por ayudarme
, pero el problema persiste, me sale el mismo errorArgumentos Incorrectos, fuera del intervalo permitido o en conflicto con otros. y enserio no entiendo ni por que, ya he hecho muchos cambios y nada, le he intentad de todas formas y nada, por cierto, solo cambie una pequenia parte al codigo que me enviaste, quite el Open, y lo deje como Active:= True; lo mismo con Close;. pero de todas formas ni haciendo eso me lo resolvio. intente tal y como me lo enviaste y nada, se agradece mucho la ayuda enserio, solo que el problema persiste como decia ![]() Asi queda el codigo y nada ![]()
Última edición por Casimiro Noteví fecha: 08-06-2011 a las 22:08:38. Razón: Cambiar [quote] por [delphi] |
|
#15
|
|||
|
|||
|
oesqueda, cierto estaba mal yo :S:S:S deje el open y el close, tal y como lo tienes tu y funciona perfectamente, muchisimas gracias!!! enserio, ya termine las partes que me estaba haciendo quebrar la cabeza xDDDD jajaja gracias y saludos
))))))))))))))))) |
|
#16
|
|||
|
|||
|
Negativo
por algun detalle o algo volvio a salir error Argumentos Incorrectos, fuera del intervalo permitido o en conflicto con otros. y no entiendo por que, pense que todo iba bien pero al correo de nuevo el programa me volvio a generar el mismo problema, :S:S:S y no entiendo por que, enserio no se que show con esto de verdad , espero alguien me pueda ayudar con esto por favor!!! ![]() |
|
#17
|
||||
|
||||
|
Hola
Me parece que esta algo mas complicado de la cuenta, mucho codigo para un filtro, pero intenta asi: Es un adotable, si no esta activo no reconoce el filtro, me da la impresion. Saludos
__________________
Siempre Novato |
|
#18
|
|||
|
|||
|
Caral Gracias por retomar el tema, y enserio que mala onda, que aun no se pueda, intente como me dices en el mensaje, solo quite los Active:=False; y Active:=True;. y no tampoco con eso se pudo
ya no se que hacer enserio!!!! de plano al parecer no se puede hacer un filtro en delphi, con ADO numeriro y string??? muchas gracias por tomarse las molestias pero aun asi de plano no puedo aun ![]() |
|
#19
|
||||
|
||||
|
Hola
Que base de datos usas?. Saludos
__________________
Siempre Novato |
|
#20
|
|||
|
|||
|
Sql Server 2005
|
![]() |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Como calcular el resto de dividir un string numerico | veronica | Varios | 3 | 26-09-2005 13:35:18 |
| Ayuda por favor... Urge..!! | manuel Suarez | MS SQL Server | 2 | 22-07-2005 23:15:27 |
| Relacion campo numérico vs campo string | JorgeBec | Varios | 1 | 11-04-2005 18:26:51 |
| Me Urge Un Programador | ADRIAN_2004 | API de Windows | 1 | 27-10-2004 19:38:51 |
| urge. apagar windows XP | mrmanuel | API de Windows | 3 | 06-09-2003 05:09:24 |
|