Visual Basic - IMAGENES

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil

IMAGENES

Publicado por pixel (9 intervenciones) el 17/04/2006 10:24:48
Hola:

Tengo un pequeño problema. Estoy haciendo un trabajo sobre acceso a Bases de datos con Visual Basic. En una de las tablas de la base de datos, tengo una imagen metida, en un objet OLE. Me gustaria poder mostrar la imagen mediante una consulta en un objeto Image, pero no se exactamente cual es el codigo. Si alguien me pudiese ayudar se lo agradeceria.
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

RE:IMAGENES

Publicado por pepon (7 intervenciones) el 17/04/2006 10:52:09
Asignándole al objeto image la propiedad RecordSource = recordset y DataField = al campo OLE
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
sin imagen de perfil

RE:IMAGENES

Publicado por pixel (9 intervenciones) el 17/04/2006 11:06:55
Bueno, eso seria con un objeto ADODB, pero lo estoy haciendo con un objeto Connection,
He intentado poner image1=rs(0), pero no me lo muestra. Se que para que te muestre un numero como numero hay que pasarlo a String de la forma text1.text= Str(rs(0)). He intentado buscar algun comando para pasar a imagen pero no he encontrado nada
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

RE:IMAGENES

Publicado por pepon (7 intervenciones) el 17/04/2006 12:45:59
Sustituye el número del campo del recordset por su nombre, así:
Set Image1.DataSource = rs
Image1.DataField = "NombreDelCampo"
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
sin imagen de perfil

RE:IMAGENES

Publicado por pixel (9 intervenciones) el 17/04/2006 15:57:21
no tengo el control enlazado, trabajo con ADODB
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

RE:IMAGENES

Publicado por Cecilia Colalongo (3116 intervenciones) el 17/04/2006 13:23:36
Puedes bajar la imagen a un archivo temporal con SavePicture y luego colocarla con LoadPicture, fijate en:

http://www.mvps.org/vexpert/articles/adoImages.htm

de esta forma evitas enlazar el campo al control.

En:

http://lawebdelprogramador.com/news/mostrar_new.php?id=96&texto=Visual+Basic+Avanzado&n1=126363&n2=0&n3=0&n4=0&n5=0&n6=0&n7=0&n8=0&n9=0&n0=0

se había planteado una pregunta similar.
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

RE:IMAGENES

Publicado por pepon (7 intervenciones) el 17/04/2006 15:23:50
Me he fijado en lo que dices y:
1º.- ¿Y tanto "rollo" para algo que lo puedes hacer un dos instrucciones?
2º.- La pregunta, creo que era sobre una BD Access, no sobre sqlserver.
y 3º.- Antes de mandar "fijarse" a los que preguntamos, comprueba que el código de los que nos contestan no funcione, y si funciona, ¡No lo líes más!
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

RE:IMAGENES

Publicado por MrX (49 intervenciones) el 17/04/2006 15:39:29
bravo ehh, bravo...
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
sin imagen de perfil

RE:IMAGENES

Publicado por pixel (9 intervenciones) el 17/04/2006 15:56:34
bravo nada porque lo que dice pepon no funciona!!!!
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

RE:IMAGENES

Publicado por MrX (49 intervenciones) el 17/04/2006 16:01:41
ese es el punto...
bravo por que tiene razon en los tres puntos, que no funcione eso ya es otra cosa...
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
sin imagen de perfil

RE:IMAGENES

Publicado por pixel (9 intervenciones) el 17/04/2006 17:25:24
pues razon no tiene porque los enlaces son correctos!!!! habla por hablar
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

RE:IMAGENES

Publicado por Cecilia Colalongo (3116 intervenciones) el 17/04/2006 15:46:03
Al margen de la pésima escritura y el tono completamente fuera de lugar:

1. Si específicamente se quiere trabajar con el control no enlazado a ningún recordset existen dos opciones: o se baja la imagen a disco o se trabaja con el HDC de memoria.

2. El enlace es sobre ADO sea Access, SQL Server o cualquier otro DBMS.

3. Los enlaces son sugerencias, es problema de quien hizo la pregunta revisarlos o no. Y en este caso particular se mencionaron muchas veces y nadie dijo que fuera incorrecto.

Te sugiero moderes tu tono que es completamente desubicado.
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

RE:IMAGENES

Publicado por pepon (7 intervenciones) el 17/04/2006 18:40:54
¡Jder, me voy a dormir la siesta, y cuando me levanto.. la que se ha liado! solo por aclarar las cosas. Hay que ver!
Para aquel que dice que el código no funciona, le diré que llevo mas de tres años colaborando en este foro (cambiando el alias a menudo, ya que no quiero ni fama ni estar el primero en el ranking) y siempre que he dado una respuesta he comprobado previamente el código. Al final pongo el procedimiento completo, lo copias y después me dices si funciona o nó.
Para aqell@ que presume de ortografía, le diré que busque otra palabra sustitutiva a "fijate en..." está muy manoseada y no tiene ningún sentido en el contexto. Podrías cambiarla en p.e. "busca en..", "mira en..", etc
¡Y, no seais tan susceptibles, koño!
Ahí va el código:
' Referencia a Microsoft ActiveX Data Objects 2.0 Library
' Por supuesto, en el formulario necesitas con control Image (Image1)
Private Sub Form_Load()
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & App.Path & "\Prueba.mdb"
rs.Open "SELECT * from Tabla1", cn, adOpenDynamic, adLockOptimistic
Image1.Stretch = True
Set Image1.DataSource = rs
Image1.DataField = "Foto" ' nombre del campo Objeto OLE
End Sub
Saludos a todos.
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

RE:IMAGENES

Publicado por pepon (7 intervenciones) el 17/04/2006 18:53:57
Olvidé decir que, el campo Objeto OLE de la BD puede ser cualquier tipo de imagen bmp, jpg, gif.. creada como binarios largos con la propiedad AppendChunk.
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

RE:IMAGENES

Publicado por pepon (3 intervenciones) el 17/04/2006 22:32:38
a gilipolleces no contesto
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