繁体   English   中英

从Excel VBA运行访问模块

[英]Run access module from Excel VBA

我正在尝试在Access上运行此模块:

Public Sub Retriever_P(path)

DoCmd.TransferSpreadsheet acImport, 10, "Product_Details", path, True, ""

End Sub

从Excel中的此VBA代码

 Private Sub CommandButton210_Click()

Dim appAccess As Access.Application
Set appAccess = New Access.Application
Dim Target As String: Target = ThisWorkbook.Sheets("CODE").Cells(8, 4).Value
Dim path As String: path = ThisWorkbook.Sheets("CODE").Cells(5, 13).Value
appAccess.OpenCurrentDatabase Target
appAccess.Visible = True
appAccess.DoCmd.SetWarnings False
appAccess.UserControl = True
appAccess.DoCmd.OpenQuery "Clean Product_Details"
appAccess.Run "Retriever_P", path
appAccess.CloseCurrentDatabase

End Sub

但我收到此错误2517,“ Microsoft Access无法找到过程“ Retriever_P”

Excel代码是一个较大的宏的一部分,该宏创建一个DB,然后将其发送给Access。 有任何想法吗?

先感谢您!

我找到了解决方案:问题是子名称与模块名称相同。 我不知道它必须有所不同,但我希望有人会发现它有用! 谢谢大家的回答!

我在运行一个简单的测试试图通过Excel过程在空数据库(VBA代码除外)中运行Access VBA函数时遇到另一个问题。 没有任何其他对象(表/窗体/等),则无法找到Access VBA功能。 放入名义表后,从Excel VBA调用Access VBA函数成功。 拥有空数据库的情况并不常见,但正如我所说,我只是在进行一次试验以查看该方法是否有效。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM