我有一个从从单独数据库导出的表进行更新的报告。我有一个计时器上的报告,每5分钟重试一次。我尝试执行的过程是关闭报告,删除生成报告的查询背后的表,将更新后的文件导入到与刚才删除的同名的表中,然后重新执行查询和报告。我一直收到运行时错误'3211':“数据库无法锁定表”。
下面是代码,任何对这个新手的帮助都是非常感谢的。
Private Sub Report_Timer()
'Close Report
DoCmd.Close acReport, "SMT Progress Report"
'Kill existing tables
Set dbs = CurrentDb
dbs.TableDefs.Delete ("SMT2Updated") ' error here
dbs.TableDefs.Delete ("SMT3Updated")
dbs.TableDefs.Delete ("SMT4Updated")
dbs.TableDefs.Delete ("SMT5Updated")
Set dbs = Nothing
'Import Files to Tables
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12Xml, "SMT2Updated", "\\ct13nt003\mfg\SMT_Schedule_Files\SMT Line Progress Files\SMT2Updated.xlsx", True
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12Xml, "SMT3Updated", "\\ct13nt003\mfg\SMT_Schedule_Files\SMT Line Progress Files\SMT3Updated.xlsx", True
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12Xml, "SMT4Updated", "\\ct13nt003\mfg\SMT_Schedule_Files\SMT Line Progress Files\SMT4Updated.xlsx", True
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12Xml, "SMT5Updated", "\\ct13nt003\mfg\SMT_Schedule_Files\SMT Line Progress Files\SMT5Updated.xlsx", True
'Refresh and Open Query/Report
Me.Requery
DoCmd.OpenReport "SMT Progress Report", acViewReport
'Export status file
DoCmd.OutputTo acOutputReport, "SMT Progress Report Export Only", acFormatPDF, "\\ct13nt003\MFG\SMT Live Report\SMTLive" & "_" & Format(Now(), "mmddyyyy-hhmm") & ".pdf", False
End Sub发布于 2015-10-27 19:19:49
我制作了一个表单,过滤了一个查询,并试图制作一份报告。我收到了同样的错误,说无法通过数据库引擎锁定表。
我所做的只是转到desighn视图中的报告,并将记录锁定更改为无锁定。啊,真灵。
https://stackoverflow.com/questions/20225637
复制相似问题