VBA通过另一个访问数据库在访问数据库中运行函数
我只需要运行一个函数,该函数将在不同的access数据库中运行多个报告。。。ad DB将对其进行全部规则:) 结构如下:在我的multi_report.accdb中,我有一个带有按钮的表单,该按钮运行以下代码:VBA通过另一个访问数据库在访问数据库中运行函数,vba,Vba,我只需要运行一个函数,该函数将在不同的access数据库中运行多个报告。。。ad DB将对其进行全部规则:) 结构如下:在我的multi_report.accdb中,我有一个带有按钮的表单,该按钮运行以下代码: Private Sub Comando1_Click() Dim db_report As String Dim objAccess As Object Dim ctr As Date 'TICKETS db_report = "\\sdocenco01\OPC\11_SC
Private Sub Comando1_Click()
Dim db_report As String
Dim objAccess As Object
Dim ctr As Date
'TICKETS
db_report = "\\sdocenco01\OPC\11_SCL\TICKETS\ticket.accdb"
Set objAccess = GetObject(db_report) 'opens other db
objAccess.Visible = True
objAccess.Run "report_tickets" 'runs function in other db
objAccess.Quit 'quits other db
Set objAccess = Nothing
'PROCESSI
db_report = "\\sdocenco01\OPC\11_SCL\PROCESSI\utilita.accdb"
Set objAccess = GetObject(db_report)
objAccess.Visible = True
objAccess.Run "report_processi"
objAccess.Quit
Set objAccess = Nothing
...
Public Function report_tickets()
DoCmd.SetWarnings False
Dim cdb As DAO.Database, qdf As DAO.QueryDef
Set cdb = CurrentDb
...
End Function
排队
objAccess.Run "report_tickets"
我收到运行时错误“2517”例行报告\u未找到票证
我试过不同的密码,比如
objAccess.Run "ticket.report_tickets"
或
但似乎什么都不管用
在\sdocenco01\OPC\11\u SCL\TICKETS\ticket.accdb中,我有以下代码:
Private Sub Comando1_Click()
Dim db_report As String
Dim objAccess As Object
Dim ctr As Date
'TICKETS
db_report = "\\sdocenco01\OPC\11_SCL\TICKETS\ticket.accdb"
Set objAccess = GetObject(db_report) 'opens other db
objAccess.Visible = True
objAccess.Run "report_tickets" 'runs function in other db
objAccess.Quit 'quits other db
Set objAccess = Nothing
'PROCESSI
db_report = "\\sdocenco01\OPC\11_SCL\PROCESSI\utilita.accdb"
Set objAccess = GetObject(db_report)
objAccess.Visible = True
objAccess.Run "report_processi"
objAccess.Quit
Set objAccess = Nothing
...
Public Function report_tickets()
DoCmd.SetWarnings False
Dim cdb As DAO.Database, qdf As DAO.QueryDef
Set cdb = CurrentDb
...
End Function
首先,根据合同,项目名称必须包括:
要运行的函数或子过程的名称。如果你是
在另一个数据库中调用过程时,请使用项目名称和
程序名称以点分隔,格式如下:
“projectname.procedurename”
接下来,我想“Report_u2;”前缀会混淆。尝试重命名函数并调用它们,如下所示:
objAccess.Run "YourProjectName.ReportTickets"
不,这似乎不是解决方案请看扩展答案。不,我试过。。。仍然不工作。。。同样的错误,然后再次检查所有内容。它在这里经过测试并运行得很好,我确实按照您的建议命名了函数。。。我真的不知道该怎么办