【问题标题】:Access 2013 msoFileDialogSaveAs Not Saving Image访问 2013 msoFileDialogSaveAs 不保存图像
【发布时间】:2016-10-20 18:34:11
【问题描述】:

在 DAO 数据库 Access 2013 中,我在 msoFileDialogSaveAs 应用程序的设置图像行上收到编译语法错误。我最好猜测如何保存 jpg 文件的代码。在跨论坛和 MS 开发人员/支持数据库进行研究之后,我进行了实验,这是我最接近解决方案的方法。关于如何成功地允许最终用户从内部访问将 jpg 文件保存到系统而不是数据库本身的任何想法?在这一点上,我对使用 API 感到不舒服。

    Option Compare Database
    Option Explicit
    Dim FileLocation As String
    Dim DiagFile As FileDialog

    Private Sub Jpgbtn_Click()
       Set DiagFile = Application.FileDialog(msoFileDialogSaveAs)
       DiagFile.Title = "Save .jpg File As..."
       DiagFile.InitialFileName = "*.jpg"
       DiagFile.AllowMultiSelect = False
         If DiagFile.Show Then
            FileLocation = DiagFile.SelectedItems(1)
            Set Image = CreateObject("*.jpg")
       >>>>>Set Image = file.Item "*.jpg"
            Image.SaveFile FileLocation
         End If
        MsgBox (" Jpg successfully saved. ")
        globals.ActivityLog "Jpgbtn"
    End Sub

【问题讨论】:

  • 什么是file.Item,它来自哪里?
  • @Andre,这是我对保存 jpg 编码的最佳猜测。它是由智能感知提供的一个选项,但它失败了。由于我没有尝试过其他任何工作,因此放弃并在这里尝试。我发现必须引用该对象,但我不知道执行此操作的语法并成功保存文件以供以后打开。这就是我需要帮助的地方。
  • 你到底想做什么?创建并保存一个空的 .jpg 文件?那有什么意义呢?或者是否有您要保存的图像数据?它来自哪里?
  • 对于周末的延误,我深表歉意。正在从用户的计算机上载图像,以保存在服务器上的文件中,该文件与 db 的用户分开,但链接到并可供用户使用。如果我能弄清楚如何在 db 中使用 vba 来操作扫描仪并保存 jpg、jpeg、pdf 和 tif 文件,我会的,但由于我找不到,我只能允许用户能够操作扫描仪保存到他们的桌面,然后从桌面上传到数据库以允许链接到客户文件。这有帮助吗?
  • @Andre,也许知道我是 Access 和 VBA 的新手会有所帮助。我是否按照您需要的方式回答了您的问题?

标签: vba image ms-access dao save-as


【解决方案1】:

我从讨论中得出的结论:

您想要一个msoFileDialogFilePicker 对话框,而不是msoFileDialogSaveAs,让用户从他的桌面(或任何地方)选择一个文件。
How to show "Open File" Dialog in Access 2007 VBA?

然后从您的客户表中读取客户文件夹路径(服务器路径)(例如使用DLookup)。

使用FileCopy将选中的文件复制到服务器路径。

如果您有一个包含所有客户文件的表,请将Server Path\file name 添加到其中。

注意:文件文件夹的区别你真的需要看清楚,不然大家都糊涂了。

【讨论】:

  • 感谢您的回答!我会努力解决的,然后告诉你进展如何。老实说,我不知道文件和文件夹之间有区别。就像我说的,Access 新手;对我来说,直到现在,它们一直是同一个概念的同义词。我还将查找文件与文件夹的区别。也感谢您的教育:)
  • 这很好用!非常感谢您的教育,我不知道文件和文件夹之间的区别,一提到它就查了一下,以后会努力更清楚。我实际上使用了 SQL 查询而不是“DLookup”,因为“DLookup”会降低数据库的速度。我还能够将所有文档组合成一个按钮,而不是将它们分成单个按钮;是的,更小的代码!都是因为你的帮助。你是福报!再次感谢您。
  • 酷,感谢您的反馈。很高兴知道时间得到了很好的投资。 :)
猜你喜欢
  • 1970-01-01
  • 2013-02-16
  • 2023-03-27
  • 1970-01-01
  • 1970-01-01
  • 2012-10-28
  • 2010-12-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多