用Python运行msaccess.accdb文件的宏

2024-05-14 14:56:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在.accdb文件中运行宏查询(宏执行许多查询,为数据库中的每个查询保存一个新表)。在

看起来像这样:

import os
import sys
import shutil
import win32ui
import win32api,time
import win32com.client
from win32com.client import Dispatch, constants
const=win32com.client.constants


  def ejecutarPY():

    src_dir= r"C:\Users\irecasens\Desktop"
    os.chdir(src_dir)

    strDbName = 'test1.accdb'     
    objAccess = Dispatch("Access.Application")    
    objAccess.Visible = False    
    objAccess.OpenCurrentDatabase(strDbName)     
    objDB = objAccess.CurrentDb()      
    objAccess.DoCmd.RunMacro('GO')     
    objAccess.Application.Quit()     

ejecutarPY()

它给出的错误是:

^{pr2}$

最后它说数据库已经打开了,但是没有(它是一个本地文件,没有人有任何访问权限)。里面所有的桌子也是本地的)。在

有什么问题吗?在


Tags: 文件importsrcclient数据库applicationosdir
1条回答
网友
1楼 · 发布于 2024-05-14 14:56:45

我开始改变一些命令如下所示:

def ejecutarPY():

    src_dir= r"C:\Users\..."
    os.chdir(src_dir)
    strDbName = 'C:\Users\....accdb'
    print(strDbName)
    ac = win32com.client.Dispatch("Access.Application")
    ac.Visible=False

    ac.OpenCurrentDatabase(strDbName)
    ac.DoCmd.RunMacro('GO')
    ac.DoCmd.CloseDatabase
    ac = None

ejecutarPY()

现在一切正常。在

相关问题 更多 >

    热门问题