Autor Tema: Como guardar varias imagenes para el mismo cliente  (Leído 30363 veces)

0 Usuarios y 3 Visitantes están viendo este tema.

wolf_kof

  • Visitante
Re:Como guardar varias imagenes para el mismo cliente
« Respuesta #45 en: Junio 12, 2014, 03:51:41 pm »
SKL disculpa en vez de responder con temas de bases de datos entonces tendriamos que haber puesto

Picture1.imagen = loadimagen(path)

Noooooooooo

Creo que no el claramente en su pregunta dice que quiere guardar las imagenes en las bases de datos, BASES DE DATOS

donde crees que va este post entonces

gasafonso

  • Megabyte
  • ***
  • Mensajes: 175
  • Reputación: +4/-10
    • Ver Perfil
Re:Como guardar varias imagenes para el mismo cliente
« Respuesta #46 en: Junio 12, 2014, 10:34:37 pm »
Recomiendo no guardar imagenes dentro de una base de datos y menos que menos una DB Access, imaginate que por cada imagen que se le agrega, la base de dato pesa mas mas mas y mas y si queres hacer backup vas a tener 1 solo archivo que pesa 100 mb porque tenes todas las imagenes ahi guardadas.

Lo que yo te recomiendo y es lo mas profesional que vas a poder hacer es lo siguiente:

Guardar la URL de la imagen. no la imagen en si sino la direccion donde se encuentra almacenada. de esta manera la base de datos es mucho mas agil.

Si tiene un tabla con un ID del cliente tiene en cuenta lo siguiente:

Una persona se registra 1 sola vez osea 1 unico id por lo tanto si nosotros creamos 4 o 5 campos para las imagenes esa persona en TODA SU VIDA va a poder guardar solo 5 imagenes...

En cambio si creas otra tabla que sea IDCliente, Imagen, Fecha, vas poder cargar toooooooooooodas las que quieras.

Que quiero decir?

Una persona tiene mas de 8 huesos, osea que si la persona se quebro 9 ya no la vas a poder guardar a eso me refiero, lo mejor para mi en vez de mostrarlas con un ImageBox o un PictureBox, yo haria un Listbox o usaria un FileBox para seleccionar las imagenes ya guardadas por cada paciente y asi no vas a tener nunca complicaciones con la CANTIDAD de imagenes... lo unico que deberias guardar en la DB seria la URL de la carpeta y despues cuando las queres ver lo unico que tenes hacer es:


'Con esto seleccionamos la carpeta en la cual va a buscar las imagenes
File1.Path = RecordSet("DIRECCION")
file1.Pattern = "*.jpg" > Esto es solo para que filtre los JPG y no cargue otro tipo de archivo que ande suelto o temporales.


Luego en el Evento CLICK del File1

Image1 o Picture1 = LoadImage(File1.Path  & "\" & File.FileName)


LISTO ya esta funcionando y te quedaria mas o menos asi...

https://www.dropbox.com/s/x7670hzf7epz0xe/Captura%20de%20pantalla%202014-06-10%2021.40.37.png

PERO SKL como hago para filtrar en ese carpeta las de un cliente X, sino debo cambiarle el nombre de la imagen agregando o anteponiendo el nuermo de ID_clliente y aho si filtrar

gasafonso

  • Megabyte
  • ***
  • Mensajes: 175
  • Reputación: +4/-10
    • Ver Perfil
Re:Como guardar varias imagenes para el mismo cliente
« Respuesta #47 en: Junio 17, 2014, 02:58:53 pm »
Hola Gente sigo sin poder hacer lo que quiero, si me pueden hechar una mano se lo agradezco

Les cuento un poco de nuevo , tengo un sistema de Maascotas donde yo cargo primero el cliente y luego la mascota de es cliente, una vez cargada la mascota se comienzan a cargar PLAN SANITARIO, Analisis, Historia CLINICA y ECO /radigrafias. La cuestion es que no se como mecanizar eso de guardar cada RADIOGRAFIA/ECOGRAFIA por MAscota.
Yo tengo esta estructura  que muestro las ultimas  8 Radiografias o ecografias que al pasar el mouse por encima  de cada imagen se carga en un image ampliandose en el medio de la pantalla




Yo cree mis tablas asi





gracias !!!!!!!!!!!

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:Como guardar varias imagenes para el mismo cliente
« Respuesta #48 en: Junio 17, 2014, 03:04:53 pm »
juuass... ya entiendo tu confusion. Estas tratando de resolver a la vez dos capas. La presentación y los datos, eso marea.

¿Porque tus Ids son tipo texto?
Si tienes N fotos o rutas a las fotos de las mascotas donde la guardas? tendrías que tener (como se indico) una tabla de las fotos o rutas de fotos aparte relacionada con esta tabla tbRadiografia.
La declaración de tipos de datos me parece inadecuada.
Me encuentras en YAcosta.com

gasafonso

  • Megabyte
  • ***
  • Mensajes: 175
  • Reputación: +4/-10
    • Ver Perfil
Re:Como guardar varias imagenes para el mismo cliente
« Respuesta #49 en: Junio 17, 2014, 03:09:58 pm »
huuuuu cada vez entiendo menos jua jua

Mis ids siempre son de tipo texto

OK decime vos entonces como hiriannnnn,m salvo los ids

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:Como guardar varias imagenes para el mismo cliente
« Respuesta #50 en: Junio 17, 2014, 03:27:11 pm »
Es mejor tener los Ids identificatorios como numéricos y del tipo integer. Ahora, veo que usas Access, en ese caso al Id principal asignale Autonumerico y de esa forma te evitas controlarlo por aplicativo (el abusado +1).

Amigo, como no capto bien tu diseño recien me parece entender que esa tabla es de detalle, o sea, el cliente 5 (JUAN PEREZ) se va a repetir N veces segun radiografias tenga. Y ¿Que pasa si el cliente tiene 2 perros?... por eso es que el tema empieza por el diseño.

Bueno, siguiendo lo que tienes tu tendrias estos registros (es un ejemplo, asumire que Imagen es la ruta a la imagen):
despues de ejecutar un select:
Código: (VB) [Seleccionar]
Select *
From tbRadiografia
Where Id_Cliente = 5
este resultado
Código: (VB) [Seleccionar]
Id_Rad IdCliente  fecha      imagen
4          5       10/05/14  ***foto1.jpg
9          5       11/05/14  ***foto2.jpg
12         5       17/05/14  ***foto3.jpg
24         5       19/05/14  ***foto4.jpg


Luego recorres con un for next y por cada ciclo vas pintando la foto en tu control picture o image.
¿Se capta?
Me encuentras en YAcosta.com

gasafonso

  • Megabyte
  • ***
  • Mensajes: 175
  • Reputación: +4/-10
    • Ver Perfil
Re:Como guardar varias imagenes para el mismo cliente
« Respuesta #51 en: Junio 18, 2014, 03:02:04 pm »
Ok eso lo entiendo, pero como hago para mostrarlo despues ? en mis 8 imagenes ?

gracias

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:Como guardar varias imagenes para el mismo cliente
« Respuesta #52 en: Junio 18, 2014, 03:14:47 pm »
Bueno, no se como tendrás tus controles, pero lo que yo haria seria tener el control con indices, ejemplo:
Image(1), Image(2) etc.

En tu tabla como restringes a 8 fotos entonces cargare esas 8 o menos de 8. Mas ya requiere paginar y en ese caso como te dijo Abner mejor usa el control ListView
Entonces en mi consulta haria esto:

Código: (VB) [Seleccionar]
Aqui tu query
For i = 1 to 8
   Image(i).Picture = LoadPicture(RutaDeTuImagen)
   rs.Movenext
next i

RutaDeTuImagen es la ruta de la imagen que la tienes en tu tabla.

OJO: Si la imagen no existe, porque la movieron, borraron o renombraron, entonces te va a arrojar un error. Podrias poner un On Error Resume Next a esta parte para que pase el error, no habra roche porque solo es presentacion. Sin embargo puedes comprobar con un Dir si la imagen existe, si existe la carga sino existe reemplazas la imagen por otra que indique que la foto no existe y de esa forma no se vea mal la interfaz



Saludos
« última modificación: Junio 18, 2014, 03:19:20 pm por YAcosta »
Me encuentras en YAcosta.com

gasafonso

  • Megabyte
  • ***
  • Mensajes: 175
  • Reputación: +4/-10
    • Ver Perfil
Re:Como guardar varias imagenes para el mismo cliente
« Respuesta #53 en: Julio 02, 2014, 03:42:23 pm »
Mmmmmmmm pero como cargas las ultimas 8 imagenes ? osea las mas actualesss


garcias

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:Como guardar varias imagenes para el mismo cliente
« Respuesta #54 en: Julio 02, 2014, 03:58:52 pm »
Eso lo defines en el query. Como ya nos queda claro (por las comunicaciones privadas) esta claro que usas el ADODC y eso es muy restrictivo y dada tu pregunta se deduce que no manejas mucho el sql, alli metele punche doc.

¿Como cargas las ultimas 8 imágenes?
Respuesta: Con el criterio de búsqueda que te indica cuales son esas 8 ultimas.

Por ejemplo:
1.- Yo se que las 8 ultimas son las del correlativo ordenados de mayor a menor y hago un Top 8 en el sql
o'
2.- Yo se que las 8 ultimas son las que me indica el campo fecha e igual hago un Top 8 en el sql.
o'
3.- Si ya tenias pensada esta funcionalidad quizá te puedes valer de un campo adicional del tipo flag donde tengas marcado quiza no las 8 ultimas sino las 8 mas importantes, esto te implica un modulito de mantenimiento pero a cambio tu query es mas sencillo (flag = 1) y habrian fotos mas relevantes.

Depende también como hallas diseñado la(s) tabla(s) para aplicar una de estas opciones de solucion.

Seguimos la charla por aqui. Saludos
Me encuentras en YAcosta.com