Vba 调度MS访问模块
是否可以在MS访问计划模块中每天在特定时间运行?如果不可能,安排MS Access中的模块每天运行的最佳和最简单的方法是什么 脚本用于将表从MS Access导出到xls文件,如下所示Vba 调度MS访问模块,vba,ms-access,scheduled-tasks,Vba,Ms Access,Scheduled Tasks,是否可以在MS访问计划模块中每天在特定时间运行?如果不可能,安排MS Access中的模块每天运行的最佳和最简单的方法是什么 脚本用于将表从MS Access导出到xls文件,如下所示 Dim outputFileName As String outputFileName = CurrentProject.Path & "\Export_" & Format(Date, "yyyyMMdd") & ".xls" DoCmd.TransferSpreadsheet a
Dim outputFileName As String
outputFileName = CurrentProject.Path & "\Export_" & Format(Date, "yyyyMMdd") & ".xls"
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "bolnickiracun", outputFileName, True
2解决方案
窗体计时器 此解决方案要求始终打开Access应用程序 创建表单 以事件的形式:
- 将计时器间隔设置为60000
- 在定时器上执行
程序,调用模块的子模块
Windows计划任务 我认为这个解决方案更好,因为它不需要运行MS access应用程序 在Access应用程序中:
docmd.Quit
anything.bat的新文件
)窗体计时器 此解决方案要求始终打开Access应用程序 创建表单 以事件的形式:
- 将计时器间隔设置为60000
- 在定时器上执行
程序,调用模块的子模块
Windows计划任务 我认为这个解决方案更好,因为它不需要运行MS access应用程序 在Access应用程序中:
docmd.Quit
anything.bat的新文件
)使用Windows任务计划程序打开Access 此外,一旦任务计划程序打开了访问权限,您就可以控制其他事件 打开 “打开”发生在加载之前,允许您取消,因此它不会打开。它还允许访问OpenArgs。如果您的表单需要用户输入,这将非常有用。如果未提供,您可以取消表单。打开或提示用户输入所需的值
Private Sub Form_Open(Cancel As Integer)
If "" & OpenArgs = "" Then
Cancel = True
Msgbox "Open Arguments are required"
End If
End Sub
加载
加载发生在Open之后,并且缺少Open提供的任何控件
Private Sub Form_Load()
Me.Caption = Date
End Sub
使用Windows任务计划程序打开Access 此外,一旦任务计划程序打开了访问权限,您就可以控制其他事件 打开 “打开”发生在加载之前,允许您取消,因此它不会打开。它还允许访问OpenArgs。如果您的表单需要用户输入,这将非常有用。如果未提供,您可以取消表单。打开或提示用户输入所需的值
Private Sub Form_Open(Cancel As Integer)
If "" & OpenArgs = "" Then
Cancel = True
Msgbox "Open Arguments are required"
End If
End Sub
加载
加载发生在Open之后,并且缺少Open提供的任何控件
Private Sub Form_Load()
Me.Caption = Date
End Sub
如果您是从access中执行操作,请使用窗体计时器并保持数据库打开。@Nathan_Sav的问题是,大约有10个access DB,我想在.xlsx中导出每个DB,然后在MySQL中计划自动导入,我已经完成了这一部分,但我不知道是否可以在access中计划模型,而且数据库非常大,随着所有访问文件的不断打开,RAM将不断被填满检查:@tom preston我尝试了这个解决方案,但对我来说它不起作用,或者我不知道该怎么做,我也不明白/x的含义,以及需要在“这行中添加什么内容”C:\Users\Public\schedTest.accdb/x DoSomethingCreate 1 linked DB,控制它并使用窗体计时器打开相关的access DB并执行它需要的操作。一个包含db名称、执行时间、执行宏等的表。如果您是从access中执行,请使用forms timer并保持db打开。@Nathan_Sav的问题是,大约有10个access db,我想导出.xlsx中的每个db,然后在MySQL中计划自动导入,我已经完成了这一部分,但我不知道是否有可能在Access中调度模型,而且DB相当大,并且随着不断打开所有Access文件,RAM将不断被填满。请检查以下内容:@tom preston我尝试过该解决方案,但对我来说它不起作用,或者我不知道该怎么做,我也不知道/x是什么意思以及需要放置什么“此行中的DoSomething”C:\Users\Public\schedTest.accdb/x DoSomething创建1 li