FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Objecto OLE. Access
Hola:
Estoy copiando datos de una base de datos Access a una base de datos paradox y me he encontrado con el siguiente problema. Uno de los campos de la Tabla de Acces es de tipo Objecto OLE, yo lo que quiero es pasar a la base de datos de Paradox el " path " del Objecto OLE guardado en ese campo. Mi pregunta es....como consigo el path de ese objeto?? Me es indiferente hacer el codigo para obtener el path del campo em Delphi o en VBA. Espero que alguien pueda ayudarme. Gracias de antemano Saludos |
#2
|
||||
|
||||
Un objeto OLE en Access es un tipo de campo, por lo tanto no puedes pasarle el camino donde se halla, para ello habría que guardarlo en disco, por ejemplo una foto y luego pasar el camino en donde se encuentra, por ejemplo guardándolo en un campo texto y luego recuperar dicho archivo cuando lo demande el usuario, de lo contrario el objeto OLE, seguirá alojado en la base de datos MDB correspondiente que como sabes es un solo archivo en el que se alojan las tablas, consultas, Formularios, Informes, Macros y código VB, si existiera.
Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#3
|
|||
|
|||
Hola marcoszorrilla
Gracias por respoder al hilo. Efectivamente, como tu bién dices el campo de tipo Objeto Ole de la tabla en Access está guardado en disco. En realidad lo que guarda el campo de la tabla Access es un enlace al archivo que se haya asignado a ese registro, que en este caso es una foto. Yo no quiero pasar el objeto Ole a la Tabla en Paradox, lo que quiero es crear un campo en la tabla Paradox de tipo String que guarde el path de la fotografía. Lo que yo sigo sin saber es como averiguar el path del archivo al que hace referencia el campo de la Tabla de Acces. Gracias |
#4
|
||||
|
||||
Cita:
Creo que lo que debes hacer (y es lo mismo q te comenteba Marcos) es: (1) Leer la imagen de la tabla de Access (no el path, puesto que la imagen parece estar "dentro" de la Base de Datos -ya que es un campo OLE-). (2) Guardarla en disco (en el lugar donde tú decidas -el path que deses-) (3) Ese path donde has guardado la imagen utilizarlo para escribirlo dentro del campo de tipo String en la tabla Paradox. Eso al menos es lo que he entendido yo. Perdón si no ha sido así. Cita:
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#5
|
|||
|
|||
Hola Neftali:
Si que es dificil hacerse entender! ) Voy a intentar explicarlo una vez más.... Mi tabla en Access tiene varios campos, todos ellos guardan la información relacionada con fotografias, uno de esos campos de la tabla es de tipo Objeto OLE, este campo me sirve para ir a la fotografía relacionada con el registro actual cuando estoy en el formulario que hace referencia a la tabla. Todas las fotografías relacionadas con los registros estan guardadas en el disco y no en la tabla, la tabla sólo guarda un LINK a la fotografía. De modo que si yo hago modificaciones el fichero original también es alterado. Yo lo que estoy haciendo es pasar la información que contiene la tabla de Access a una nueva en Paradox. Está claro que yo se donde se hallan las fotografias, ya estan guardaditas en el disco en su respectivo directorio, lo que necesito es que al pasar los datos a Paradox, el registro correspondiente haga referencia a la foto relacionada, para ello debo saber el path donde está guardada la fotografía a la que hace referencia el link de la tabla de Access. Como bién entenderás es mucho más facil hacer esto (si es posible!) en código, que tener que copiar uno a uno de una a otra tabla, el path al que hace referencia el link para los 2000 registros que tengo en la tabla de Access. Para que te quede claro que el objeto Access no guarda un fichero y si un link te voy a poner un ejemplo. Crea una tabla com un tipo Objeto Ole, y guarda en el una imagen que tengas guardada en algun directorio de tu disco, puede ser usando el menú de Access, insertar objeto etc.... y luego abre la imagen desde la tabla, luego cierrala. Una vez hecho esto ve al directorio donde tienes guardada la imagen y muévela para otro directorio distinto del original. Ahora una vez más intenta abrir la imagen desde la tabla de Access, comprobarás que Access no encuentra el archivo ya que habia guardado el link a la imagen con su ubicación original. Si Access tuviera guardada la imagen en la tabla, no tendria problemas para abrirla nuevamente aunque tu cambiaras la ubicación de la imagen de tu disco. Esta claro que Access guarda en algún lugar el path de ese archivo. La pregunta es como consigo yo llegar a ese lugar?!! Lo que yo necesito saber es como consigo averiguar el path al que hace referencia el link del Objeto Ole de Access para poder copiarlo a la nueva tabla em Paradox. Alguién sabe como hacerlo??!!! Gracias. Un saludo. |
#6
|
||||
|
||||
Cita:
Tal vez deberías buscar en las páginas de MS a ver si encuentras algo sobre éste formato. No te puedo ayudar más en éste caso, ya que la info. no está accesible directamente.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#7
|
|||
|
|||
Gracias por tu interés Neftali
De momento no he resuelto el problema. Si lo consigo dejaré por aqui la solución. |
|
|
|