Datos de una tabla a otra
Salu2 amigos foristas...
tengo un formulario que tiene lo siguiente: 2 combobox 1 edit 3bitbtn lo que se quiere es lo siguiente: en la misma aplicacion hay un formulario el cual se llena una base de datos....bla bla bla.. y en el formulario actual necesito cargar una nueva base de datos provenientes de la nombrada anteriormente (por que la primera que mencioné es temporal).... y necesito que si un registro de la table14 tiene todos los campos igual a los de table11 entonces no debe pasar nada de lo contrario agregarlos por que despues debo mostrar un quickreport con lo filtrado con los combobox 1 y 2 en el boton aceptar tengo este código, no da error, pero no cumple con lo que necesito:
Agradezco mucho su tiempo ... |
Hola lKinGl !
Por lo que pude revisar hasta que me fui, tienes unos errores en cuanto a las referencias a las tablas... Sigo viendo algunos detalles interesantes de tu código, espero poder terminar de checarlos y ayudarte... Saluditos ;) |
Hola
Me da la impresión de que se complica el código y la esencia de lo que se quiere hacer. Comprobar todo el contenido me parece complicado, tedioso, lento etc. Yo lo que haría es comprobar un campo determinado, no se, tal vez un numero único y si este ya existe entonces que se cumplan las condiciones que necesites. Bueno, es solo una opinión, veo que Fenareth te esta ayudando, ella sabrá que es lo mejor en este caso. Saludos |
correcto caral pero en la tabla origen no hay campo clave
|
Hola
Pero que importa que no tenga un campo clave?. Cualquier campo sirve, cualquier dato que no se repita. No conozco tu tabla, pero siempre hay algo de donde agarrarse. Saludos |
necesito es comparar porque puedo tener exactamente la misma linea pero si tiene distinto un monto debe agregarse osea por una minima diferencia debe agregarse de lo contrario se omite .... pero lo que se omite debo estar 100% seguro que esta repetido
|
Hola
No se exactamente como esta tu tabla ni el contenido, pero una cosa si te puedo decir, usar esto: es muy perjudicial, por lo lento, ya que cuando crezca la base de datos costara mas que se haga el recorrido de la misma. Por eso me da la impresion de que se puede hacer de otra manera. Saludos |
si te fijas bien si he puesto el while not eof pero en que parte sugieres tu?
y si necesito que el codigo sea lo mas sencillo posible ya que calculo que esta bd crecera como 60 lineas de registros por mes |
Hola lKinGl ! :)
Caral ha dado una idea muy muy buena... que te parece si agregas a tu tabla a comparar un campo único (llave) que sea la concatenación de la información almacenada en tus campos para cada registro (considerando que son pocos campos)... Después (y ahora si usando FindKey) podría ser más sencillo buscar la cadena concatenada, si es exactamente igual, entonces no guarda el registro, en caso contrario si lo hace... Esta idea me la compartieron y me pareció bastante interesante para probarla... porqué no haces el intento ? ;) Saludos |
creo que te estas complicando mas de la cuenta, en la paleta BDE tienes el componente TBatchMove, que configurando sus propiedades segun tus necesidades te sirve para lo que quieres sin escribir tanto codigo.
En la ayuda de Delphi hay un ejemplo muy bueno de como utilizarlo. |
Cita:
|
Cita:
|
Que tal un procedimiento almacenado, mas o menos
espero que te sirva |
he desarrollado este nuevo codigo ahora con campo único, funciona bien hasta aqui, pero necesito meterle un locate para que verifique antes si el registro esta no se agrega de lo contrario se registra, peroooo al momento de colocar el locate lanza un error no se porque :S
aqui envio mi codigo para ver que se puede hacer :(
Gracias Adelantadas |
help me! please :(
|
Salu2 ya resolvi mi problema, gracias a los que ayudaron en algo...
publico el código para que a alguien mas le sirva, uno nunca sabe ....
Saludos amigos |
uffff en mis códigos anteriores acabo de ver a simple vista un error super grave, que a lo mejor era eso lo que no lo hacia funcionar....
en mi primer código estoy declarando la variable deber,haberouble; y es deber, haber: Double; de igual manera en los demás códigos :S jeje |
bueno supongo que son cosas que simplemente pasan ......
|
La franja horaria es GMT +2. Ahora son las 03:53:41. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi