微软Access模块​​

问题描述:

你好,我是相当新的VBA编码在MS Access和我一直遇到一个数据传输模块的问题。我相信这个问题与'DoCmd.RunSQL行'有关,但我无法确定如何修复它。其代码如下:微软Access模块​​

Public Function runit() 

    DoCmd.TransferDatabase acLink, "Microsoft Access", "C:\Documents and Settings\LChristi\Desktop\Projections Sep 2013\2-Transpose and Break into Counties\2c-BreakIntoCountiesTransposed.mdb", acTable, "CNTY999", "CNTY999" 

    cnty = Left(Right(CurrentDb.Name, 7), 3) 

    DoCmd.RunSQL "insert into TBLCNTY" & cnty & " (UI, RU, Year, Month, County, NAICS, Owner, MEEI, Emp, AdjCnty, AdjNAICS, ADJEMP)Select UI, RU, Year, Month, County, NAICS, Owner, MEEI, Emp, AdjCnty,AdjNAICS,AdjEMP from CNTY" & cnty & "';" 

    DoCmd.DeleteObject acTable, "CNTY" & cnty & "" 

    End Function 

当我尝试运行所述模块,我得到一个错误“3024”找不到文件的消息回来了。这个数据库已经从一台计算机转移到我的。我想知道如果有人知道我该如何解决这个问题。

谢谢!

你必须在文件路径andSettings之间的“Documents and 设置”双空间

+0

这是在这里输入的编码错误,在访问没有多余的空间,我刚编辑我原来的问题。 –

考虑一个纯粹的SQL解决方案,可访问从联调用其他Access数据库查询。不需要DoCmd。*命令。此外,请务必转义保留字如。请填写以下占位符:

INSERT INTO myLocalTable (UI, RU, [Year], [Month], County, NAICS, Owner, MEEI, Emp, 
          AdjCnty, AdjNAICS, ADJEMP) 
SELECT UI, RU, [Year], [Month], County, NAICS, Owner, MEEI, Emp, AdjCnty, AdjNAICS, AdjEMP 
FROM [C:\Path\To\External\Database.accdb].[myExternalTable] 
+0

非常感谢您花时间。我想这个问题是我们需要使用代表县编号(例如001,101,203)的变量“cnty = Left(Right(CurrentDb.Name,7),3)”。这是从数据库名称中拉出来的......然后在DoCmd中使用。一个简单的插入工作,但我们需要能够合并变量块。所以,下面的代码工作 插入到TBLCNTY001(UI,RU,年,月,县,NAICS,所有者,MEEI,雇员,Adjcnty,AdjNAICS,ADJEMP) \t选择UI,RU,年,月,县,NAICS,所有者,MEEI,Emp,Adjcnty,AdjNAP,AdjEMP \t来自CNTY001; –