2012-06-26 60 views
0

我有一個表格,可以讓您向表格添加名稱並在下拉菜單中顯示它。 當我點擊表單時,它應該要求用戶輸入他們想要添加的名稱,然後點擊「確定」。一旦用戶點擊確定,該名稱應存儲在一個表中並添加到下拉菜單中。爲什麼這個SQL語句要求一個值?

每件事情都可以正常工作,但是當用戶在文本框中輸入值並點擊「ok」時,會彈出一個窗口詢問參數值。無論用戶在此參數中鍵入的值是否保存在表格中,而不是從文本框中獲取值。我不知道爲什麼會發生這種情況。

名稱是一個字符串,它是quatation標記嗎?

下面是代碼:

Dim test As String 
test = Text1.Value 
DoCmd.RunSQL "INSERT INTO List_Of_Agencies(T_PI_GroupName)VALUES (" & test & ");" 
Form_0_Cover.Combo2.Requery 
+1

歡迎堆棧溢出。請閱讀[常見問題] - 你不會走到某人面前,並詢問「附加查詢處理?」所以請不要在這裏做。問題標題應該是一個真正的問題。此外,還請利用美妙的標記系統並適當地標記您的問題,以便其他人知道您的問題是關於什麼。 – JimmyPena

+0

我確實使用了「標記系統」 – Ish

+1

「ms-access」標記受到最廣泛的監視,所有有關MS Access的問題都應該包含此標記。這使得SO用戶更容易搜索與Access相關的主題,而不必搜索每個子標籤。 – Fionnuala

回答

0
DoCmd.RunSQL "INSERT INTO List_Of_Agencies(T_PI_GroupName) VALUES ('" & test & "')" 
+0

RunSQL運行MS Access警告。要在沒有內置警告的情況下運行,請使用CurrentDB的實例並忽略SQL字符串。 – Fionnuala

+1

@Remou你不能預先使用'DoCmd.SetWarnings = 0'嗎? – JimmyPena

+1

@JP不,這是一個壞主意。它掩蓋了您需要了解的系統範圍內的錯誤,而不僅限於您正在使用的Access應用程序,這意味着如果您忘記關閉「設置警告」,或者即使某人在命令之間從一個應用程序切換到另一個應用程序,也會造成嚴重破壞。你會發現SO中的大部分地方都提到了設置的警告,有一條評論建議你不要使用它。 Tek-Tips也是如此,我懷疑大多數Access論壇。 – Fionnuala