阻止Access干扰进度条

时间:2016-11-05 11:44:46

标签: vba ms-access access-vba ms-access-2013

我的访问应用程序中有一个类模块,它将所有表(系统除外)导出到excel文件,这样表名就是工作表名。由于这需要大约5秒钟,因此我将导出循环包装在进度条中。这没有问题。但仍然存在一个问题:似乎DoCmd.TransferSpreadsheet命令为用户提供了终止操作的选项。这是由进度条所在的同一位置的访问应用程序显示的,这就是为什么我的进度条被一些文本阅读中断大致如下:“如果你想停止按esc”。我无法弄清楚哪一行vba阻止它弹出。有任何想法吗?谢谢!

Dim subTdf As TableDef
Dim subIntStatus As Integer
Dim subIntTableCount As Integer

For Each subTdf In pDbPfandDb.TableDefs
    If Not (Left(subTdf.Name, 4) = "msys" Or Left(subTdf.Name, 4) = "usys") Then
        subIntTableCount = subIntTableCount + 1
    End If
Next

SysCmd acSysCmdInitMeter, "Exportiere Tabellen", subIntTableCount

For Each subTdf In pDbPfandDb.TableDefs
    If Not (Left(subTdf.Name, 4) = "msys" Or Left(subTdf.Name, 4) = "usys") Then
        DoCmd.TransferSpreadsheet acExport, , subTdf.Name, pStrFilePath & pStrFileName & pStrFileExtension, True, subTdf.Name
        subIntStatus = subIntStatus + 1
        SysCmd acSysCmdUpdateMeter, subIntStatus
    End If
Next

SysCmd acSysCmdRemoveMeter

Here is how it should always look like

1 个答案:

答案 0 :(得分:0)

在循环之前尝试这个:

DoCmd.SetWarnings (WarningsOff)

然后在循环完成后重新启用警告。

DoCmd.SetWarnings (WarningsOn)