![]() |
Busqueda de datos en dos bases distintas
Hola a todos.
Uso FB 1.5 y D6 A ver si me explico bien con el problema que tengo: Tengo dos datamodules en la aplicacion, uno con los datos de la base general y otro con las fotos, imagenes, etc. (lo hice así por un tema de peso) Pues bien necesitaría armar una consulta mas o menos así:
para que me devuelva todos los registro de datamodule1.tabla1 que no tengan foto en datamodule2.tabla1 Gracias Josep |
Hola Josep.
No se puede. Tienes que actualizarte a Firebird 2.5, con esa versión sí que se puede realizar algo de este estilo (los EXECUTE STATEMENT se pueden desviar a distintas bases de datos). Con Firebird 1.5 no tienes más remedio que hacer el cálculo en Delphi, recorriendo todos los registros de Tabla1 y consultando si tienen Foto en Tabla2 (con un Locate, o bien lanzando una segunda consulta). Salut xiquet. |
Gracias por la respuesta.
De momento no puedo actualizar a FB 2.5 ya que la base de datos de la gestión de la empresa rula con esta versión y el cambio a 2.5 es muy a la largaaaaaaa. Si quiero hacer lo que me dices de recorrer los registros, supongo que debo crear una nueva tabla en base1 con los datos básicos de base2.tabla1 que quiero controlar. Es correcto? Si es así debo actualizar base1.tabla1 cada vez que añada una foto en base2.tabla1? Saludos Josep |
Hola Josep.
Puedes hacerlo así, pero yo en realidad me refería a lanzar dos consultas desde Delphi, atacando a las dos tablas en las dos bases de datos. Entonces solo tienes que recorrer todos los registros en la primera consulta, y mirar si existen en la segunda consulta (por ejemplo con un .Locate). Salut |
Gracies Marc.
No acabo de verlo claro. Si yo hago
me devuelve los registros que tengo en la tabla de los camiones con foto, correcto. Esto esta en la base de datos 1. Si despues quiero hacer un
Esto está en la base de datos 2 no se como hacerlo ya que si hago un locate como me comentas me devolverá un solo registro y yo lo que quiero (bueno, pretendo:confused::confused:) es sacar un listado. Igual es que pretendo hacer algo que no se puede o mi conocimiento sql no da para más. Saludos Josep |
Hola Josep.
Cita:
Si al final quieres sacar un listado de los camiones que no tienen foto, entonces para hacerlo muy sencillo, te recomiendo que añadas un campo TE_FOTO en la tabla de camiones, y cuando hagas el recorrido comprobando cada camión, si tiene foto o no tiene foto, en ese momento le actualizas su campo TE_FOTO. Una vez calculado correctamente ese campo para todos los camiones, entonces ya puedes sacar sin problemas un listados de solo los camiones sin foto. Salut. |
Gracias Marc.
Tal y como me sugieres al final he puesto un campo foto (S o N) en la tabla de camiones, actualizando este campo a S cada vez que añado una foto y a N si es que la borro y no tengo más que una foto, en caso de que tenga más de una y borre una sola no le digo que marque a N. Saludos "agostiniano-calurosos" Josep |
La franja horaria es GMT +2. Ahora son las 12:59:29. |
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