FileMaker - Botón para insertar imagen en campo contenedor

 
Vista:

Botón para insertar imagen en campo contenedor

Publicado por Antonio Martínez (1 intervención) el 19/02/2013 12:10:24
Buenos días a todos y gracias de antemano por vuestra ayuda.

Para empezar, mi sistema operativo es Windows 7 y utilizo Filemaker Pro Advanced 11.

- Tengo una base de datos en la que tengo una serie de campos contenedor en los que necesito insertar imágenes jpg. Hasta ahora, lo que hacía era pulsar botón derecho sobre el campo contenedor, insertar imagen, y cuando me abre la ventanilla para seleccionar carpeta, pues iba a navegando por el pseudo-explorador hasta la carpeta que contenía las fotos y seleccionaba la que me interesaba (y, evidentemente, marcaba la pestaña de almacenar solo referencia al archivo).

He decidido darle una vuelta de tuerca al asunto para facilitar la introducción de imágenes en el futuro.

Escenario:
1) En cada registro creado en mi base de datos, y a través de unas rutinas de ms-dos, se crean una serie de carpetas en mi disco duro, carpetas que se ordenan según necesidad, año, tipo, etc.
Ejemplos: 2013\Instalaciones\Proyecto-001
2013\Instalaciones\Proyecto-002
...
2013\Instalaciones\Proyecto-999

Dentro de cada carpeta de proyecto, se generan una serie de carpetas como Fotos, Archivos, Planos, ...

2) Cuando un proyecto tiene fotos, coloco en la carpeta correspondiente de cada proyecto y en su subcarpeta Fotos, las que me interesan.

Necesidad:
Convertir el campo contenedor en un botón que sea capaz de abrirme el pseudo-explorador en la carpeta que contiene las fotos del proyecto en el que me encuentro, para no tener que navegar y buscar a través de mi disco duro.

Soluciones que se me ocurrieron, pero que aún no dieron resultado:
1) Calcular la ruta de la carpeta en la que se encuentran las fotografías (esto está resuelto)
Asignar esta ruta a la variable $RutaFoto (esto, evidentemente, también está resuelto)
Ir al campo "Nombre::Foto01" (campo contenedor, también resuelto)
Insertar Imagen [Referencia; $RutaFoto] (Cuando llego a este punto, filemaker me devuelve un mensaje de error, ya que $RutaFoto es la ruta de la carpeta en la que se encuentran las fotos del proyecto y NO la ruta + el nombre de la foto a seleccionar (nombre que cada vez es distinto, ya que las imagen se sacan de cámaras de fotos)
Si este camino es posible, como puedo enfocarlo para que funcione?

2) Cuando pulsas con botón derecho e insertar imagen, el pseudo-explorador se abre en la última ubicación desde la que insertaste imágenes (aunque hayas apagado el ordenador). Esto me lleva a la siguiente conclusión: Filemaker, o la propia base de datos, almacena la última ubicación en algún lado. La pregunta es donde?, para poder sustituir ese valor por el de la variable $RutaFotos.

Buenos, espero haberme explicado con la suficiente claridad y no haber liado demasiado la madeja.

Gracias de antemano por vuestra ayuda y saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Botón para insertar imagen en campo contenedor

Publicado por César (216 intervenciones) el 20/02/2013 00:12:22
Y porqué no utilizas un visualizador web? Sólo tienes que poner la ruta del archivo y, si los tienes ordenados según el registro, verás cada imagen en su lugar.
Por otro lado, si quieres seguir con tu idea, pon un resultado calculado en tu búsqueda, con la suma de los datos que tienes en tu base de datos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Botón para insertar imagen en campo contenedor

Publicado por Antonio Martínez (4 intervenciones) el 10/04/2013 10:33:02
Buenos días y gracias por tu contestación.

No he podido comentar tu aportación antes por falta de tiempo.

Si que utilizo el visualizador web para ver las imágenes. Mi problema se producía antes de llegar a este punto.

Lo he solucionado de la siguiente manera.

Convierto el campo Contenedor Fotografía en un botón que ejecutará el siguiente script:

a) Comprobar si el campo contenedor está vacío. De ser así, ejecuto los pasos siguientes:

1) Establezco a la variable $FotoNum el valor "Foto-001.jpg"
2) Calculo la ruta de la carpeta en la que hay que poner las fotografías (p.ej. d:\proyectos\xxx\fotos), el cálculo lo realizo en función del tipo de proyecto y número de proyecto, por lo que esta ruta será distinta para cada proyecto.
3) Asigno a la variable $RutaExplorer la ruta antes calculada (con las contrabarras como tales y duplicadas para que las tenga en cuenta)
4) Asigno a la variable $RutaFoto la ruta antes calculada, pero cambiando las contrabarras por barras ("\" por "/") + $FotoNum
5) Abro el Explorador de Windows en la ruta "$RutaExplorer"
6) Envío un mensaje a través de un cuadro de diálogo con el mensaje "Se va a abrir el explorador de Windows en la ubicación en la que hay que colocar las fotografías. Copie las fotografías a esa carpeta. El nombre de una de las fotografías tendrá que ser Foto-001.jpg"
7) Voy al campo contenedor fotografía
8) Inserto la imagen [Referencia; $RutaFoto] en el campo contenedor.
9) Asigno la ruta de la foto + su nombre a un campo RutaFoto

b) Si el campo contenedor ya contiene una fotografía, ejecuto el punto 10

10) Abrir URL [Sin diálogo; BD::RutaFoto]

y tal como me comentabas, se me abre la fotografía con el visualizador Web y ya puedo pasar de una a otra sin problema.

Lo importante es que me está funcionando, aunque no sea la mejor forma de ejecutarlo, ya que estoy obligando al usuario a modificar manualmente el nombre de una de las fotografías, dándole el nombre "Foto-001.jpg", lo cual puede incomodarlo. Vuelvo a decir que lo ideal, sería que se abriera la ventana para seleccionar la fotografía (el que aparece cuando se pulsa sobre un campo contenedor con el botón derecho, insertar imagen), pero que se abriese ya en la ruta calculada en el punto 2. Esto permitiría al usuario no tener que pasar el trabajo de modificar el nombre de una de las fotografías, llamándola "Foto-001".

Gracias de todas formas y saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Botón para insertar imagen en campo contenedor

Publicado por Cesar (216 intervenciones) el 11/04/2013 10:08:52
Pero entonces es para insertar una serie de fotos? o una sola?
Si es para insertar una sola, en el mismo registro, en el campo contenedor, no se puede "insertar imagen"?
Lo del visualizador web era para que desde cada registro, mediante un cálculo, se viesen las fotos del registro
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Botón para insertar imagen en campo contenedor

Publicado por Antonio Martínez (4 intervenciones) el 11/04/2013 20:03:05
Buenas tardes Cesar.

Si, es para insertar una sola imagen en cada campo contenedor. Ya sé que pulsando sobre botón derecho en el campo contenedor, hay una opción que es insertar imagen, que te abre un cuadro de diálogo y que te permite ir a la carpeta que quieras para seleccionar la imagen que quieres.

El tema es que estamos moviendo unos 500 expedientes anuales y cada uno genera una serie de carpetas que se colocan en ubicaciones distintas, ya que tengo el disco duro con una estructura en arbol. A los usuarios les resulta muy complicado encontrar la carpeta en la que se encuentra su expediente, ya que el cuadro de diálogo de "insertar imagen" te envía a la última carpeta desde la que insertaste una imagen (y que no tiene nada que ver con la ubicación del nuevo expediente).

Lo que he hecho es convertir el campo contenedor en un botón y cuando pulsas sobre él, te abre el explorador en la carpeta Fotos del expediente en el que encuentras, con lo cual solo tienes que copiarlas desde la cámara de fotos, un pen o disco externo a esa carpeta. Tal como lo monté, ahora mismo, estoy obligando al usuario a cambiar el nombre de una de las fotos y darle el nombre de Foto-001.jpg. El script calcula la ruta en la que se encuentra el archivo Foto-001.jpg del presente expediente y lo inserta como referencia en el campo contenedor. La siguiente vez que el usuario pulsa sobre el campo contenedor (que es un botón con un script), éste detecta que ya hay una fotografía insertada en el mismo y en vez de hacer lo anterior, esta vez, abre el visor de imágenes de windows, con la ruta en la que se encuentran y las puedo visualizar sin problemas.

Lo que pretendía en realidad, es ahorrarle a los usuarios el tener que cambiar el nombre de una de las fotografías. Todo lo demás funciona perfectamente.

El cuadro de diálogo de "insertar imagen", te envía a la última ubicación desde la que insertaste una imagen. Esto significa que en algún lado se tiene que estar almacenando esa dirección. Lo que querría es que al pulsar el botón (campo contenedor convertido en botón), simplemente se abriese el cuadro de diálogo de "insertar imagen", NO en la última ubicación, sinó en la del proyecto actual. Y para eso, necesito saber donde almacena Filemaker la última ubicación para poder sustituirla por la actual (Evidentemente, tengo automatizado según una serie de parámetros la creación de las carpetas por filemaker y evidentemente lo hago con una fórmula que siempre redirije un expediente concreto al mismo sitio).

Gracias por tu ayuda. Saludos.
En
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar