首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在access数据库中附加和查看pdf文档

如何在access数据库中附加和查看pdf文档
EN

Stack Overflow用户
提问于 2013-11-02 00:27:20
回答 3查看 23K关注 0票数 0

我在access中有一个非常简单的数据库,但对于每个记录,我需要附加一个扫描的文档(可能是pdf)。要做到这一点,最好的方法是什么,数据库不应该只是链接到pc上的文件,而应该复制并保留文件,这意味着如果原始文件丢失,数据库被移动或复制,该文件仍然可以从数据库中访问。这个是可能的吗?那么最简单的方法是什么呢?如果我应该写一个宏,我只是不知道从哪里开始。另外,当我显示表的报告时,我希望只看到文档的缩略图。谢谢。

EN

回答 3

Stack Overflow用户

发布于 2013-11-02 04:07:51

正如其他回答者所指出的那样,将文件数据存储在数据库表中可能是一种有问题的做法。也就是说,我个人不会排除这种可能性,但是如果您打算采用这种选择,我强烈建议将文件数据拆分到它自己的后端文件中的表中。例如:

  • 创建一个名为Scanned files.mdb的新数据库文件(或创建一个名为Scans的表,其字段如FileID (AutoNumber,主键)、MainTableID (匹配主数据库文件中主表的任何主键)、FileName (文本)、FileExt (文本)和FileData ('OLE对象‘,实际上只是一个BLOB -不要实际使用OLE对象,因为它们会使前端的数据库horribly).
  • Back膨胀),以链接表的形式添加对Scans的引用。使用一些
  • 上载和提取Scans表中的文件(如果您对此机制感兴趣,请发布一个单独的VBA Shell例程(如果需要)或Windows API中的ShellExecute (=更好的选项IMO)以打开提取的数据。

如果您使用的是较新的ACCDB格式,则可以按照smk081的建议使用“attachment”字段类型。这基本上为你完成了上面的大部分步骤,但是“手工”给了你更大的灵活性-例如,它允许给每个文件一个'DateScanned‘或'DateEffective’字段。

也就是说,您对缩略图的要求将需要显式编码,无论您选择什么选项。也许可以利用Windows文件预览API,尽管在研究这一点之前,我可以肯定缩略图是一个明确的要求- Access VBA足够强大,可以鼓励尝试复杂的解决方案,但通常不够干净和现代,无法以一种特别可维护的方式实现它们。

票数 2
EN

Stack Overflow用户

发布于 2013-11-02 00:32:06

当您进入表的“设计”视图时,“数据类型”下有一个附件类型。您可以在此处添加附件字段。当您进入表的“数据表视图”时,可以为特定行选择此字段,此时将打开一个窗口,供您指定附件。如果您添加了大量大型附件,这将导致数据库的大小迅速增加。

票数 0
EN

Stack Overflow用户

发布于 2013-11-02 03:05:44

您可以在表中使用OLE字段,但我强烈建议您不要使用此方法。数据库很快就会变得巨大,你会后悔的。

相反,您应该考虑添加一个存储文件路径的字段,并将文件保存在网络上的一个文件夹中。然后,您可以使用SHELL()命令打开该文件。如果出现问题,恢复Access数据库和恢复PDF文件有什么不同?这将使您的数据库保持在可管理的大小,并减少损坏的可能性。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19730993

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档