我的访问应用程序中有一个类模块,它将所有表(系统除外)导出到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
答案 0 :(得分:0)
在循环之前尝试这个:
DoCmd.SetWarnings (WarningsOff)
然后在循环完成后重新启用警告。
DoCmd.SetWarnings (WarningsOn)