![]() |
Insertar tabla de otra tabla con condiciones
Buenos dias, tengo duda no se como funciona ejemplo te dire
Tabla 1: ID (esta vacia) Tabla 2: CODIGO, NOMBRE (archivo DBF que ya tiene contenido) Tabla 3: ID, CODIGO, NOMBRE (es el servidor que ya tiene contenido) Quiero que la tabla 2 insertar a la tabla 1 solo ID para que coinciden con la tabla 3 el ID. En delphi funciona con INNER JOIN no? |
Hola.
Si no te entendí mal, creo que la instrucción SQL que buscas es:
Saludos :) |
Perdon digo sobre Delphi eso como hace. Y no SQL.
En inner join funciona con Delphi? De todas formas estoy programando a ver si funciona. Quizas la setencia sql funciona dentro de Delphi. Muchas gracias :) |
Te pasan la sentencia porque desde Delphi vas a poder ejecutar esa sentencia usando los componentes de acceso a datos.
Lo que necesitas es conectar tu aplicación (Componente TDataBase por ej.) a esos archivos DBF. Este video te muestra como conectar un programa de Delphi a una base de datos y como trabajar con esa DB. https://www.youtube.com/watch?v=dwb0wv6IJqA Y este te muestra como conectar a dBase (Archivos DBF), usando Firedac. https://www.youtube.com/watch?v=cHjbDtK-GK0 |
Si ese lo tengo yo todo conectado y todo. Lo refiero que pasar tabla 2 a tabla 1 todos los documentos pero distintas.
Es dificil creo.. la tabla 3 insertar numero id a la tabla 1 relacionado de la tabla 2. Es poco lio. Lo estoy intentando. Puede ser debe ser crear 3 tablas para poder pasar. |
Si he entendido bien: en Tabla1 quieres guardar una relación entre Tabla2 y Tabla3.
Según como sea esa relación hay distintos modos de hacerlo pero ten en cuenta que a través del componente TQuery (o similar) puedes ejecutar código SQL desde Delphi, así que si tienes claro como hacerlo en SQL pasarlo a Delphi es inmediato. Montas el insert que necesites y en cada iteración le pasas los parámetros. Algo así:
|
Te voy a explicar mas claro, porque el anterior parece confusiones de las tablas. Te voy a mostrar un ejemplo de las tablas
TABLA 1: ID TABLA 2: ID CODIGO NOMBRE (4, L, Lucas) TABLA 3: CODIGO NOMBRE (L, Lucas) Seleccionar la tabla 2 si coincide con la tabla 3 y luego insertar a la tabla 1. Te voy a mostrar ejemplo en SQL para poder ir a Delphi es igual funcionar para ejecutar.
Ahora la tabla 2 si coincide con la tabla 3 y luego insertar el ID de la tabla 1. Eso creo debe hacer IF entre tabla 2 y tabla 3 si coincide, luego insertar a la Tabla 1. |
|
Ya esta solucionado era RecordCount si es 1 que si coincide las dos tablas a insertar el registro. Por fin llevo 1 semana intentando.
|
Te recomiendo revises la solución que te plantea [kuan-yiu].
El recordcount es una propiedad que indica el numero total de registros asociados al dataset, que no siempre coinciden con el número total de la tabla o consulta. |
Vale hago lo d kuan-yiu lo probare a ver si va bien.
|
La franja horaria es GMT +2. Ahora son las 08:30:28. |
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