Programación General > Visual Basic 6.0 e inferiores

 Error Al Recuperar Imagen De Mdb Access 97.

(1/3) > >>

Sagutxo:
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 ---Dim NuevaTabla As TableDefDim Fld As Field Set Fld = NuevaTabla.CreateField("PD", CLng(dbLongBinary))Fld.DefaultValue = 0'Fld.AllowZeroLength = TrueNuevaTabla.Fields.Append FldSet Fld = Nothing 
   Bueno pues al recuperar la imagen de esta manera, osea como lo hago siempre


--- Código: Text ---Dim LngPicLen As Long LngPicLen = AbreTabla.Fields("PD").FieldSize    '    ' If there's data in the picture field,    ' save it to temp file and load it.      If LngPicLen > 0 Then      '      ' Extract from database      StrFotoData = AbreTabla.Fields("PD").GetChunk(0, LngPicLen)      '      ' Save to temp file      TempFile = PathABase & "\tmp.bmp"        Open TempFile For Binary As #1      Put #1, , StrFotoData      Close #1      '      ' AQUI DA EL ERROR, "La imagen no es válida"      Picture1.Picture = LoadPicture(TempFile) 
   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:

masticor:
Viejito no es bueno guardar las fotos en la base de datos es mejor solo guardar la ruta donde se encuentra la foto.

Sagutxo:
Salu2, jovencito :), tienes toda la razón, pero no es lo que quiero, Gracias.

 :comp:  :smartass:  :whistling:

Sagutxo:
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.

9tnix:
Hola sagutxo  :hola:


Lo que necesitas pero usando ADO esta aqui

Mira este otro link que encontre aqui


Salu2
Att. zeekel  :D  :D

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa