Office中国论坛/Access中国论坛
标题:
Office2010 代码创建、另存、删除附件
[打印本页]
作者:
Grant
时间:
2012-1-11 15:47
标题:
Office2010 代码创建、另存、删除附件
本帖最后由 Grant 于 2012-1-11 17:22 编辑
用了一天时间写成了这个东西,准备融入到客户管理软件中去,现在很多客户电脑都安装了新的office2010
不得不转型学习office2010的新功能,发现有不少好东西,暂时先研究这个,先贴上来给大家分享一下
[attach]48053[/attach]
Option Compare Database
'===============================================================================
'-函数名称: modAdj
'-功能描述: 保存,删除,添加附件
'-输入参数说明: 参数1:strPath As String 目标路径
' 参数2:strFileName As String 文件名称
' 参数3:ID As long 自动编号
'-使用语法示例: AddAdj(自动编号,文件名,路径) '添加附件
' DelAdj(自动编号,文件名) '删除附件
' GetAdj(自动编号,列表框) '读取附件
' GetSave(自动编号,文件名,路径) '保存附件
'-参考:
'-使用注意:
'-兼容性: Office2007,Office2010
'-作者: Grant
'-联系方式: QQ:20991943 Email:20991943@qq.com
'-更新日期: 2012-01-11
'===============================================================================
Public Function AddAdj(ID As Long, strFileName As String, strPath As String) '添加附件
Dim db As Database
Dim Rstable As Recordset
Dim RsAdj As Recordset2
'数据库
Set db = DBEngine.Workspaces(0).Databases(0)
'打开表
Set Rstable = db.OpenRecordset("select * from 企业信息 where ID=" & ID)
' While Not Rstable.EOF
'获取附件列的文件集合
Set RsAdj = Rstable("附件").Value
'往附件列添加文件
Rstable.Edit
RsAdj.AddNew
RsAdj("FileData").LoadFromFile (strPath)
RsAdj("FileName") = strFileName
RsAdj.Update
Rstable.Update
Rstable.Close
End Function
Public Function DelAdj(ID As Long, strFileName As String) '添加附件
Dim db As Database
Dim Rstable As Recordset
Dim RsAdj As Recordset2
'数据库
Set db = DBEngine.Workspaces(0).Databases(0)
'打开表
Set Rstable = db.OpenRecordset("select * from 企业信息 where ID=" & ID)
' While Not Rstable.EOF
'获取附件列的文件集合
Set RsAdj = Rstable("附件").Value
'往附件列添加文件
Rstable.Edit
While Not RsAdj.EOF
If RsAdj("FileName") = strFileName Then
Rstable.Edit
RsAdj.Delete
Rstable.Update
Rstable.Close
Exit Function
End If
RsAdj.MoveNext
Wend
Rstable.Close
End Function
Public Function GetAdj(ID As Long, list As ListBox) '获取附件,读取到list
Dim db As Database
Dim Rstable As Recordset
Dim RsAdj As Recordset2
Set db = DBEngine.Workspaces(0).Databases(0) '数据库
Set Rstable = db.OpenRecordset("select * from 企业信息 where ID=" & ID) '定位表记录
If Rstable.RecordCount = 0 Then Exit Function '记录为0退出
Set RsAdj = Rstable("附件").Value
While Not RsAdj.EOF '循环
list.AddItem RsAdj("FileName") '读取文件到列表
' RsAdj("FileData").SaveToFile ("C:\Documents" & rsatts("FileName").Value)
RsAdj.MoveNext
Wend
Rstable.Close
End Function
Public Function GetSave(ID As Long, strFileName As String, strPath As String)
Dim db As Database
Dim Rstable As Recordset
Dim RsAdj As Recordset2
'数据库
Set db = DBEngine.Workspaces(0).Databases(0)
'打开表
Set Rstable = db.OpenRecordset("select * from 企业信息 where ID=" & ID)
Set RsAdj = Rstable("附件").Value
While Not RsAdj.EOF
If RsAdj("FileName") = strFileName Then
If Dir(strPath) <> "" Then
Kill strPath
End If
RsAdj("FileData").SaveToFile (strPath)
Rstable.Close
Exit Function
End If
RsAdj.MoveNext
Wend
Rstable.Close
End Function
复制代码
作者:
JosephTan
时间:
2012-1-11 16:30
看一下。
作者:
yanwei82123300
时间:
2012-1-11 16:43
谢谢分享!
作者:
godzhong
时间:
2012-1-11 17:04
好东西,先学习下
作者:
todaynew
时间:
2012-1-11 17:20
本帖最后由 todaynew 于 2012-1-11 17:24 编辑
建议将增改删独立成为函数
作者:
Grant
时间:
2012-1-11 17:24
todaynew 发表于 2012-1-11 17:20
建议将SQL语句作为参数
是的,这个只是初版,很多地方需要完善,本来还想加入写图形进行美化,不过想想控制不便所以暂时先不加入
作者:
zhuyiwen
时间:
2012-1-11 19:19
呵呵,附件,好东西
作者:
咱家是猫
时间:
2012-1-11 19:40
我又回来啦.{:soso_e113:}
作者:
andymark
时间:
2012-1-11 19:57
谢谢分享!!
作者:
sxb2007
时间:
2012-1-11 20:24
谢谢分享!!
作者:
goto2008
时间:
2012-1-12 00:14
哇,不错的例子。很有创意哦。
作者:
t小宝
时间:
2012-1-12 09:21
附件的功能确实很强大
作者:
chenyelkh
时间:
2012-1-12 15:54
:)
作者:
changweiren
时间:
2012-1-12 16:24
好东西学到了
作者:
Henry D. Sy
时间:
2012-1-13 21:48
进来学习一下
作者:
yodong
时间:
2012-1-15 21:49
看看好东西
作者:
门关上
时间:
2012-1-17 11:08
收藏了,好东西不能错过
作者:
daxin1
时间:
2012-1-17 11:41
先看看
作者:
Jackeyxue
时间:
2012-1-17 14:31
谢谢楼主分享!
作者:
etatufo
时间:
2012-1-20 12:20
谢谢分享
作者:
pangzcn
时间:
2012-1-31 20:45
学习呀!
作者:
ruanjy
时间:
2012-3-21 09:33
不要不行
作者:
h150085001
时间:
2012-3-21 17:48
学习
作者:
caoguangyao
时间:
2012-3-21 21:55
学习
作者:
c101
时间:
2012-3-21 22:27
谢谢分享
作者:
轻风
时间:
2012-3-21 23:38
好久不见GG大作了
作者:
accessbenhum
时间:
2012-3-22 08:26
2003可用否?
作者:
simq
时间:
2012-3-29 14:58
正需要,谢谢楼主。
作者:
efcndi
时间:
2012-3-29 15:37
没看懂,太高深
作者:
boyandmerry
时间:
2012-9-19 23:27
这个不错
作者:
82077802
时间:
2012-9-20 06:18
谢谢分享!
作者:
cocopig
时间:
2012-9-20 08:26
学习
作者:
smileyoufu
时间:
2013-2-15 19:03
看看怎么用
作者:
smileyoufu
时间:
2013-2-15 19:05
不能下载附件,显示“抱歉,该附件无法读取”
作者:
yedaoan
时间:
2013-3-14 15:11
是要更新一下知识
作者:
yanghua1900363
时间:
2013-3-14 16:17
俺也学习学习!
作者:
xyh2732
时间:
2013-4-1 22:16
谢谢分享!!!!!!!!
作者:
c101
时间:
2013-4-2 08:14
学习一下
作者:
XMX64311
时间:
2013-4-8 12:41
谢谢分享
作者:
lkkl66
时间:
2013-5-6 17:39
谢谢提供学习资料
作者:
YXH_YXH
时间:
2013-5-20 15:11
帮顶!!!!
作者:
snddzxb
时间:
2013-6-15 15:22
学习一下呢
作者:
李力军2
时间:
2013-6-15 21:30
附件是不是有违关系型数据库的基本原理啊?
作者:
dfang
时间:
2013-6-16 10:19
作者:
gdjdyyj
时间:
2013-6-16 11:18
学习!!
作者:
liumporite
时间:
2014-6-28 11:33
我要学习,看看
作者:
327531347
时间:
2015-1-4 14:18
正需要
作者:
leonshi
时间:
2015-1-4 15:59
谢谢
作者:
llm4947
时间:
2015-1-12 17:43
看一下。
作者:
yyalm
时间:
2016-12-9 08:14
看看
作者:
hrawea
时间:
2017-4-10 23:33
感谢分享
作者:
shixm_1
时间:
2017-5-1 21:45
下载学习
作者:
clearskyz
时间:
2017-7-23 17:35
支持
作者:
hwmm
时间:
2017-9-14 11:58
谢谢分享!!
作者:
liaobus
时间:
2020-3-10 13:01
看看是什么
作者:
390012370
时间:
2024-1-16 18:30
大佬!多谢了!学习一下!
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3