2014-01-22 55 views
0

我已經無數次地使用了這個方法,但是我無法讓我的生活得到這個工作。我一直絆倒運行時錯誤「424」。任何幫助表示讚賞,tblNormaAppend.[SORT SCORE].Value顯示爲「空」,tblNormaAppend.SORT.Value也顯示爲「空」。兩個表都有值。非常感謝你的幫助。在Access 2007中執行SQL「Insert Into」命令時所需的對象錯誤VBA

Private Sub Command9_Click() 
DoCmd.SetWarnings False 


DoCmd.OpenQuery "qryDeleteNormaRadar" 
DoCmd.OpenQuery "qryDeleteNormaAppend" 
DoCmd.OpenQuery "qryFilterMFG" 
DoCmd.OpenQuery "qryNormaAppend" 


Dim strSQL As String 
    strSQL = "INSERT INTO tblNormaRadar (Attribute, Score) VALUES (" & tblNormaAppend.[SORT SCORE].Value & ", '" & tblNormaAppend.SORT.Value & "');" 
    DoCmd.RunSQL strSQL 
    DoCmd.SetWarnings True 
End Sub 
+0

它在對象資源管理器的表格選項卡中有dbo_嗎? – Elias

+1

請不要使用設置警告:http://stackoverflow.com/questions/11213892/whats-the-difference-between-docmd-setwarnings-and-currentdb-execute – Fionnuala

+0

這個'tblNormaAppend。[SORT SCORE] .Value'是沒有定義的。如果你在一個表單的模塊中運行,試試'我。[SORT SCORE] .Value'。 – Fionnuala

回答

1

目前還不清楚tblNormaAppend是什麼。在命令按鈕的代碼的上下文中,它看起來像一個表單控件,但它聽起來像是指的是表中的字段,而不是當前表單記錄中的值。

如果你只是想從一個表中插入所有的值到另一個,你可以寫直(非連續)SQL此:

'add one record to tblNormaRadar for each record in tblNormaAppend 
strSQL = "INSERT INTO tblNormaRadar (Attribute, Score) SELECT [SORT SCORE], [Sort] FROM tblNormaAppend;" 
Dim db As DAO.Database 
Set db = CurrentDB 
db.Execute strSQL, dbFailOnError 

如果你的目標是別的東西,請描述關於tblNormaAppend的更多信息以及要添加到tblNormaRadar的哪些值。

+0

感謝您的輸入。最終目標是根據tblNormaAppend中的兩個特定領域的數據創建雷達圖表,其中包含來自審計的分數。我已經切換到嘗試使用直SQL來做到這一點。 'INSERT INTO tblNormaRadar(ATTRIBUTE,SCORE) SELECT [SORT],[AvgOfSort總計] FROM qryFilterMFG WHERE GROUP_LEADER = [PUBLICREPORTS]。[COMBO0] UNION ALL SELECT [SUSTAIN],[AvgOfSUSTAIN總計] FROM qryFilterMFG WHERE GROUP_LEADER =「Acevedo,Norma」;' – ackdaddy

0

我使用直接的SQL。我創建了多個INSERT INTO查詢,因爲Access 2007不會讓你在同一個查詢中的多個字段中出現UNION ALL

感謝您的幫助。