How To Save Bitmap File as OLE Object in Access OLE Object Field (205635)



The information in this article applies to:

  • Microsoft Visual Basic Professional Edition for Windows 5.0
  • Microsoft Visual Basic Professional Edition for Windows 6.0
  • Microsoft Visual Basic Enterprise Edition for Windows 5.0
  • Microsoft Visual Basic Enterprise Edition for Windows 6.0

This article was previously published under Q205635

SUMMARY

In Microsoft Access, OLE Object fields can store data such as Microsoft Word or Microsoft Excel documents, pictures, sound, and other types of binary data that are created in other programs. This article provides the Visual Basic code that uses an OLE control and the CreateEmbed method to store a bitmap file in an Access OLE Object field.

The advantage of using this technique is that the data is stored in the Access OLE Object format. Thus, a user who opens the database in Access and double-clicks on the item will find that the appropriate container for the data is automatically started. If you place the data into a field without using of the below-mentioned method, it is stored as "Long Binary" data in Access, and the appropriate container for the data is not started when a user double-clicks the item in Access.

MORE INFORMATION

The following example demonstrates how a bitmap file is stored in the OLE Object field of an Access table using Visual Basic.

Step-by-Step Example

  1. For testing purposes, create a database named db1.mdb and a table named MyOLETest in Access. The MyOLETest table structure is as follows:
    Field NameData Type
    IDAutoNumber (Primary Key)
    PictureOLE Object

  2. Save db1.mdb in the C:\TEMP\ folder.
  3. Create a new Standard EXE project in Visual Basic. Form1 is created by default.
  4. Place a CommandButton, Command1, and a Data Control, Data1 on Form1.
  5. Add an OLE control, OLE1, to Form1. Click Cancel in the Insert Object window.
  6. Using the following table as a guide, set the properties of the newly added controls:
    ControlPropertyValue
    Data1Database NameC:\TEMP\db1.mdb
    Data1RecordSourceMyOLETest
    OLE1DataSourceData1
    OLE1DataFieldPicture

  7. Double-click Command1, and then paste the following code into the Command1 Code window:
    Data1.Recordset.AddNew
    OLE1.CreateEmbed "C:\Windows\Circles.bmp"
    ' Assume the bitmap file is located at C:\Windows\ folder.
    Data1.Recordset.Update
    Data1.Recordset.MoveLast
    					
  8. Start the program or press the F5 key. Click Command1 to add the Circles.bmp file to the MyOLETest Access table.
NOTE: The OLE Container control does not have to be visible to update the Access database with this method.

Modification Type:MinorLast Reviewed:7/13/2004
Keywords:kbhowto KB205635