Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image 如何使用vba excel在sql server中获取图像_Image_Excel_Vba - Fatal编程技术网

Image 如何使用vba excel在sql server中获取图像

Image 如何使用vba excel在sql server中获取图像,image,excel,vba,Image,Excel,Vba,我是新手。 目前,我正在尝试将图像[varbinarymax作为数据类型]从sql server 2008导入vba excel。我得到类型不匹配错误 在这里,我将提供我拥有的代码 serverConn 'call the connection function ' open connection objConnection.Open strConnectStr Dim rs As ADODB.Recordset Dim stm As ADODB.Stream Set rs = New

我是新手。 目前,我正在尝试将图像[varbinarymax作为数据类型]从sql server 2008导入vba excel。我得到类型不匹配错误

在这里,我将提供我拥有的代码

serverConn   'call the connection function

' open connection
objConnection.Open strConnectStr

Dim rs As ADODB.Recordset
Dim stm As ADODB.Stream

Set rs = New ADODB.Recordset
Set stm = New ADODB.Stream

Dim sqlquery As String

sqlquery = "SELECT [well_img] FROM well_image WHERE [img_id] = 2"

rs.Open sqlquery, objConnection, adOpenStatic, adLockOptimistic

stm.Type = adTypeBinary
stm.Open
stm.Write rs("well_img").Value   'write bytes to stream
stm.Position = 0

Sheet1.display_img.Picture = stm.Read   'this line is the problem ("Type Mismatch error")

stm.Close
rs.Close
objConnection.Close

Set stm = Nothing
Set rs = Nothing
Set objConnection = Nothing
显示图片是图像ActiveX控件。 希望有人能帮我,我真的需要知道答案。
谢谢。

Gord在这里的回答建议这样做应该有效,所以问题可能在于您如何引用图像控件。请尝试Sheet1.OLEObjectsdisplay\u img.Object.Picture=stm.read谢谢您的建议答案,但遗憾的是问题仍未解决。您还有其他建议吗?您可以尝试将图像保存到临时文件并从那里加载。您确定图像控件与图像格式兼容吗?图像是什么类型的格式?我也在考虑这个问题,但我决定将图像保存为sql server中的二进制类型。我已将img上传/保存到sql server数据库中。但我还是无法显示图像。图像的类型是.png和.jpg。谢谢你的帮助。我的意思是将图像从数据库中取出后保存到临时文件中。