Microsoft VBA Excel 操控 Access资料表和查询代码进行搬运操作

问题场景

Run_No Source_Address Source_File Destination_Address Destination_File Copy_Indicator Run_Start_Time
1 C:\Users\EP\path\to\File SSS-1.MDB C:\Users\EP\path\to\File SSC-1.MDB Y
2 C:\Users\EP\path\to\File SSS-2.MDB C:\Users\EP\path\to\File SSC-2.MDB Y
3 C:\Users\EP\path\to\File SSS-3.MDB C:\Users\EP\path\to\File SSC-3.MDB N
4 C:\Users\EP\path\to\File SSS-4.MDB C:\Users\EP\path\to\File SSC-4.MDB N
5 C:\Users\EP\path\to\File SSS-5.MDB C:\Users\EP\path\to\File SSC-5.MDB N
6 C:\Users\EP\path\to\File SSS-6.MDB C:\Users\EP\path\to\File SSC-6.MDB Y

注意:表格的标题不仅仅是该单元格的值,更是将该单元格命名为对应的名称,例如 “Run_No” 所在单元格的名称是 “Run_No” 、"Copy_Indicator " 所在单元格的名称是 "Copy_Indicator " 。

执行逻辑:试图构建主函数 Sub 和两个子函数 Function,实现以下功能:

  1. 主函数 Sub
    • 将需要复制的资料表和查询的名称分别储存成数组;
    • 循环 “Run_No” ,每次循环都需要根据 “Copy_Indicator” 判断是否需要继续执行剩余代码,如果是"Y"就执行,否则就跳过;
      • 根据前一步是 “Y”,组合来源文件和目标文件,即将本次循环中同一行的 “Source_Address” 和 “Source_File” 组合以及 “Destination_Address” 和 “Destination_File” 组合,并打开这两文件;
      • for循环资料表和查询的名称组成的数组,每次调用两个子函数 Function,将需要的资料表和查询通过这两个子函数从来源文件完整复制到目标文件。
  2. 子函数 Function
    • 资料表子函数
      • 输入资料表名称、来源文件和目标文件,实现资料表的完美复制(包括数据结构和SQL)。
    • 查询子函数
      • 输入查询名称、来源文件和目标文件,实现查询的完美复制。

代码描述

  1. 主函数 Sub CopyDatabaseObjects

    • 遍历每一行,检查 “Copy_Indicator” 是否为 “Y”,如果是,则组合文件路径,并打开数据库文件进行复制操作。
  2. 子函数 CopyTableCopyQuery

    • 函数接收资料表和查询的名称,然后从源数据库复制到目标数据库。

总结

中文

Sub CopyDatabaseObjects()
    ' 定义数组存储资料表和查询的名称
    Dim tables() As String
    Dim queries() As String
    
    ' 示例数据,需要根据实际情况填充
    tables = Array("Table1", "Table2")
    queries = Array("Query1", "Query2")
    
    Dim i As Integer
    Dim sourcePath As String
    Dim destinationPath As String
    
    ' 循环处理每一行
    For i = 1 To 6 ' 假设有6次运行,应根据实际行数进行修改(或者根据之前的文章修改,有很多循环方法)
        ' 检查是否需要复制
      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值