微软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”找不到文件的消息回来了。这个数据库已经从一台计算机转移到我的。我想知道如果有人知道我该如何解决这个问题。
谢谢!
你必须在文件路径and
和Settings
之间的“Documents and 设置”双空间
考虑一个纯粹的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]
非常感谢您花时间。我想这个问题是我们需要使用代表县编号(例如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; –
这是在这里输入的编码错误,在访问没有多余的空间,我刚编辑我原来的问题。 –