我有必要让用户创建新的表格,这些表包含给定的行以报告处理的行。用户输入一个名称,用于识别报告的实例以及包含报告行的表的名称。该报告是现有的Microsoft访问数据库套件的一部分。行程表已在此处描述的增强之前输入报告过程。
我最初的尝试失败。
DOCMD方法正在前端数据库中运行,其概念是在后端中创建一个新的表结构,然后将其适当地填充。行程表位于后端数据库中,并在前端链接。命令的结果是出乎意料的。
DoCmd.TransferDatabase acExport, _
“Microsoft Access”, “Path to backend database”, _
acTable, “Itineraries”, “TestTable”, True
我希望在后端数据库中有一个名为TestBills的表,我可以从前端数据库链接到该表。这没有发生。整个行程表被复制到后端数据库中,其中包括TestBills的名称。我说,"有点",因为Testbills表是后端数据库中与后端数据库本身的链接!我无法从前端数据库链接到此表。
我决定使用以下代码段来解决此问题:
DoCmd.TransferDatabase acImport, "Microsoft Access", dbBN, _
acTable, "Itineraries", "ExtraBills", True
DoCmd.TransferDatabase acExport, "Microsoft Access", dbTest, _
acTable, "ExtraBills", "TestBills", True
DoCmd.TransferDatabase acLink, "Microsoft Access", dbTest, _
acTable, "TestBills", "TestBills", True
CurrentDb.TableDefs.Delete ("ExtraBills")
" dbtest"one_answers" dbbn"是具有两个后端数据库的路径的常数。该片段将行程表结构从后端数据库复制到前端数据库,将其重命名为" Extrabills"。然后将" Extrabills"导出到测试数据库中,并命名为TestBills。然后将前端链接到后端中的测试版表,并且从前端数据库中删除了" Extrabills"。
这个过程实现了所需的结果。我想道德是:"请勿使用DocMd的TransferDatabase方法导出表链接。