2017-08-09 83 views
2

你好,我是相當新的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」找不到文件的消息回來了。這個數據庫已經從一臺計算機轉移到我的。我想知道如果有人知道我該如何解決這個問題。

謝謝!

回答

0

你必須在文件路徑andSettings之間的「Documents and 設置」雙空間

+0

這是在這裏輸入的編碼錯誤,在訪問沒有多餘的空間,我剛編輯我原來的問題。 –

1

考慮一個純粹的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; –