PDA

Ver la Versión Completa : copiar campos de una tabla a otra en paradox


Camilo
24-06-2007, 05:37:36
Hola, tengo una sencilla de sql pero no me esta funcionando, la idea es copiar cuatro campos de una tabla a otra que los contiene identicos entre otros.
estoy utilizando un query asi:

Insert into Pensiones (Pensiones.Ape1)
Select Maestro_Personas (Maestro_Personas.Ape1)
From Maestro_Personas;

Me saca un mensaje de error asi: "capability no supported"
alguine me ayuda.
Gracias por la amabilidad.

Delphius
24-06-2007, 05:42:34
Camilo, hay un sub-foro adecuado para este hilo. Sería oportuno que un moderador mueva el hilo a su lugar.

¿Podrías indicar que motor de base dados estás usando?
Saludos,

Camilo
24-06-2007, 05:51:54
Disculpenme por usar mal el foro. soy bien novato en esto pero si me la perdonan por favor ayuda en la pregunta anterior utilizo delphi 5 y paradox, los campos comunes son Ape1, Ape2, Nom1, Nom2.
Gracias no lo vuelvo a hacer.

Delphius
24-06-2007, 11:40:08
Doble disculpas tengo que pedirte Camilo, no había visto bien el título de tu pregunta. Claramente indicas Paradox. No lo leí, mi vista me había jugado una mala pasada.

No si se podrá lanzar un SQL como este sobre Paradox:

insert into TU_TABLA (LISTADO_DE_CAMPOS) values (select LISTADO_DE_CAMPOS from TU_TABLA_2 where ALGUN_CAMPO = CRITERIO))

Mi idea es insertar en un registro los datos de otra tabla que cumplan con una condición.

Repito, no se si se pueda ejecutar este tipo de consultas. No he empleado Paradox...

Espero poder haber sido de ayuda.
Saludos,

marcoszorrilla
24-06-2007, 11:57:36
Si las tablas son iguales:

Insert into Tabla1
Select * From Tabla2


Un Saludo.

Camilo
25-06-2007, 05:12:00
Hola Marcos y Carlos (y todo el foro)
Con mis buenas noches y mis disculpas por la lectura tardia de sus aportes; les comento que acabo de verlos y ejecutarlos y nada; me sale un mensaje "capability no supported", espero poder solucionarlo.

Gracias Muchachos.

Delphius
25-06-2007, 05:27:52
Hola Camilo.

Que raro.... ¿Tienes alguna consulta escrita en la que no te de error? Para comparar.

Y si no es demasiada molestia, ¿Podrías escribir el código que interviene antes y después de lanzar la consulta?¿Que componentes empleas? Por favor copia el mensaje de error textual.
Cuanto más extenso y detalloso seas podremos darte una mejor respuesta. Y detectar donde está el error.

Saludos,

Camilo
25-06-2007, 05:48:39
Gracias Carlos.

Estoy usando un Button para ejecutar un Query. En el Onclick coloco
Quey1.ExecSql;
Sin embargo cuando escribo el codigo que me dices dentro del Query y trato de pasar su propiedad Active a True entonces sale el letrerito que ya indique: "capability no supported".
la sentencia Sql dentro del Query es: "insert into Pensiones (Ape1, Ape2, Nom1, Nom2) select Maestro_Personas (Ape1, Ape2, Nom1, Nom2)
from Maestro_Personas
where Firma_contrato = '1';".
Gracias por tu interes

Delphius
25-06-2007, 06:00:00
Camilo, estoy viendo tu consulta.

insert into Pensiones (Ape1, Ape2, Nom1, Nom2) select Maestro_Personas (Ape1, Ape2, Nom1, Nom2)
from Maestro_Personas
where Firma_contrato = '1';

¿Ese ; corresponde a la consulta? ¿Hay que finalizar la sentencia SQL en Paradox con dicho caracter? Porque si no pertenece a lo mejor es allí el problema.

Se que recién estas parcipando de estos foros, pero te recomiendo que empieces a hacer uso de las etiquetas [ DELPHI ] [ /DELPHI ] (sin los espacios) cuando se trate de código delphi. En forma análoga cuando se trate de SQL: [ SQL ] [ /SQL ]

Saludos,

Camilo
25-06-2007, 06:06:37
Por lo que entiendo el ";" cierra una sentencia, en todo caso esta es opcional y lo hago de ambas maneras y el resultado es el mismo error.

Delphius
25-06-2007, 06:20:02
Camilo, en vista a que no usé Paradox ni el DBE. Fui buscando algo en internet para ver como solucionarlo.

Fijate si sirve lo que encontré:
http://dn.codegear.com/article/25183

Está en inglés, si encuentro algo en castellano y otra info que a lo mejor es útil te la paso.

Saludos,

Camilo
25-06-2007, 06:26:47
Delphius estoy revisando la informacion que me envias para ver que hago.

En todo caso gracias por tu interes y apoyo. Fuiste muy gentil con este tema y otros y con otros paricipantes.
Hasta una proxima.

Lepe
25-06-2007, 11:13:54
Estoy usando un Button para ejecutar un Query. En el Onclick coloco
Quey1.ExecSql;
Sin embargo cuando escribo el codigo que me dices dentro del Query y trato de pasar su propiedad Active a True [...]


No tienes que poner Active a True, solo usar Query1.ExecSql

Active a True cuando sea un SELECT ...
Para conssultas de acción INSERT, DELETE, UPDATE, etc, usa ExecSql.

Saludos

eduarcol
25-06-2007, 14:24:48
Pues paradox no es un manejador de base de datos muy amigable, pero delphi tiene la solucion para eso necesitas utilizar el componente llamado TBatchMove, en delphi 7 esta en la paleta BDE en delphi 5 estaba en dataacces, pruebalo y cualquier cosa avisas a ver en que te ayudo

Camilo
27-06-2007, 20:25:09
Eduarcol, acepto tu ayuda en lo referente al componente BatchMove.

La verdad no se como usarlo pero me llamo mucho la atencion por que veo por ahi la sollucion de mi pequeño problema.
Grracias

eduarcol
27-06-2007, 20:34:48
Realmente yo no lo utilize en toda su amplitud, solo debes especificar la propiedad Source y Destination que vendrian siendo dos TTable, luego de configurar esas dos propiedades solo tienes que llamar al metodo Execute

eduarcol
27-06-2007, 20:35:21
Realmente yo no lo utilize en toda su amplitud, solo debes especificar la propiedad Source y Destination que vendrian siendo dos TTable, luego de configurar esas dos propiedades solo tienes que llamar al metodo Execute.

Pruebalo y me avisas como vas, aparte tiene una propiedades que te permiten controlar los errores que puedes consultar en la ayuda de delphi

Camilo
27-06-2007, 21:11:03
Gracias Eduarcol.

Nos vemos en la copa america
chao.

eduarcol
27-06-2007, 21:51:26
Asumo que si pudistes