以下是Python代码实现:

import tkinter as tk
from tkinter import filedialog
import os
import shutil
import win32com.client

root = tk.Tk()
root.withdraw()

# 打开文件选择对话框,选择多个MDB文件
file_paths = filedialog.askopenfilenames(filetypes=[("MDB files", "*.mdb")])

# 如果没有选择文件,直接退出程序
if not file_paths:
    exit()

# 创建目标MDB文件
target_file_path = filedialog.asksaveasfilename(defaultextension=".mdb", filetypes=[("MDB files", "*.mdb")])
if not target_file_path:
    exit()

# 复制第一个MDB文件到目标文件
first_mdb_path = file_paths[0]
shutil.copy(first_mdb_path, target_file_path)

# 打开目标文件
access = win32com.client.Dispatch("Access.Application")
access.Visible = False
access.OpenCurrentDatabase(target_file_path)

# 依次打开其他MDB文件,并把其中的所有表复制到目标文件中
for file_path in file_paths[1:]:
    db = win32com.client.Dispatch("DAO.DBEngine.36")
    source_db = db.OpenDatabase(file_path)
    for tbl in source_db.TableDefs:
        access.DoCmd.TransferDatabase(TransferType=0, DatabaseType="Microsoft Access", \
            DatabaseName=source_db.Name, ObjectType=dao.ObjectTypeEnum.dbTable, \
            Source=tbl.Name, Destination=tbl.Name)
    source_db.Close()

# 关闭目标文件
access.CloseCurrentDatabase()
access.Quit()

该程序使用了tkinter库来创建GUI窗口,通过filedialog模块选择多个MDB文件和目标MDB文件,使用shutil库复制第一个MDB文件到目标文件,然后使用win32com.client库打开目标MDB文件和其他MDB文件,通过DoCmd.TransferDatabase方法把其他MDB文件中的表复制到目标MDB文件中,并最终关闭目标MDB文件。

注意:该程序需要依赖Windows系统和Microsoft Access软件,否则可能无法运行

用Python 点击开始按钮 打开窗口选择多个MDB数据点击确定合并成一个MDB数据库的程序

原文地址: https://www.cveoy.top/t/topic/cjrc 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录