![]() |
Filtrar BD
Hola amigos.
Tengo un problema con una aplicacion que estoy haciendo. El programa utiliza dos bases de datos. Necesito acceder a un dato de la primera base de datos y que filtre la segunda a partir de ese dato, por ejemplo para que quede mas claro: tengo guardada la clasificacion de futbol de la semana pasada y quiero compararla con la de esta semana para ver como han cambiado. Necesito acceder al primer dato de la casificacion de la semana pasada y compararlo con la otra base de datos para ver en que puesto va, luego cojo el segundo dato y ago lo mismo, luego el tercero y asi puedo ver quien sube, baja.... Bueno no se si sera un poco lioso pero estoy seguro de que me podran ayudar. muchas gracias. |
Me he vuelto un espaguetis leyendo:D.
Podrias usar IN en una consulta SQL, por Ej Solo una idea. |
ya pero no utilizo sql. Las bases de datos don tablas importadas desde excel.
he estado mirando y ai una forma k seria Table1.locate(equipo, nombreequipo, [locaseinsensitive]) pero cuando lo compilo el locaseinsensitive no me lo reconoce. |
Saludos
Cita:
Yo supongo que el tratamiento de Excel "importada" con un Ttable es similar a Paradox,...Incluso, creo que podrias usar un Tquery y asi usar SQL. Te da error?
(*) Nunca me he visto en la necesidad de importar nada de Excel, asi que mis conocimientos sobre el tema son limitados. |
Añade:
En esa unidad estan definidas el tipo de datos TlocateOptions. No sé si te valdrá, ya que en principio, deberías tenerla añadida a tu "uses". Saludos. |
ya esta solucionado, era lo k decias vtdeleon, usando el locate, el locaseinsensitive no me lo reconocia pero lo e kitado ya k buske lo que era y no me acia falta. Pero ahora tengo otro problema xDD cosas de ser novato xD.
Necesito recorrer la tabla secuencialmente y uso esto For y:=0 to Form1.Table1.RecordCount-1 do For x:=0 to Form1.Table1.FieldCount-1 do listbox1.Items.Add(Form1.Table1.Fields[x].asstring); pero de esta forma lo que consigo es por ejemplo, si tengo los datos de dos ekipos, que me muestre los datos del primer equipo tantas veces como equipos ai y yo necesito que me los pase todos los datos de todos los ekipos. Un saludo. |
Sencillo, [loCaseInsensitive,loPartialKey]. o si lo prefieres [loCaseInsensitive,0] pero te diré que te lo reconocerá si pones un objeto Table en el formulario, desde el que estás poniendo este código.
Espero haberte ayudado. |
Lo simple es hacer una consulta (TQuery) con la clausula distinct:
Ahora ya sabes que no tendrás repetidos, además la consulta tendrá menos registros que la tabla (precisamente porque elimina los repetidos). La otra opción, es hacerlo así: (que conste que no me gusta, ya que se tiene que comparar cada registro con todos los anteriores)
Mira la ayuda de DisableControls y de BeginUpdate, sin duda, realizará la tarea mucho más rápido. Saludos |
Ya esta, gracias a todos por vuestra ayuda. El algoritmo ese me vale bien, ya que ahora mismo no me importa mucho la rapidez con la que se ejecute.
Muchas gracias otra vez, no obstante dentro de poco me tendreis aqui otra vez preguntando seguro!!! Xaooo |
La franja horaria es GMT +2. Ahora son las 02:30:07. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi