前言:
眼前大家对“asp数据库图片的读取”大体比较注意,同学们都需要剖析一些“asp数据库图片的读取”的相关内容。那么小编在网络上收集了一些对于“asp数据库图片的读取””的相关内容,希望看官们能喜欢,咱们一起来了解一下吧!大家好,我们继续讲解VBA数据库解决方案,今日讲解第44讲内容:如何把数据库中的图片显示在工作表上。这讲的内容和上一讲的内容是相反的,上一讲的内容是把图片存入数据库,我们今日讲的内容是要把数据库中的图片取出来存储入工作表中。
实例,我们要根据下面的员工番号查找出人员的信息,并把信息放到工作表的适当位置中,我们先看看图片的数据在数据库中的祥子,如下图,提示的是一个长二进制数据。
在我们的工作表中,如下图,给出了一个员工的编号,要通过这个员工的编号,把这个员工的信息反馈到下面的工作表中:
今日举的这个实例,特别对从事人事工作的人员特别有用。对其他设涉及到图片管理的人员,可以借鉴我这讲的内容,把数据库作为图片管理的工具,是一个有效的管理手段。下面看我给出的代码:
Sub mynzRecords_44() '第44 如何把数据库中的图片显示在工作表上
Dim abytPic() As Byte
Dim strSQL As String
Dim cnADO As New ADODB.Connection
Dim rsADO As New ADODB.Recordset
Dim strPath As String
Dim strTable As String
strPath = ThisWorkbook.Path & "\mydata2.accdb"
strTable = "员工记录"
With Sheets("44")
cnADO.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strPath
strSQL = "SELECT * FROM " & strTable & " WHERE 员工编号=" & Cells(2, 1)
rsADO.Open strSQL, cnADO, 1, 3
For j = 1 To rsADO.Fields.Count - 2
ActiveSheet.Cells(1 + 1, j + 1) = rsADO.Fields(j)
Next j
If IsNull(rsADO("备注")) Then
.Image1.Visible = False
.Range("A3") = "暂无照片"
Else
abytPic = rsADO("备注")
.Image1.Visible = True
.Image1.PictureSizeMode = 1
Set .Image1.Picture = ByteToPicture(abytPic)
End If
End With
Set rsADO = Nothing
Set cnADO = Nothing
End Sub
代码截图:
代码讲解:
1 cnADO.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strPath
strSQL = "SELECT * FROM " & strTable & " WHERE 员工编号=" & Cells(2, 1)
rsADO.Open strSQL, cnADO, 1, 3
上述代码打开一个一个记录集是数据库中和员工编号和工作表中相等的记录。
2 For j = 1 To rsADO.Fields.Count - 2
ActiveSheet.Cells(1 + 1, j + 1) = rsADO.Fields(j)
Next j
上述代码记入此记录的其他信息
3 If IsNull(rsADO("备注")) Then
.Image1.Visible = False
.Range("A3") = "暂无照片"
Else
abytPic = rsADO("备注")
.Image1.Visible = True
.Image1.PictureSizeMode = 1
Set .Image1.Picture = ByteToPicture(abytPic)
End If
将图片还原到工作表中。
下面看我们的代码运行:
把员工为1001的相关信息从数据库中导出到了工作表中了。
利用第43讲和44讲的内容可以很方便的处理图片的操作。图片处理历来在我的教程中有着一定的份额 ,有可以利用的朋友多多利用。
今日内容回向:
1 如何把数据表中的图片还原到工作表中?
2 图片在数据库中的信息是什么样子呢?
标签: #asp数据库图片的读取 #如何获取图片中的数据库 #如何获取图片中的数据库信息 #如何获取图片中的数据库信息表 #如何获取图片中的数据库信息表内容