ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 11243|回复: 16

[求助] 如何在ACCESS中引用指定文件夹的照片

[复制链接]

TA的精华主题

TA的得分主题

发表于 2011-7-13 15:17 | 显示全部楼层 |阅读模式
最近要用ACCESS的大批量处理数据能力,结合拍出来的存放在指定文件夹中的照片,打印出包含照片信息的模板来!!
看有哪位大侠能帮我解决,如何在ACCESS中引用指定文件夹中的照片?!!
在下非常感激!!!

TA的精华主题

TA的得分主题

发表于 2011-7-13 15:41 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2011-7-14 16:04 | 显示全部楼层
用Excel批量导入
  1. Sub SavePic()
  2.     Dim BtArr() As Byte
  3.     Dim PicPath As String
  4.     Dim PicName As String
  5.     Dim SQL As String
  6.     Dim Fn As Integer
  7.     Dim cnn As New ADODB.Connection
  8.     Dim rst As New ADODB.Recordset
  9.     Dim myPath As String
  10.     Dim myTable As String
  11.     Dim PicSum As Long
  12.     myPath = ThisWorkbook.Path & "\学校管理.mdb"
  13.     myTable = "学生档案"
  14.     On Error GoTo ErrMsg
  15.     cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & myPath
  16.     SQL = "select 学生编号,相片 from " & myTable & " Where IsNull(相片)= True"
  17.     rst.Open SQL, cnn, adOpenKeyset, adLockOptimistic
  18.     Do Until rst.EOF
  19.         PicName = rst(0)
  20.         PicPath = Dir(ThisWorkbook.Path & "\pic" & PicName & ".*")
  21.         If Len(PicPath) <> 0 Then
  22.             PicPath = ThisWorkbook.Path & "\pic" & PicPath
  23.             Fn = FreeFile
  24.             Open PicPath For Binary As #Fn
  25.             ReDim BtArr(LOF(Fn) - 1)
  26.             Get #Fn, , BtArr
  27.             Close #Fn
  28.             rst("相片") = BtArr
  29.             PicSum = PicSum + 1
  30.         End If
  31.         rst.MoveNext
  32.     Loop
  33.     MsgBox "共有 " & PicSum & " 张相片存入数据库" & vbCr _
  34.     & "还有 " & rst.RecordCount - PicSum & " 人未提供相片", , "保存相片"
  35.     Exit Sub
  36. ErrMsg:
  37.     MsgBox Err.Description, , "错误报告"
  38. End Sub

复制代码

TA的精华主题

TA的得分主题

发表于 2011-7-16 02:01 | 显示全部楼层
其实Access也能以长二进制格式存放相片信息的。但个人不建议这么做,因为需要显示的时候还得返回路径,还不如保存路径来得更为直截了当:

用Access的话,建议建立一个字段存放相片路径,然后再在报表中引用过来就可以了。
如果放在固定的位置,可以通过建立更新查询直接用字符串把路径批量写入:
(例如:Update 学生信息表 set 学生信息表.相片="C:\学生信息\"&[学生信息表]![姓名]&".jpg")

不过这里限制了附件的大小,恕我不上传了。详细可以参考以下链接:
http://www.access-cn.com/thread-97193-1-1.html
需要下载的话,可能需要您注册(以下是推广链接):
http://www.access-cn.com/?fromuid=179386

TA的精华主题

TA的得分主题

发表于 2011-7-16 09:32 | 显示全部楼层

回复 4楼 roych 的帖子

这个方法真好,谢谢

TA的精华主题

TA的得分主题

发表于 2011-7-19 13:23 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
UploadPicture.rar (1.13 MB, 下载次数: 343)

提供一个操作附件

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-7-28 20:29 | 显示全部楼层
谢谢各位,不过本人还是看不懂。有没有可以设置成自动打印按钮的,我要做个也还是看不懂照片是怎么导入到ACCESS中的。阿发的附件看起来不错呀!
还请多多指点!
实在是觉得ACCESS引入照片的话,怎么那么麻烦呀?!!
是在不行,就做成EXCEL版本的。。。
呜呜。。。。。。

TA的精华主题

TA的得分主题

发表于 2011-7-29 08:57 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

回复 7楼 whj1000521 的帖子

其实用Access操作也很简便的,我做一个演示动画吧

TA的精华主题

TA的得分主题

发表于 2011-7-29 09:11 | 显示全部楼层
第一步,在ACCESS中建立一张表tblPic,表字段Num为图片名称,表字段Picture存放图片路径(用查询生成).
PicStep1.JPG

第二步,建立查询生成图片存放路径.
PicStep2.JPG

UPDATE tblPic SET Picture = "C:\Documents and Settings\jfliu\桌面\新建文件夹\pic\" & [tblPic]![Num] & ".gif"

"C:\Documents and Settings\jfliu\桌面\新建文件夹\pic\"表示照片存放路径.(根据存放路径不同更换)
& [tblPic]![Num] &   获取tblPic表中Num字段的图片名称.
".gif"  图片的扩展名.

"C:\Documents and Settings\jfliu\桌面\新建文件夹\pic\" & [tblPic]![Num] & ".gif"   用来获得图片的完整路径

TA的精华主题

TA的得分主题

发表于 2011-7-29 09:24 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
第三步,生成报表
PicStep3.gif
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-12-23 17:12 , Processed in 0.036845 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表