• Lunes 18 de Noviembre de 2024, 00:26

Autor Tema:  Error Al Recuperar Imagen De Mdb Access 97.  (Leído 3049 veces)

Sagutxo

  • Miembro MUY activo
  • ***
  • Mensajes: 320
    • Ver Perfil
Error Al Recuperar Imagen De Mdb Access 97.
« en: Viernes 17 de Febrero de 2006, 12:35 »
0
SAlu2.

   He creado una tabla desde VB6 para Access97, .mdb. Curiosamente si la creo de esta manera, al guardar un registro perfecto, vamos que no da error, pero al recuperarlo me da imagen no válida.

   Creado el campo de la imagen de la tabla de esta forma, solo pongo la declaraciones de variables y el campo que falla en concreto

Código: Text
  1. Dim NuevaTabla As TableDef
  2. Dim Fld As Field
  3.  
  4. Set Fld = NuevaTabla.CreateField("PD", CLng(dbLongBinary))
  5. Fld.DefaultValue = 0
  6. 'Fld.AllowZeroLength = True
  7. NuevaTabla.Fields.Append Fld
  8. Set Fld = Nothing
  9.  

   Bueno pues al recuperar la imagen de esta manera, osea como lo hago siempre

Código: Text
  1. Dim LngPicLen As Long
  2.  
  3. LngPicLen = AbreTabla.Fields("PD").FieldSize
  4.     '
  5.     ' If there's data in the picture field,
  6.     ' save it to temp file and load it.
  7.       If LngPicLen > 0 Then
  8.       '
  9.       ' Extract from database
  10.       StrFotoData = AbreTabla.Fields("PD").GetChunk(0, LngPicLen)
  11.       '
  12.       ' Save to temp file
  13.       TempFile = PathABase & "\tmp.bmp"
  14.  
  15.       Open TempFile For Binary As #1
  16.       Put #1, , StrFotoData
  17.       Close #1
  18.       '
  19.       ' AQUI DA EL ERROR, "La imagen no es válida"
  20.       Picture1.Picture = LoadPicture(TempFile)
  21.  

   Si borro el campo PD, objeto ole, grabo la tabla, y lo creo desde Access de nuevo funciona, pero no puedo hacerle eso a un usuario :(. Aparentemente las 2 tablas, la manual y la creada desde VB6, son iguales y despues de mirarlo muchisimas veces, creerme, no aprecio ninguna diferencia.

   Si alguno tiene idea de que puede estar pasando le agradeceria su ayuda.
Gracias. y espero haberme explicado sin llegar a ser pesado jejeje.
 :smartass:  :comp:  :smartass:  :whistling:
Mi mujer tiene un físico bárbaro!!!. Einstein.

masticor

  • Miembro activo
  • **
  • Mensajes: 31
    • Ver Perfil
Re: Error Al Recuperar Imagen De Mdb Access 97.
« Respuesta #1 en: Viernes 17 de Febrero de 2006, 16:35 »
0
Viejito no es bueno guardar las fotos en la base de datos es mejor solo guardar la ruta donde se encuentra la foto.

Sagutxo

  • Miembro MUY activo
  • ***
  • Mensajes: 320
    • Ver Perfil
Re: Error Al Recuperar Imagen De Mdb Access 97.
« Respuesta #2 en: Viernes 17 de Febrero de 2006, 20:17 »
0
Salu2, jovencito :), tienes toda la razón, pero no es lo que quiero, Gracias.

 :comp:  :smartass:  :whistling:
Mi mujer tiene un físico bárbaro!!!. Einstein.

Sagutxo

  • Miembro MUY activo
  • ***
  • Mensajes: 320
    • Ver Perfil
Re: Error Al Recuperar Imagen De Mdb Access 97.
« Respuesta #3 en: Sábado 18 de Febrero de 2006, 17:49 »
0
Salu2, he sustituido una parte la linea que pienso que no hace falta pero sigue ocurriendo lo mismo :(.

Vieja:
Set Fld = NuevaTabla.CreateField("PD", CLng(dbLongBinary))

Nueva:
Set Fld = NuevaTabla.CreateField("PD", dbLongBinary)

Vamos lo mismo.
Agur.
Mi mujer tiene un físico bárbaro!!!. Einstein.

9tnix

  • Miembro MUY activo
  • ***
  • Mensajes: 165
  • Nacionalidad: pe
    • Ver Perfil
Re: Error Al Recuperar Imagen De Mdb Access 97.
« Respuesta #4 en: Domingo 19 de Febrero de 2006, 15:03 »
0
Hola sagutxo  :hola:


Lo que necesitas pero usando ADO esta aqui

Mira este otro link que encontre aqui


Salu2
Att. zeekel  :D  :D
TP-Systems
our knowledge is our power!

cpmario

  • Miembro HIPER activo
  • ****
  • Mensajes: 629
    • Ver Perfil
    • http://www.cpimario.com
Re: Error Al Recuperar Imagen De Mdb Access 97.
« Respuesta #5 en: Domingo 19 de Febrero de 2006, 17:37 »
0
Trata de abrir con algún programa visor de imágenes, para ver si efectivamente la imagen no es válida.

Te sugiero revises como se guarda la imagen, por ahí puede estar el problema.
El error de imagen no válida, significa que en algunos de los pasos el formato de la imagen se perdió.
 :comp:

Sagutxo

  • Miembro MUY activo
  • ***
  • Mensajes: 320
    • Ver Perfil
Re: Error Al Recuperar Imagen De Mdb Access 97.
« Respuesta #6 en: Lunes 20 de Febrero de 2006, 14:11 »
0
Salu2.
   Abriéndolo con otro programa me dice que no es un archivo de mapa de bits correcto :(.

  Lo verdaderamente curioso es:

   Creo la tabla desde VB6 y parece ser que el campo Objeto Ole no se crea correctamente ya que si la abro desde access y borro ese campo, guardo la tabla, y creo el campo de nuevo con los datos exactamente iguales, Mismo nombre y mismo tipo, el programa recupera bien las imagenes.

   La verdad es que ya no se que mas hacerle, puede que deba desistir y buscar otras posibilidades :( .

Muchas gracias a los 2, el 2º enlaze tiene buena pinta, a ver si saco un ratillo y lo miro.
 :smartass:  :comp:  :whistling:
Mi mujer tiene un físico bárbaro!!!. Einstein.

cpmario

  • Miembro HIPER activo
  • ****
  • Mensajes: 629
    • Ver Perfil
    • http://www.cpimario.com
Re: Error Al Recuperar Imagen De Mdb Access 97.
« Respuesta #7 en: Lunes 20 de Febrero de 2006, 21:05 »
0
Modifiqué el programa del que posiblemente tomaste las rutinas que muestras y que se encuentra en PSC. Te lo adjunto, le coloqué una rutina para que elabore una base de datos programáticamente y funciona para lo que deseas.
Espero te sea de utilidad.

 :comp:
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.

Sagutxo

  • Miembro MUY activo
  • ***
  • Mensajes: 320
    • Ver Perfil
Re: Error Al Recuperar Imagen De Mdb Access 97.
« Respuesta #8 en: Lunes 20 de Febrero de 2006, 22:31 »
0
Salu2.
    Efectivamente este funciona, dios muchíiiiiiiiiiisimas gracias por tomarte tiempo en hacermelo tan fácil.

   Lo único que veo diferente al crear el campo Ole de la DB es la forma de abrir la tabla, así que será algo así.

La verdad es que no me acuerdo de donde cogí el ejemplo para guardar imagenes, pero tendrás razon seguro porque son muy parecidos.

Gracias, me siento en deuda contigo. No es naada habitual ver tanta dedicación.
 :smartass:  :smartass:  :comp:
Mi mujer tiene un físico bárbaro!!!. Einstein.

Sagutxo

  • Miembro MUY activo
  • ***
  • Mensajes: 320
    • Ver Perfil
Re: Error Al Recuperar Imagen De Mdb Access 97.
« Respuesta #9 en: Lunes 20 de Febrero de 2006, 23:28 »
0
Salu2.  OLEEEEEEEEEEEEEEEEEEEEEEEEEe, he encontrado el error :)

Código: Text
  1. Set Fld = NuevaTabla.CreateField("PD", dbLongBinary)
  2. Fld.DefaultValue = 0  [B]ESTE ES EL ERROR, quitandolo funciona as la perfección.[/B]
  3. 'Fld.NuevaTabla.Fields.Append Fld
  4. Set Fld = Nothing
  5.  

Por fin, pensé que no lo iba a encontrar nunca :). :comp:  :smartass:  :comp:
Mi mujer tiene un físico bárbaro!!!. Einstein.

Sagutxo

  • Miembro MUY activo
  • ***
  • Mensajes: 320
    • Ver Perfil
Re: Error Al Recuperar Imagen De Mdb Access 97.
« Respuesta #10 en: Miércoles 22 de Febrero de 2006, 12:32 »
0
SAlu2, ahora me he topado con otro problema:

   Imaginaros dos pictures:

   Cargo la primera imagen, perfecto, cargo la segunda, al abrirse la ventana del CDLG, si tapa por completo el picture cargado, desaparece la imagen. aunke realmente está ahí.

   Hay alguna forma de que esto no suceda?

Gracias.
 :smartass:  :comp:  :smartass:
Mi mujer tiene un físico bárbaro!!!. Einstein.

cpmario

  • Miembro HIPER activo
  • ****
  • Mensajes: 629
    • Ver Perfil
    • http://www.cpimario.com
Re: Error Al Recuperar Imagen De Mdb Access 97.
« Respuesta #11 en: Miércoles 22 de Febrero de 2006, 17:59 »
0
Verifica que la propiedad 'AutoRedraw' del PictureBox sea igual a 'True'

 :comp:

Sagutxo

  • Miembro MUY activo
  • ***
  • Mensajes: 320
    • Ver Perfil
Re: Error Al Recuperar Imagen De Mdb Access 97.
« Respuesta #12 en: Miércoles 22 de Febrero de 2006, 18:08 »
0
Salu2. Tio, eres mi ángel de la guarda, no se como puedes acordarte de todas las cosas.
Muchas gracias. :)
 :smartass:  :comp:  :smartass:
Mi mujer tiene un físico bárbaro!!!. Einstein.