标题:VB如何读写Access里excel文件?
只看楼主
yuk_yu
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:334
专家分:134
注 册:2009-3-16
结帖率:85.71%
已结贴  问题点数:20 回复次数:9 
VB如何读写Access里excel文件?
请大家指点如何将一个附件保存到access中,并且可以实现直接将附件打开? 如果是其他附件读写会有区别吗?
附件是存放在ACCESS,但怎么直接读取附件打开呢? 附件有PDF,XLS,XLSX,JPG
comFileacess.zip (510.19 KB)


[ 本帖最后由 yuk_yu 于 2011-10-26 08:59 编辑 ]
搜索更多相关主题的帖子: 如何 access excel 
2011-10-25 17:06
yuk_yu
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:334
专家分:134
注 册:2009-3-16
得分:0 
回复 楼主 yuk_yu
敬请大家帮忙,在附件中只能实现下载,而不能实现直接打开,挺麻烦,我想实现直接打开.谢谢
2011-10-26 10:50
yuk_yu
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:334
专家分:134
注 册:2009-3-16
得分:0 
回复 2楼 yuk_yu
期待大家指点!
2011-10-28 11:51
xlin1033xl
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:160
专家分:129
注 册:2007-6-24
得分:10 
Private Sub download_Click()
    Dim f As String
    Dim rs As ADODB.Recordset
    Dim mstream As ADODB.Stream
    Dim strfileName As String
    On Error GoTo errlab


    Set rs = New ADODB.Recordset
    rs.Open "Select * from fileTab where fileid=" & MSHFlexGrid1.TextMatrix(MSHFlexGrid1.Row, 0), cn, adOpenKeyset, adLockOptimistic

    Set mstream = New ADODB.Stream
    mstream.Type = adTypeBinary
    mstream.Open
    mstream.Write rs.Fields("Filedata").Value

    strfileName = rs("filename")
    mstream.SaveToFile App.Path & "\" & strfileName, adSaveCreateOverWrite
    rs.Close

    Call ShellExecute(0, "open", strfileName, 0, 0, 1)

    Exit Sub
errlab:
    MsgBox "打开文件出错!", vbExclamation, "错误"
End Sub

-------------程序*酒*人生
2011-10-28 21:27
xlin1033xl
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:160
专家分:129
注 册:2007-6-24
得分:10 
忘记函数定义了,补上
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

-------------程序*酒*人生
2011-10-28 21:28
yuk_yu
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:334
专家分:134
注 册:2009-3-16
得分:0 
回复 5楼 xlin1033xl
完美答案,谢谢!!
2011-10-29 11:44
yuk_yu
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:334
专家分:134
注 册:2009-3-16
得分:0 
回复 5楼 xlin1033xl
老大,可以实现关闭打开的文件同时删除该文件吗?要不开多几个文件会出现很多附件再该目录,占用过多空间会要手动删除。
2011-10-29 12:09
xlin1033xl
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:160
专家分:129
注 册:2007-6-24
得分:0 
要响应关闭的操作,这个需要拦截windows消息了,这个比较麻烦

-------------程序*酒*人生
2011-10-29 20:06
yuk_yu
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:334
专家分:134
注 册:2009-3-16
得分:0 
回复 8楼 xlin1033xl
谢谢,我再想其他办法吧!
2011-10-30 02:02
foreversun
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2011-1-11
得分:0 
rs.Open "Select * from fileTab where fileid=" & MSHFlexGrid1.TextMatrix(MSHFlexGrid1.Row, 0), cn, adOpenKeyset, adLockOptimistic
 如何 将上面这句改为指定的记录: 如fielid=7 或者filename=text.xls
2013-12-20 17:40



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-353402-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027020 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved