La Web del Programador: Comunidad de Programadores
 
    Pregunta:  12183 - COMO CODIFICAR UN CAMPO DE TIPO
Autor:  JOSE ROLANDO QUINTERO PAZ
Hola
Mi pregunta es, como tengo que codificar un campo de tipo "GENERAL" para luego desde un ejecutable insertar documento de Word, y cuando yo haga doble clic este active
al programa con el cual se creo, permintiendo de esa manera hacer todo tipo de modificaciones.
Esperando que alguien me responda, ok?. Gracias

  Respuesta:  Jose rolando Quintero Paz
Resondiendome a mí mismo

¡Hola!
Les escribo para decirles que yo había realizado esta pregunta hace mucho tiempo y sólo había obtenido esta respuesta que Uds. pueden observar, que si bien no está mal no era lo que yo esperaba, es decir no me permitían hacer lo mismo que yo hacia con Access en un campo de tipo General. Sin embargo he logrado descubrir por mí mismo cómo hacerlo y sin tener que codificar absolutamente nada, es decir, puedo insertar en un campo de tipo General, cualquier tipo de objetos que aparecen como predeterminados en mi PC, por ej. Planillas de calculo, Documentos Word, Mapa de bits, Archivos de sonidos, de Vídeos, Fotos, etc. Y, haciendo doble clic sobre ese objeto abrir por ej. El Word si el objeto es un Documento de Word o el Excel si es un Archivo de Excel, pero hay que tener en cuenta que no se puede insertar un objeto en un registro en blanco, por lo tanto primero agrego un registro (suponiendo que no haya ninguno), lo grabo y posteriormente procedo a insertar el objeto, se puede insertar uno por registro.

Para empezar les diré que para el ejemplo utilizaré una tabla llamada Alumnos, la cual contiene entre otros un campo de tipo General llamado Observación.

1º Lo primero que tengo que hacer es insertar un Objeto ole dependiente en el formulario.
2º En el modo edición, haga clic con el botón derecho del Mouse sobre el objeto ole, y elija “Propiedades”
3º En el evento Autoactivate 2 – DoubleClick
4º AutoVerbmenu .T. Verdadero
5º Seleccione la solapa Datos y, en ControlSource Alumnos.Observacion
6º Stretch 1- Isométrico
7º Crear una opción en el menú principal de esta manera:

Menú Principal

Indicador Acción Opciones
\<Insertar Objeto Nº de barra o comando _med _insob

Ya en el ejecutable hacer clic una vez sobre el objeto para tener el foco, luego ir al menú principal y seleccionar insertar objeto y esperar a que aparezca el cuadro de diálogo que me pedirá que seleccione qué tipo de objeto quiero insertar. Es aconsejable seleccionar desde archivo y Vinculado, de ese modo se almacenará dentro de la base de dato independientemente del que se encuentre en el disco. También podrían crear un mensaje que me avise cuando el objeto tenga el foco, ya que de no tenerlo cuando yo seleccione insertar objeto desde el menú principal este no activará al cuadro de diálogo que supuestamente debe aparecer. Hay que tener en cuenta el tamaño de los archivos que inserto porque incrementarán considerablemente el tamaño de la tabla y como consecuencia se hará mucho más lenta.

Si tienen alguna duda escríbanme y les daré más detalles, ok?

  Respuesta:  Antonio Estrada
Una forma sencilla (sin tener que acceder a datos del registro), es crear un fichero en blanco (blanco.doc) y, desde tu programa, hacer un
APPEND GENERAL campo_general FROM blanco.doc
esta sentencia NO AÑADE un registro a la tabla, sino que añade el fichero al registro actual.

Para acceder a ese campo, tienes que poner en el formulario un objeto OLE dependiente (OLEBoundControl). Cuando pinches en él, automáticamente se abrirá el programa con el que se creó el fichero (en este caso, el WORD)

Espero haberte ayudado