一周前,我构建了一个带有大量按钮的表单,用于在数据库中的特定日期之间运行查询,然后将这些日期导出到 Excel 文件中。在过去的几天里,我扩展了支持自定义文件位置、工作表名称和源表名称的功能。我做了所有这一切,以便任何追随我的人(我是实习生)都可以使用该工具。
然而,大约一个小时前,我开始Run-time error '3275': unexpected error from database driver (1)
在弹出框中收到错误消息。我还不能直接上传图片,但这是我的表单结构的图片。我的代码如下:
Private Sub SendToExcel_Click()
DoCmd.TransferSpreadsheet acExport, , "TBL_XL_DATA", _
"X:\Confidential\Weekly Intel.xlsx", _ \\The file location is here in the actual code
True, "Input"
End Sub
这是“默认”导出选项,在过去的几天里我没有以任何方式对其进行修改。新功能如下:
Private Sub CustomToExcel_Click()
DoCmd.TransferSpreadsheet acExport, , [Forms]![Date Range]![SourceTable], _
[Forms]![Date Range]![FileDest], _
True, [Forms]![Date Range]![SheetName]
End Sub
我发现了一个类似的问题,同样的错误,使用 TransferSpreadsheet,但我不认为我的问题是命令运行太慢,特别是考虑到我在一小时前运行它(较新的命令)没有问题。
我很困惑为什么命令现在不起作用,为什么我有一段时间没有处理的未更改命令现在也抛出相同的错误。我希望有人对错误本身有足够的了解,可以给我一两个建议。我应该寻找什么?我应该修补什么以获得更多信息?
在一个不起眼的论坛中找到了解决方案。我的问题是我的路径太长,传输电子表格无法处理。我很幸运,因为我的数据库和 excel 文件在同一个文件夹中。我相信有一种方法可以支持更长的路径,所以如果有人知道如何做到这一点,我们将不胜感激。现在,我至少可以在我的约束范围内工作。