FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Antes era re-facil
Antes, con mi viejo Clipper, era sencillo tomar de una tabla ciertos campos y adicionarlos en otra. Simplementa bastaba con recorrer la DB con un bucle e ir adicionando esos registros a la segunda tabla; previo abrirlas con un simple comando USES y cerrarlas luego con otro simple comando CLOSE.
¿Por que esto en Delphi es tan deshumanamente complicado? Me refiero al siguiente caso, que no puedo resolver y tal vez alguien tenga la gran amabilidad de ayudar a este póbre programador obsoleto con un simple ejemplillo, veamos: En una base MDB (a quién se le puede ocurrir) hayuna tabla con campos similares a los de otra tabla Paradox-DB. Digamos, ID_NUM, NOMBRE, DOMICILIO y LOCALIDAD, todos alfanumericos. En la primer tabla (la Access) el campo LOCALIDAD es (A-2) porque conserva dígitos que referencian hacia otra tabla (DETLOC) que tiene campos llamados ID_LOC (A-2); DETALLE (A-30) por ejemplo. El campo ID_LOC sirve de enlace. Siendo ID_NUM el campo clave en ambas DB (la Access y la Paradox) necesito recorrer la primera (y su tabla de detalles de localidades) e incorporar los registros a la segunda que se encuentra vacía. Mediante BDE puedo abrir la Paradox pero no la Accesess, me da un "error_OLE_no_se_cuanto. Con ADO es mejor, ya que por lo menos la puedo abrir. La cosa es que no se cómo armar el bucle que comentaba al principio. ¿Alguien que me entienda y pueda auxiliarme?
__________________
Gracias de antemano por vuestra ayuda. ·.:*:.·Yako·.:*:.· |
#2
|
||||
|
||||
No diria que es mas dificil, sino simplemente una cuestión de mañas. De hecho, es mucho mas facil hacer un
Query.SQL.Text := 'INSERT INTO TABLA1(campo1, campo2) SELECT campo1, campon from tabla2'; Query.execSQL; que seleccionar los registros de la tabla, hacer un for e ir haciendo inserciones registro por registro, además de ser por mucho más óptimo. En tu caso, especifica mejor el tipo de error y danos un poco de codigo. Es muy probable que sea un problema con conversion de tipos, pero eso tendremos que definirlo de acuerdo al error que te lanza la app.
__________________
Héctor Geraldino Software Engineer |
|
|
|