2012-12-08 188 views
3

如何在Microsoft Access中運行INSERT SQL查詢?運行插入SQL查詢

例如:

INSERT INTO tbl_UserPurchase (ID, Name) Values (321, Joe) 
+0

如果你的問題是關於如何使用Access接口,這不是一個編程問題。你的查詢看起來很好,除了你需要'Joe'的單引號。 –

+1

'喬'應該是'喬'...這就是它... –

回答

3

您可以在Ac中構建您的查詢查看設計器,然後在設計視圖中單擊功能區上的「運行」。 (查找紅色的解釋點)

如果要從代碼執行此操作,可以使用DAO數據庫對象或ADO CurrentProject.Connection對象的.Execute方法。

Dim strInsert As String 
strInsert = "INSERT INTO tbl_UserPurchase (ID, Name)" & vbCrLf & _ 
    "VALUES(321, 'Joe');" 
CurrentDb.Execute strInsert, dbFailOnError 

然而,參數查詢會更靈活(用於其他的用戶名,不只是喬),並防止SQL注入。

Dim db As DAO.database 
Dim qdf As DAO.QueryDef 
Dim strInsert As String 

strInsert = "INSERT INTO tbl_UserPurchase (ID, Name)" & vbCrLf & _ 
    "VALUES (321, [which_user]);" 
Set db = CurrentDb 
Set qdf = db.CreateQueryDef("", strInsert) 
' you could read the parameter value from a text box on a form, 
' but this example will just hard code Joe 
qdf.Parameters("[which_user]").value = "Joe" 
qdf.Execute dbFailOnError 
Set qdf = Nothing 
Set db = Nothing 

而且還有其他方法來剝皮這隻貓。如果沒有任何建議是令人滿意的,請向我們提供更多關於如何以及在哪裏運行INSERT的詳細信息。

+0

謝謝你的回覆!當我單擊用戶表單中的命令按鈕時,我基本上想要運行INSERT查詢,並且這些值將來自文本框值。文本框的值也將被插入到不同的表中,任何想法如何實現?也爲這個項目安全不是問題:) – neeko

+2

在你的命令按鈕的點擊事件過程中使用最後一個代碼示例。並將'qdf.Parameters'行更改爲:'qdf.Parameters(「[which_user]」)。value = Me.YourTextBoxNameHere' – HansUp

+0

非常感謝!如果我使用相同的代碼佈局執行SELECT查詢,那麼你能幫我多做一件事情嗎?然後,我會如何將該查詢的結果(作爲輸出的一個結果)轉換爲用於單獨INSERT查詢中的參數 – neeko

3

需要引用文字在SQL:

INSERT INTO tbl_UserPurchase (ID, Name) VALUES (321, 'Joe') 
2

我覺得名字字段是VarChar(或DB一些字符串值),所以它的意思是你查詢應該是

INSERT INTO tbl_UserPurchase (ID, Name) Values(321, 'Joe'); 
-1

試試這個:INSERT INTO tbl_name VALUES (1, 'xyz')

請讓我知道,如果爲你工作。

好運