Access导出二进制文件

踏青出游

不负春光

嗨,大家好久不见,最近的天气简直就是在玩升降机,忽高忽低的,让人防不胜防。大家都要好好照顾好自己哦。

今天,再给大家分享一个导出的示例。

如果,我们的表中有OLE对象的,且已上传了附件,这个时候,如果需要将附件导出,那该怎么做呢?那今天我们就来讲解一下OLE对象的导出。

另外讲一个题外的话题,就是为什么要用OLE对象来存附件呢?因为OLE对象是以二进制数据流或文本流保存附件,来对于附件类型来讲,不会占用太多的容量。

01、表设计

首先,我们要先添加一张有OLE对象设计的表。

表设计好后,我们就可以往表中添加一些数据,用于测试,OLE对象的附件怎么上传,这个我们后面再讲。

02、设计窗体

接下来,我们添加一下窗体,在窗体放上一个控件,用于导出。

 

03、添加代码

接下去就是添加代码了,这里主要是用到了ADODB.Stream

Private Sub cmd_Export_Click()
    Dim rs As New ADODB.Recordset
    Dim mstream As ADODB.Stream
    Dim strfilde As String
    Dim strPath As String
    With FileDialog(4)

        If .Show Then
            strPath = .SelectedItems(1)
        End If
    End With
    If Len(strPath) > 0 Then
        Set rs = New ADODB.Recordset
        rs.Open "Select * from 表名称", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
        If rs.RecordCount > 0 Then rs.MoveFirst
        Do Until rs.EOF
            Set mstream = New ADODB.Stream
            mstream.Type = adTypeBinary
            mstream.Open
            mstream.Position = 0
            mstream.Write rs.Fields("文件").Value
            strfilde = strPath & "\" & rs!文件名
            mstream.SaveToFile strfilde, adSaveCreateOverWrite
            rs.MoveNext
        Loop
        rs.Close
        MsgBox "导出成功。", vbInformation, "提示"
    End If

End Sub

04、测试

最后就是测试一下,将表中OLE对象的附件导出。

好了,大家快去测试一下吧。

posted @   edonsoft  阅读(91)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示