當您將新的記錄加入表格時,[您輸入的文字不是清單中的專案] 錯誤
注意
Office 365 專業增強版 即將重新命名為 Microsoft 365 企業版應用程式。 如需關於此變更的詳細資訊,請閱讀此部落格文章。
原始 KB 編號: 824176
注意
本文僅適用于 Microsoft Access 資料庫 ( .mdb) 。 需要基本的宏、編碼和互用性技能。
徵狀
當您嘗試使用表單上下拉式方塊的 NotInList 事件,以程式設計方式將新記錄新增至資料表時,可能會收到下列錯誤訊息:
您輸入的文字不是清單中的專案。
選取清單中的專案,或輸入符合其中一個所列專案的文字。
不過,新的記錄會順利加入至表格中。 因此,您輸入的新專案會新增至下拉式方塊中的專案清單。
原因
當下拉式方塊系結至數值資料型別欄,且欄的 format 屬性設定為 貨幣 或 歐元 時,就會發生此問題。
因應措施
若要解決此問題,請在下拉式方塊中輸入值,以符合下拉式方塊所系結的欄的格式。 例如,如果欄的格式是 Currency ,請輸入 $20,而不是20。
不過,如果欄的格式設定為 [ 歐元 ],您可能會無法輸入符合欄格式的數位。
注意
如果您重設欄的 Format 屬性,就不會發生問題。
其他相關資訊
您也可能會收到錯誤訊息,當您輸入對應至下拉式方塊中已存在之專案的數位時,也會收到錯誤訊息。 如果您輸入的數位不符合已存在之基礎 recordset 的格式化專案,可能會發生此問題。
在 Microsoft Office Access 2003 中再現行為的步驟
開始 Microsoft Access。
建立新的 Db1 資料庫。
若要建立必要的範例表格,請遵循下列步驟:
- 在 [資料庫] 視窗中,按一下 [ 物件 ] 底下的 [ 資料表 ]。
- 在右窗格中,在 [設計檢視] 中按兩下 [ 建立資料表 ]。
- 在 [功能變數名稱] 欄的 第一列 [typeID],然後將對應的 資料類型 設為 AutoNumber 。
- 在 [功能變數名稱] 欄的 第二列中,typeRates,然後將對應的 資料類型 設定為 [ 數位 ]。
- 在 [ 欄位屬性 ] 窗格中,按一下 [ 一般 ] 索引標籤。
- 將 Format 屬性設定為 Currency 。
- 在 [檔案 ] 功能表上,按一下 [ 儲存 ]。
- 在 [ 另存 新檔] 對話方塊中,輸入速度,然後按一下 [確定 ]。
- 在 [檔案 ] 功能表上,按一下 [ 關閉 ]。
在資料庫視窗中,按一下 [ 物件 ] 底下的 [ 表單 ]。
在右窗格中,在 [設計檢視] 中按兩下 [ 建立表單 ]。
將 ComboTest 下拉式方塊新增至表單,然後設定下列屬性:
屬性 值 名字: ComboTest 系結資料行: 1 RowSourceType: 資料表/查詢 列來源: 選取 [Rates.ID]、[費率]。費率的費率; 自動展開: 是 限制清單: 是 欄計數: 第 欄寬: 0 "; 1" 在 [ View ] 功能表上,按一下 [程式 代碼 ] 以開啟 Microsoft Visual Basic 編輯器。
在 [ ComboTest ] 下拉式方塊的 NotInList 事件中貼上下列程式碼。
注意
本文中的範例程式碼會使用 Microsoft Data Access 物件。 若要讓此程式碼正確執行,您必須參考 Microsoft DAO 3.6 物件程式庫。 若要這麼做,請在 Visual Basic 編輯器中按一下 [ 工具 ] 功能表上的 [ 參照 ],並確定已選取 [ Microsoft DAO 3.6 物件程式庫 ] 核取方塊。
Dim Db As DAO.Database Dim Rs As DAO.Recordset Dim Msg As String Msg = "'" & NewData & "' is not in the list." & vbCr & vbCr Msg = Msg & "Do you want to add it?" If MsgBox(Msg, vbQuestion + vbYesNo) = vbNo Then Response = acDataErrContinue MsgBox "Try again." Else Set Db = CurrentDb Set Rs = Db.OpenRecordset("Rates", dbOpenDynaset) Rs.AddNew Rs![Rates] = NewData Rs.Update Response = acDataErrAdded End If
在 [檔案 ] 功能表上,按一下 [ 儲存 ]。
在 [ 另存 新檔] 對話方塊中,輸入 FormTest,然後按一下 [確定 ]。
在 [檔案 ] 功能表上,按一下 [ 關閉 ]。
在 [資料庫] 視窗的右窗格中,按兩下 [ FormTest ]。
在下拉式方塊中輸入號碼,然後按 ENTER 鍵。
會觸發 NotInList 事件。 您會收到本文「現象」一節所述的錯誤訊息。
參考
如需 NotInList 事件的詳細資訊,請按一下 [說明 ] 功能表上的 [ Microsoft Access 説明 ],然後在 [Office 小幫手] 或 [應答] 嚮導中輸入 NotInList 事件 ,然後按一下 [ 搜尋 ] 以查看主題。