![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
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
|
||||
|
||||
|
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 |
|
#8
|
||||
|
||||
|
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 |
|
#9
|
||||
|
||||
|
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 |
|
#10
|
||||
|
||||
|
Recuerden usar las etiquetas para código:
![]() .
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#11
|
|||
|
|||
|
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] |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
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 |
|