Visual Basic Foro

Programación => Bases de Datos => Mensaje iniciado por: gasafonso en Junio 10, 2014, 02:39:24 pm

Título: Como guardar varias imagenes para el mismo cliente
Publicado por: gasafonso en Junio 10, 2014, 02:39:24 pm
Hola como harian uds para gauardar todas estas imagenes para un mismo cliente (mismo CODIGO) en una base de datos de access

(http://s9.postimg.org/4fyina0e3/fotos.jpg) (http://postimg.org/image/4fyina0e3/)


gracias
Título: Re:Como guardar varias imagenes para el mismo cliente
Publicado por: YAcosta en Junio 10, 2014, 02:56:00 pm
En la tabla donde guardes las imagenes has de tener un campo ID_Cliente y listo, ¿porque no se te ocurrio eso que es elemental? bueno a veces nos pasa pero te lo comente por siaca te refieras a otra cosa y no te halla entendido.

Saludos
Título: Re:Como guardar varias imagenes para el mismo cliente
Publicado por: gasafonso en Junio 10, 2014, 04:25:46 pm
hola , si tengo el numero de id_cliente , pero no se como guardarlas

No se si crear una tabla para las imagenes, si guardar el nombre de cada imagen o guardar la ruta


gracias
Título: Re:Como guardar varias imagenes para el mismo cliente
Publicado por: E N T E R en Junio 10, 2014, 04:31:32 pm
Yo crearía así una tabla

CLIENTES

id_cliente,foto1,foto2,foto3,foto4, etc...

Guardar imagenes en Access
http://www.elguille.info/vb/ejemplos/imagenes_ADODataControl.htm (http://www.elguille.info/vb/ejemplos/imagenes_ADODataControl.htm)
Título: Re:Como guardar varias imagenes para el mismo cliente
Publicado por: wolf_kof en Junio 10, 2014, 04:42:23 pm
Base de Datos!!!

Pero tienes que crear una tabla con campo adjunto para meter las imagenes
solamente bastan los campos
Id = Clave o Key
Id_Cliente = que es la Clave del Cliente o Key del Cliente
Imagen = Campo donde vas a guardar la imagen

cuando filtres lo haces por el id del ciente y te va a dar todas las imagenes, lo puedes hacer en un listview para mejor presentación en este foro de debatio el listview con imagenes para un restaurante creo
Título: Re:Como guardar varias imagenes para el mismo cliente
Publicado por: YAcosta en Junio 10, 2014, 04:57:59 pm
hola , si tengo el numero de id_cliente , pero no se como guardarlas

No se si crear una tabla para las imagenes, si guardar el nombre de cada imagen o guardar la ruta


gracias

Ah pero tu hablas de que decisión de guardado vas a usar. Bueno como te comentan arriba eso es discutible. Yo aun no encuentro un escenario en el que valga la pena guardar las imágenes en la BD pero ya eso dependerá de tu decisión como consecuencia de tu análisis.

Aqui en el foro Sebas publico un metodo para guardar las imagenes, cuestión de buscarlo, la otra seria que guardes las fotos fuera incluso en una carpeta en nube para respaldo y almacenas los nombres de los archivos en la BD. Es conveniente que codifiques esos nombres mediante alguna nemotecnia.

Saludos
Título: Re:Como guardar varias imagenes para el mismo cliente
Publicado por: YAcosta en Junio 10, 2014, 05:02:01 pm
Yo crearía así una tabla

CLIENTES

id_cliente,foto1,foto2,foto3,foto4, etc...

Guardar imagenes en Access
http://www.elguille.info/vb/ejemplos/imagenes_ADODataControl.htm (http://www.elguille.info/vb/ejemplos/imagenes_ADODataControl.htm)

Que?? jeje, eso metodo creo que no es adecuado, simplemente una tabla con tres campos y ya:
Id_Foto, Id_Cliente, Foto

Id_Foto es el propio id del registro, siempre es bueno tenerlo
Id_Cliente, este repetira por cuanta foto exista de dicho cliente o paciente.
Foto, La foto en si subida a la tabla mediante algun método de conversion.
Título: Re:Como guardar varias imagenes para el mismo cliente
Publicado por: YAcosta en Junio 10, 2014, 05:04:21 pm
Base de Datos!!!

Pero tienes que crear una tabla con campo adjunto para meter las imagenes
solamente bastan los campos
Id = Clave o Key
Id_Cliente = que es la Clave del Cliente o Key del Cliente
Imagen = Campo donde vas a guardar la imagen

cuando filtres lo haces por el id del ciente y te va a dar todas las imagenes, lo puedes hacer en un listview para mejor presentación en este foro de debatio el listview con imagenes para un restaurante creo

La tabla esta perfecta, pero ¿crees conveniente que almacene el archivo fotografico en una base de datos Access?¿No se pondrá lenta o se corrompa? ademas de que crecera feo, a mi me daria terror hacerlo en Access, diferente a que fuera en una BD C/S

Saludos
Título: Re:Como guardar varias imagenes para el mismo cliente
Publicado por: YAcosta en Junio 10, 2014, 05:07:44 pm
Finalmente aquí encontré uno de los post en el que sebas comenta sobre esto

http://leandroascierto.com/foro/index.php?topic=1611.msg9138#msg9138

Y mas abajo de ese post el publica el metodo que usa para "stremear" la foto y guardarla en la BD.

Comento que yo probe en su momento el codigo de sebas usando la DB Firebird, cargue unas 200 fotos y fue bastante rápido... pero no se que tan rapido seria para muchas mas fotos, tambien hablo de fotos que no sobrepasaban los 150Kb.

Saluds
Título: Re:Como guardar varias imagenes para el mismo cliente
Publicado por: E N T E R en Junio 10, 2014, 05:14:17 pm
Yo crearía así una tabla

CLIENTES

id_cliente,foto1,foto2,foto3,foto4, etc...

Guardar imagenes en Access
http://www.elguille.info/vb/ejemplos/imagenes_ADODataControl.htm (http://www.elguille.info/vb/ejemplos/imagenes_ADODataControl.htm)

Que?? jeje, eso metodo creo que no es adecuado, simplemente una tabla con tres campos y ya:
Id_Foto, Id_Cliente, Foto

Id_Foto es el propio id del registro, siempre es bueno tenerlo
Id_Cliente, este repetira por cuanta foto exista de dicho cliente o paciente.
Foto, La foto en si subida a la tabla mediante algun método de conversion.

No amigo no dije crear una tabla con 3 campos por ejemplo si yo quiero ponerle mas de una foto a un registro hago de esta forma.

La tabla se llama Clientes.
Los campos que contrendra seria mas o menos asi

id_cliente,cedula,nombre,direccion,telefono,fot01,foto2,foto3,foto4

O como tu dices solo crear una tabla esclusivo para guardar las fotos y relacionar con la tabla clientes, Pero como dices nunca me gusto guardar las fotos dentro de la bd, yo siempre guardo la ruta del archivo.

Se entiende?

Título: Re:Como guardar varias imagenes para el mismo cliente
Publicado por: YAcosta en Junio 10, 2014, 06:36:41 pm
Esta bien doc, pero... que pasa si hay una foto05? porque entiendo que "id_cliente,cedula,nombre,direccion,telefono,fot01,foto2,foto3,foto4" son campos, esa es la parte que me llama la atención.
Título: Re:Como guardar varias imagenes para el mismo cliente
Publicado por: Jeronimo en Junio 10, 2014, 07:00:59 pm
Claro. Si se sabe la cantidad máxima de fotos por cliente se podría hacer así. Por ejemplo, para guardar huellas digitales de las personas. Se sabe que son 10 máximo. Pero si es un centro donde se hacen radiografías, tomografías, resonancias, etc., no se sabe cuántas radiografías se pueda hacer un paciente en su vida (por poner un ejemplo cualquiera).
Ahí entiendo que lo mejor sería seguir el ejemplo de más arriba, empleando una tabla que relacione las fotos con los pacientes.
Saludos.

Jerónimo
Título: Re:Como guardar varias imagenes para el mismo cliente
Publicado por: SKL en Junio 10, 2014, 09:44:17 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


Título: Re:Como guardar varias imagenes para el mismo cliente
Publicado por: gasafonso en Junio 10, 2014, 10:45:48 pm
Hola SKL, me podrias explicar un poco mas sobre como hacerlo con el  Listbox?


gracias
Título: Re:Como guardar varias imagenes para el mismo cliente
Publicado por: SKL en Junio 10, 2014, 10:53:04 pm
Aca te dejo el Proyecto....

Antes de iniciar el proyecto cambia el PATH a una direccion donde haya imagenes en JPG.

https://dl.dropboxusercontent.com/u/6160346/Cargar%20Imagenes%20de%20FileBox.rar
Título: Re:Como guardar varias imagenes para el mismo cliente
Publicado por: E N T E R en Junio 11, 2014, 09:51:51 am
Asi mismo yo expuse asi por que pense que el quería guardar solo 8 imágenes como mostró en la imagen del primer post.

Aca hay un ejemplo que hice hace mucho que graba como dice el amigo YAcosta.

http://leandroascierto.com/foro/index.php?topic=1733.msg9715#msg9715 (http://leandroascierto.com/foro/index.php?topic=1733.msg9715#msg9715)
Título: Re:Como guardar varias imagenes para el mismo cliente
Publicado por: gasafonso en Junio 11, 2014, 11:00:00 am
Gracias ENTER ,  lo unico que no uso MySQL y no lo puedo ver ademas me pide registrar un archivo que no tengo

DE todas maneras es muy buen aporte , sobre todo por la sensilles que te caracteriza para programar

PD: Tambien vos SKL , salvo que tu idea no me sirve por que necesito guardar radiografias y ecografias por cada paciente, si a alguien se le ocurre una mejor idea bienvenida sea , acepto cualquier propuesta
Yo creo que la mejor es cargar las ultimas 8 imagenes de cada cliente , lo queno se como hacer es ver las anteriores, ah no ser de cargar el nombnre de las imagenes con ID_CLIENTE+ FECHA y seleccionarlas de un  un combobox o listbox

gracias
Título: Re:Como guardar varias imagenes para el mismo cliente
Publicado por: wolf_kof en Junio 11, 2014, 11:51:46 am
Vamos a ver, a que le tienen mido cargar imagenes en access? si el campo en access esta creado para imagenes por algo es no?

Ya hemos discutido esto, pero yo tuve la necesidad de hacerlo en access hace poco y me resulto bien, solamente que me puse a trabajar en el trato de imagen.

Osea rasterizarla, Delimitarla, Disminuir tanto de tamaño (de 1024*768 a 300*200)  como peso (de 3.2 MB a 170 KB)

Yo digo que es cuestión de que tanto se quieran quebrar la cabeza, pero yo manejo una muy buena cantidad de imagenes en access y la base de datos ni rosca.

A cada vez que cierro el ejecutable compacta la base de datos.
Título: Re:Como guardar varias imagenes para el mismo cliente
Publicado por: gasafonso en Junio 11, 2014, 12:15:06 pm
hola NDWgt, mi base de datos es access 97 , y cuanto menos le cargue mejor , mas agil va a estar la base de datos, yo preguntaba como implementar el muestreo de las imagenes ( eso no se como hacerlo de la mejor manera)
Título: Re:Como guardar varias imagenes para el mismo cliente
Publicado por: E N T E R en Junio 11, 2014, 12:30:58 pm
yo preguntaba como implementar el muestreo de las imagenes ( eso no se como hacerlo de la mejor manera)

mmm Pero tu primera pregunta era Como guardar varias imagenes para el mismo cliente

Aca te pase la bd a access

https://www.mediafire.com/?3clnmk5a5xh6j23 (https://www.mediafire.com/?3clnmk5a5xh6j23)

Puedes implementar ese método o mostrarlo en un ListView.


Yo creo que la mejor es cargar las ultimas 8 imagenes de cada cliente


Si siempre van a ver 8 imagenes lo mejor te crear 8 campos de foto y te vas guardando ahi cada foto y como mostraste en el primer post te crear 8 picturebox y lo mostras ahi
Título: Re:Como guardar varias imagenes para el mismo cliente
Publicado por: wolf_kof en Junio 11, 2014, 12:35:37 pm
Puedes tomar como ejemplo esto talvez te sirva

http://leandroascierto.com/foro/index.php?topic=729.msg3695#msg3695 (http://leandroascierto.com/foro/index.php?topic=729.msg3695#msg3695)


Estas usando el ADOBC para conectar la base de datos?

Osea utilizas un metodo de conexion por objeto?

Esta mero jalado hacerlo así.
Título: Re:Como guardar varias imagenes para el mismo cliente
Publicado por: gasafonso en Junio 11, 2014, 12:49:49 pm
No uso Ado, pero estas imagenes tuyas son siempre las mismas ya que siempre tenes las mismas  mesas,  yo con el tiempo voy a tener capaz 40 ecografias o mas yo debo poner las 8 ultimas
Título: Re:Como guardar varias imagenes para el mismo cliente
Publicado por: E N T E R en Junio 11, 2014, 12:51:57 pm
Entiendo que no uses ADO o el MySQL pero ahi podes mirar el codigo como funciona y adaptarlo a tu necesidad. Por que guardar en access o mysql no cambia casi nada lo que vas a mirar ahi es como manejar la carga de las imagenes.

Saludos...
Título: Re:Como guardar varias imagenes para el mismo cliente
Publicado por: wolf_kof en Junio 11, 2014, 01:15:55 pm
que imagen sea da igual, lo que tienes que ver es la forma e cargar la imagen al listview y hacerlo, como obtengas las imagenes si las guardas en un archivo de registro o las guardas en la base de datos o las guardas en una carpeta da igual.

El procedimiento para agregarlas al listview es siempre igual. De no ser eso lo que buscas por favor se mas especifico, por que si no aqui estamos adivinando.
Título: Re:Como guardar varias imagenes para el mismo cliente
Publicado por: YAcosta en Junio 11, 2014, 01:18:10 pm
Vamos a ver, a que le tienen mido cargar imagenes en access? si el campo en access esta creado para imagenes por algo es no?

Ya hemos discutido esto, pero yo tuve la necesidad de hacerlo en access hace poco y me resulto bien, solamente que me puse a trabajar en el trato de imagen.

Osea rasterizarla, Delimitarla, Disminuir tanto de tamaño (de 1024*768 a 300*200)  como peso (de 3.2 MB a 170 KB)

Yo digo que es cuestión de que tanto se quieran quebrar la cabeza, pero yo manejo una muy buena cantidad de imagenes en access y la base de datos ni rosca.

A cada vez que cierro el ejecutable compacta la base de datos.

Yo le tengo terror papa, access es muy susceptible de daños y hay cada cliente!!! ¿que pasaria si necesitase que la foto se conserve en buena calidad justamente porque son imagenes medicas? ¿Que pasaria si atiendo en dos años a 2000 pacientes... serian mas de 10,000 fotos con 5 promedio a cada una? tendrias la bd pesando... si mis calculos no me fallan seria un peso de mas de 1.5 GB solo en pura foto en la BD!!!!! y OJO, el compactado y reparado no te reduce el tamaño de la BD Access MENOS de la foto, lo que hace el compactado y reparado es eliminar la basura transaccional lo que se interpreta como reducción de tamaño de BD. ¿como se comprueba? haciendo un segundo compactado.

Vamos, estoy de acuerdo contigo en meterle las fotos a la BD si es que son pocas, 100 fotitos o un pelo mas y si es que de fotos privadas se trata (prohibido distribuir), no me araño, pero creo que es mejor tenerlas por fuera porque:
1.- Son mas fáciles de mantener (reemplazo, aumento)
2.- No requiere interfaz de carga y descarga al programa, te ahorras una interfaz.
3.- Si por alguna mala suerte se jode la BD no perdería las cientos de fotos (claro, si hay backup estas protegido)
4.- Si tu carpeta de imágenes esta compartida en la nube (dropbox, mega (50GB!!) u otro) y tengo el aplicativo de ellos en mi tablet desde alli puedo gestionarlas, por ejemplo: mostrarle a un colega medico en tu tablet las radiografias del paciente Yacosta, etc.
5.- Copiar y pegar las fotos para usarlas en la preparación de un documento. ¿Oye, pero si cuando capturaste la foto ya la tienes para usarla por fuera?.... entonces diria: Si ya la tengo ¿para que la redundo en la BD? eh??

Si me rebates diciendo... "ok ok, con Access no, pero si va bien con MySQL, SQL Server o incluso FirebirdSQL" te diria, cierto pero solo se rebate el punto del tamaño de la bd.

Abrazos.
Título: Re:Como guardar varias imagenes para el mismo cliente
Publicado por: gasafonso en Junio 11, 2014, 01:23:53 pm
Vamos a ver, a que le tienen mido cargar imagenes en access? si el campo en access esta creado para imagenes por algo es no?

Ya hemos discutido esto, pero yo tuve la necesidad de hacerlo en access hace poco y me resulto bien, solamente que me puse a trabajar en el trato de imagen.

Osea rasterizarla, Delimitarla, Disminuir tanto de tamaño (de 1024*768 a 300*200)  como peso (de 3.2 MB a 170 KB)

Yo digo que es cuestión de que tanto se quieran quebrar la cabeza, pero yo manejo una muy buena cantidad de imagenes en access y la base de datos ni rosca.

A cada vez que cierro el ejecutable compacta la base de datos.

Yo le tengo terror papa, access es muy susceptible de daños y hay cada cliente!!! ¿que pasaria si necesitase que la foto se conserve en buena calidad justamente porque son imagenes medicas? ¿Que pasaria si atiendo en dos años a 2000 pacientes... serian mas de 10,000 fotos con 5 promedio a cada una? tendrias la bd pesando... si mis calculos no me fallan seria un peso de mas de 1.5 GB solo en pura foto en la BD!!!!! y OJO, el compactado y reparado no te reduce el tamaño de la BD Access MENOS de la foto, lo que hace el compactado y reparado es eliminar la basura transaccional lo que se interpreta como reducción de tamaño de BD. ¿como se comprueba? haciendo un segundo compactado.

Vamos, estoy de acuerdo contigo en meterle las fotos a la BD si es que son pocas, 100 fotitos o un pelo mas y si es que de fotos privadas se trata (prohibido distribuir), no me araño, pero creo que es mejor tenerlas por fuera porque:
1.- Son mas fáciles de mantener (reemplazo, aumento)
2.- No requiere interfaz de carga y descarga al programa, te ahorras una interfaz.
3.- Si por alguna mala suerte se jode la BD no perdería las cientos de fotos (claro, si hay backup estas protegido)
4.- Si tu carpeta de imágenes esta compartida en la nube (dropbox, mega (50GB!!) u otro) y tengo el aplicativo de ellos en mi tablet desde alli puedo gestionarlas, por ejemplo: mostrarle a un colega medico en tu tablet las radiografias del paciente Yacosta, etc.
5.- Copiar y pegar las fotos para usarlas en la preparación de un documento. ¿Oye, pero si cuando capturaste la foto ya la tienes para usarla por fuera?.... entonces diria: Si ya la tengo ¿para que la redundo en la BD? eh??

Si me rebates diciendo... "ok ok, con Access no, pero si va bien con MySQL, SQL Server o incluso FirebirdSQL" te diria, cierto pero solo se rebate el punto del tamaño de la bd.

Abrazos.

Haber si puedo ser mas claro , yo quiero mostrar las 8 imagenes ultimas de cada cliente, no importa si es por fuera o desde una base de datos
Lo que sigo sin darme cuenta es cual seria la manera de hacerlo por cada cliente , es decir si tengo que re-nombrar o agregar cada imagen con el numero de ID_cliente o si abro una carpeta por paciente?
Título: Re:Como guardar varias imagenes para el mismo cliente
Publicado por: YAcosta en Junio 11, 2014, 01:43:38 pm
jajajaj: "ya no jodan con su discusión de si usar bd o por fueraaaa" jajaja.

Ta bien.

Ok, sea fuera o dentro igual lo ordenaras por un identificador y este identificar de todas maneras estará en la BD. ¿Hasta alli estamos bien?

Tu tabla tendra un id de pacienta y una ruta a la foto o la foto en si. Digamos Yacosta es el paciente con identificador 8
Tu tendras una tabla asi

Código: (PHP) [Seleccionar]
IDPaciente     Foto
   8            Ruta o stream de la foto
   8            Ruta o stream de la foto
   8            Ruta o stream de la foto
   8            Ruta o stream de la foto

Entonces solo tendrias que hacer un select del paciente 8 y tendrás todas las fotos que este tenga, esa fotos las pondras en el control de tu preferencia... en lo personal yo prefiero hacerme mi propio control, por ejemplo este lo uso con puros controles intrinseco pero ya mejorado con el ucImage de Cobien.
(http://i.snag.gy/aG0nk.jpg)

Si la llevas por fueratendrias dos formas de organizar las fotos. Digamos, capturas la foto con el aparato medico, este te dara un archivo nosequenombre.jpg, tendrias que hacer
1.- Guardar el nombre del archivo nosequenombre (el .jpg lo puedes aplicar por codigo o lo metes con todo)
o
2.- Crear nemoctenia, eso se lo podrias programar en tu aplicativo facilmente. Por ejemplo la foto nosequenombre.jpg se podria llamar 00008_001 (el primer 00008 es el codigo de paciente, el 001 es el correlativo de la foto), la segunda foto mia se llamara 00008_002

Se capta?
Título: Re:Como guardar varias imagenes para el mismo cliente
Publicado por: wolf_kof en Junio 11, 2014, 01:48:34 pm
YAcosta

Yo manejo como 10500 fotos en una base de datos de Mysql y no pesa mas de 650 megas!!!

Pero la verdad es que en Gustos se rompen generos o para gustos colores!!!

gasafonso:

Eso es independientemente de cada desarrollador, yo lo que aria es hacer un archivo por cada uno de los casos osea:

Abner Velasco se tomo Radiografias el 03/03/2010

entonces en mi tabla de radiografias

Id = Correlativo
Id_cliente = El Id de Abner
Fecha = 03/03/2010

entonces una tabla fotos de radiografias

Id = Correlativo
Id_Radiografias = El Id de la tabla de radiografias
Foto = Pues como quieras guardar la foto en el campo o solo la dirección para recuperarla

Cuando hagas tu consulta llamas a la último registro de radiografias de Abner
y haces la consulta por el Id en la tabla fotos de radiografias

Entonces te va a salir lo que quieres, unicamente las fotos de la ultima sesión de radiografias o de la fecha determinada.

Saludos.

Los de las imagenes y bases de datos siempre es un tema polemico.
Título: Re:Como guardar varias imagenes para el mismo cliente
Publicado por: gasafonso en Junio 11, 2014, 01:53:09 pm
ok me parece bien , lo unico que yo quiero seleccionar las ultimas 8 imagnes para esto tendria que guardar la fecha de guardado , y me parece que la mejor manera seria guardar en la base de datos la ruta no ? que te parece a vos ?



gracias

PD: Aca les dejo mi diseño , asi las quiero mostrar , lo unico que no me doy cuenta es como hacer para mostrar las anteriores a estas 8
(http://s17.postimg.org/sp8m2hh0r/fotos.jpg) (http://postimg.org/image/sp8m2hh0r/)
Título: Re:Como guardar varias imagenes para el mismo cliente
Publicado por: YAcosta en Junio 11, 2014, 01:55:42 pm
YAcosta

Yo manejo como 10500 fotos en una base de datos de Mysql y no pesa mas de 650 megas!!!

Pero la verdad es que en Gustos se rompen generos o para gustos colores!!!


Lo digo por practicidad papa, no por el "gusto"
1.- En MySQL te creo ¿meterías esas 10,500 en access? si me dices que si reconoceré tu valentia jaja
2.- 650 Megas la BD y seguro que casi todo ese peso es de las puritas fotos.
3.- En que resolución estan esas 10,500 fotos? salvo que al stremearlo se reduzca el tamaño, eso podria ser, yo hice este calculo, tus 170KB (que no es mala calidad) por 10,000, me da, 1 millon 700 mil kb convertido a megas me da 1,660 MB... por eso dije mas de 1 giga y medio... pero bueno quiza la matematica me falla alli... igual con todo... 600 megas de foto (dejemos 50 para registros) es un huevo de dinosario jeje

SAludos
Título: Re:Como guardar varias imagenes para el mismo cliente
Publicado por: YAcosta en Junio 11, 2014, 01:58:07 pm
ok me parece bien , lo unico que yo quiero seleccionar las ultimas 8 imagnes para esto tendria que guardar la fecha de guardado , y me parece que la mejor manera seria guardar en la base de datos la ruta no ? que te parece a vos ?



gracias

Si quieres las ultimas 8 puedes usar el correlativo que te dije, crearte otro correlativo o aumenta el campo fecha, lo que mas te gusta.
y sobre:
"y me parece que la mejor manera seria guardar en la base de datos la ruta no ? que te parece a vos ?"

ya nos mandaste al ...ajo sobre esto!!! jaja, no mentira, doc, justamente de eso estábamos departiendo en los ultimos post, Ud. decida con la info nutrida que aqui expusimos.
Título: Re:Como guardar varias imagenes para el mismo cliente
Publicado por: YAcosta en Junio 11, 2014, 02:00:08 pm
No me habia percatado de esto:

gasafonso:

Eso es independientemente de cada desarrollador, yo lo que aria es hacer un archivo por cada uno de los casos osea:
Abner Velasco se tomo Radiografias el 03/03/2010

entonces en mi tabla de radiografias

Id = Correlativo
Id_cliente = El Id de Abner
Fecha = 03/03/2010

entonces una tabla fotos de radiografias

Id = Correlativo
Id_Radiografias = El Id de la tabla de radiografias
Foto = Pues como quieras guardar la foto en el campo o solo la dirección para recuperarla

Cuando hagas tu consulta llamas a la último registro de radiografias de Abner
y haces la consulta por el Id en la tabla fotos de radiografias

Entonces te va a salir lo que quieres, unicamente las fotos de la ultima sesión de radiografias o de la fecha determinada.

Saludos.

Los de las imagenes y bases de datos siempre es un tema polemico.

Abner te lo explico mucho mejor que yo, creo que se te paso tambien.
Título: Re:Como guardar varias imagenes para el mismo cliente
Publicado por: gasafonso en Junio 11, 2014, 02:04:51 pm
Si si justo me llego cuando mande la contestacion, igual voy a hacer asi

Id = Correlativo
Id_cliente = El Id de Abner
Fecha = 03/03/2010
Foto = Pues como quieras guardar la foto en el campo o solo la dirección para recuperarla

y las filtro por las ultimas 8 por la fecha,  lo que me sigue quedando la duda como muestro las anteriores ?


Título: Re:Como guardar varias imagenes para el mismo cliente
Publicado por: YAcosta en Junio 11, 2014, 02:06:09 pm
...
PD: Aca les dejo mi diseño , asi las quiero mostrar , lo unico que no me doy cuenta es como hacer para mostrar las anteriores a estas 8
(http://s17.postimg.org/sp8m2hh0r/fotos.jpg) (http://postimg.org/image/sp8m2hh0r/)

Recuerda que si son mas de 8 fotos tienes que paginar.
No me habia percatado que estas usando el control ADODC (no me refiero al conectar), eso es antiguo, si tienes chande desaste de el y uso codigo puro.

Saludos
Título: Re:Como guardar varias imagenes para el mismo cliente
Publicado por: YAcosta en Junio 11, 2014, 02:08:01 pm
Si si justo me llego cuando mande la contestacion, igual voy a hacer asi

Id = Correlativo
Id_cliente = El Id de Abner
Fecha = 03/03/2010
Foto = Pues como quieras guardar la foto en el campo o solo la dirección para recuperarla

y las filtro por las ultimas 8 por la fecha,  lo que me sigue quedando la duda como muestro las anteriores ?

Como tu mismo marcaste la restriccion a 8 solo podras ver 8 y a continuacion paginarlo (que es lo que hago yo en la imagen que mostre arriba).

Sin embargo, mas facil que eso es que debajo de las 8 fotos pongas un boton "Ver mas" y abras un nuevo form donde mostraras todas las fotos existentes de ese paciente ordenados por el criterio que decidas.
Título: Re:Como guardar varias imagenes para el mismo cliente
Publicado por: gasafonso en Junio 11, 2014, 02:14:08 pm
...
PD: Aca les dejo mi diseño , asi las quiero mostrar , lo unico que no me doy cuenta es como hacer para mostrar las anteriores a estas 8
(http://s17.postimg.org/sp8m2hh0r/fotos.jpg) (http://postimg.org/image/sp8m2hh0r/)

Recuerda que si son mas de 8 fotos tienes que paginar.
No me habia percatado que estas usando el control ADODC (no me refiero al conectar), eso es antiguo, si tienes chande desaste de el y uso codigo puro.

Saludos

Noooes ADODC, como seria a codigo puro, paginar ? me mataste ju ajua
Título: Re:Como guardar varias imagenes para el mismo cliente
Publicado por: YAcosta en Junio 11, 2014, 02:17:42 pm
Si es ADODCCCC!!!! jajaja
mira:
(http://i.snag.gy/xzkBQ.jpg)

Salvo que no lo estes usando
Título: Re:Como guardar varias imagenes para el mismo cliente
Publicado por: YAcosta en Junio 11, 2014, 02:24:00 pm
Y sobre "codigo puro" y el paginado juass... la explicación da para otro post.

Codigo puro es sin usar un control de conexion sino el recordset

Código: (VB) [Seleccionar]
Dim rs As New ADODB.Recordset
sql = "Select Campo1, Campo2... From.... "
rs.Open sql, dB, 1, 1

en la varialbe sql accedes a tu foto.

Y lo del paginado podrias hacer consultas de 8 en 8, o sea, por cada 8 accedes al query, o cargar todos los registros y por cada avance de pagina accedes al recordset para mostrarlos.
 Me salio un poco miserable la explicacion, mmm, hare lo posible por subir un ejemplo pero me parece que lo que te dio Enter pagina, en este enlace:
http://leandroascierto.com/foro/index.php?topic=1733.msg9715#msg9715

checalo. Yo no lo he visto aun pero por la interfaz creo que si pagina y esa seria tu solucion sobre esa parte.

Saludos

Título: Re:Como guardar varias imagenes para el mismo cliente
Publicado por: wolf_kof en Junio 11, 2014, 02:24:55 pm
Por el amor de dios!!!!!!

No compagines!!!! te vas a meter a un nuevo mundo, por lo menos no en eso.

USA EL LISTVIEW PARA VER TODAS LAS FOTOS DE ESA FECHA SI LA PERSONA TUVO MAS DE UNA SESIÓN EN EL DIA

POR LOGICO MUESTRA TODAS LAS SESIONES DE ESA FECHA Y QUE EL DOCTOR SE OCUPE DE VER QUE SESIÓN DE FOTOS QUIERE VER

NO TE RESTRINGAS A SOLAMENTE 8 FOTOS POR QUE TE LO DIJERON LOS USUARIOS, SI HAY NECESIDAD DE MAS FOTOS MAS ADELANTE TE VAN A ESTAR CHINGANDO CON LA IMPLEMENTACIÓN DEL RESTO DE FOTOS

EN EL LISTVIEW PUEDEN VER TANTAS FOTOS SE HALLAN AGREGADO EN LA SESIÓN DE FOTOS AMIGO.
Título: Re:Como guardar varias imagenes para el mismo cliente
Publicado por: YAcosta en Junio 11, 2014, 02:35:03 pm
Por el amor de dios!!!!!!
jajajajaa



No compagines!!!! te vas a meter a un nuevo mundo, por lo menos no en eso.
Si mejor, que no compagine. es un desmadre crearlo... claro que una vez creado es forever, yo lo tengo paginado desde hace años con cero problemas y altamente rápido, las cargas son individuales y de 20 en 20... pero, si lo puede evitar, que lo evite.

USA EL LISTVIEW PARA VER TODAS LAS FOTOS DE ESA FECHA SI LA PERSONA TUVO MAS DE UNA SESIÓN EN EL DIA
Nunca me llegó a cuadrar el uso de Listview, no me agrada y nunca lo use en ningún proyecto, sin embargo reconozco que este control es el mas usado para las fotos y si la mayoría lo hace, vale decir que es la mejor solución. Apoyo el consejo

POR LOGICO MUESTRA TODAS LAS SESIONES DE ESA FECHA Y QUE EL DOCTOR SE OCUPE DE VER QUE SESIÓN DE FOTOS QUIERE VER
Exacto.

NO TE RESTRINGAS A SOLAMENTE 8 FOTOS POR QUE TE LO DIJERON LOS USUARIOS, SI HAY NECESIDAD DE MAS FOTOS MAS ADELANTE TE VAN A ESTAR CHINGANDO CON LA IMPLEMENTACIÓN DEL RESTO DE FOTOS

EN EL LISTVIEW PUEDEN VER TANTAS FOTOS SE HALLAN AGREGADO EN LA SESIÓN DE FOTOS AMIGO.
Concuerdo 100x100. Los usuarios piden lo primero que se le ocurre sin previo analisis, lo primero que les llega a la mente y les parece solucion es lo que te piden y muchos se encaprichan.

Conclusion: ListView es la solucion (no para mi, pero si para el resto del mundo y es lo que importa).
Título: Re:Como guardar varias imagenes para el mismo cliente
Publicado por: gasafonso en Junio 11, 2014, 02:43:13 pm
gracias amigos , voy a ver si lo pongo en practica y les aviso

Título: Re:Como guardar varias imagenes para el mismo cliente
Publicado por: wolf_kof en Junio 11, 2014, 02:46:54 pm
por cierto:


SEÑOR MODERADOR "ESTO ES BASE DE DATOS"
Título: Re:Como guardar varias imagenes para el mismo cliente
Publicado por: wolf_kof en Junio 11, 2014, 03:03:03 pm
Se que esto es SPAM pero para sacar de dudas a YAcosta

http://www.dotnetcr.com/como-comprimir-imagenes-jpg-en-vb-net/
Título: Re:Como guardar varias imagenes para el mismo cliente
Publicado por: YAcosta en Junio 11, 2014, 03:38:56 pm
Se que esto es SPAM pero para sacar de dudas a YAcosta

http://www.dotnetcr.com/como-comprimir-imagenes-jpg-en-vb-net/

De que se puede comprimir se puede, pero se pierde calidad, ¿que tanta? dependerá, eso se hace con cualquier editor fotográfico, lo que no sabia es que se podía hacer por código (aunque el post es sobre .Net quizá lo halla en VB6), pero igual y con todo quedan pendientes varios puntos a rebatir y que expuse arriba por lo cual considero que es mejor aun dejar las fotos fuera (salvo que sean fotos muy, pero muy delicadas y que no deben estar sueltas, guarda con la CIA).

Saludos
Título: Re:Como guardar varias imagenes para el mismo cliente
Publicado por: SKL en Junio 12, 2014, 01:46:57 am
por cierto:

Capo esto no es base de datos. El tipo solo preguntó como carajo cargar las últimas 8 fotos. Hace un for o un loop y que cargue los ultimos 8 fegustros del usuario y listo vieja suerte

SEÑOR MODERADOR "ESTO ES BASE DE DATOS"
Título: Re:Como guardar varias imagenes para el mismo cliente
Publicado por: wolf_kof 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
Título: Re:Como guardar varias imagenes para el mismo cliente
Publicado por: gasafonso 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
Título: Re:Como guardar varias imagenes para el mismo cliente
Publicado por: gasafonso 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

(http://s30.postimg.org/hk7m0j9zh/Imagen.jpg) (http://postimg.org/image/hk7m0j9zh/)


Yo cree mis tablas asi



(http://s29.postimg.org/gn5qhvbcz/tabla.jpg) (http://postimg.org/image/gn5qhvbcz/)

gracias !!!!!!!!!!!
Título: Re:Como guardar varias imagenes para el mismo cliente
Publicado por: YAcosta 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.
Título: Re:Como guardar varias imagenes para el mismo cliente
Publicado por: gasafonso 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
Título: Re:Como guardar varias imagenes para el mismo cliente
Publicado por: YAcosta 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?
Título: Re:Como guardar varias imagenes para el mismo cliente
Publicado por: gasafonso en Junio 18, 2014, 03:02:04 pm
Ok eso lo entiendo, pero como hago para mostrarlo despues ? en mis 8 imagenes ?

gracias
Título: Re:Como guardar varias imagenes para el mismo cliente
Publicado por: YAcosta 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

(http://i.snag.gy/r0guD.jpg)

Saludos
Título: Re:Como guardar varias imagenes para el mismo cliente
Publicado por: gasafonso en Julio 02, 2014, 03:42:23 pm
Mmmmmmmm pero como cargas las ultimas 8 imagenes ? osea las mas actualesss


garcias
Título: Re:Como guardar varias imagenes para el mismo cliente
Publicado por: YAcosta 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