If am finding the docs on DatabaseFiled. PictureValue to be a little confusing:

First it says:

[code]aDatabaseField.PictureValue( Format as String=Picture.FormatPNG,quality as Integer= Picture.QualityDefault ) = newPictureValue
PictureValue = aDatabaseField.PictureValue(Format as String=Picture.FormatPNG,quality as Integer= Picture.QualityDefault)

Gets or sets the PictureValue using the specified picture format.

Then it also defines it this way:

[code]aDatabaseField.PictureValue = newPictureValue
PictureValue = aDatabaseField.PictureValue

Gets or sets the PictureValue.

Since all the parameters in the first set have default parameters, is not the second set superfluous ? If that is true then without parameters storing a picture in the DB will automatically convert it to a PNG and retrieving one no matter the format would convert it to PNG regardless of how it was stored…

If The second from was distinct (but how could it be???) I would assume it saves the picture in whatever format it is in and retrieves it that way!

So what do these docs mean?

I use DataBaseField.PictureValue rather extensively without the format options and it works quite well. The only time I use the format options are when I need to use an alternate format from the default, for example, to store a picture as a Windows bitmap rather than a png.

Pictures don’t have any particular format - they’re expanded bitmaps - so retrieving one from the database doesn’t convert it to png. The default in that instance assumes that it is stored as a png. So without any parameters, it stores a picture in png format and assumes that it is png in the database.