先把数据库中的图片读出存为一个图片文件,再将report中的图片框链接到这个文件。好像是不能直接就读出的。方法跟下面的差不多。
Dim Constr As String ′ODBC路径
  Dim FileName As String ′图片文件名
  Const BLOCKSIZE = 4096 ′每次读写块的大小
  Dim ADOCon As New ADODB.Connection ′ADODB Connection对象
  Dim ADORst As New ADODB.Recordset ′ADODB Recordset 对象
  Dim ADOFld As ADODB.Field ′ADODB Field 对象
------------------------
  Private Sub SaveToDB(ByRef Fld As ADODB.Field, DiskFile As String)
  Dim byteData() As Byte ′定义数据块数组
  Dim NumBlocks As Long ′定义数据块个数
  Dim FileLength As Long ′标识文件长度
  Dim LeftOver As Long′定义剩余字节长度
  Dim SourceFile As Long ′定义自由文件号
  Dim i As Long ′定义循环变量
  SourceFile = FreeFile ′提供一个尚未使用的文件号
  Open DiskFile For Binary Access Read As SourceFile ′打开文件
  FileLength = LOF(SourceFile) ′得到文件长度
  If FileLength = 0 Then ′判断文件是否存在
  Close SourceFile
  MsgBox DiskFile & ″ 无 内 容 或 不 存 在 !″
  Else
  NumBlocks = FileLength \ BLOCKSIZE ′得到数据块的个数
  LeftOver = FileLength Mod BLOCKSIZE ′得到剩余字节数
  Fld.Value = Null
  ReDim byteData(BLOCKSIZE) ′重新定义数据块的大小
  For i = 1 To NumBlocks
  Get SourceFile, , byteData() ′ 读到内存块中
  Fld.AppendChunk byteData() ′写入FLD
  Next i
  ReDim byteData(LeftOver) ′重新定义数据块的大小
  Get SourceFile, , byteData() ′读到内存块中
  Fld.AppendChunk byteData() ′写入FLD
  Close SourceFile ′关闭源文件
  End If
  End Sub
   ----------------------