2015-03-02 47 views
1

我在Access中構建表單,並且我有幾個需要整數值的文本框。現在你可以輸入字符而不是數字,當按下提交按鈕時會彈出一個調試窗口。如何防止用戶在整型文本框中輸入無效時按下提交按鈕。防止用戶輸入任何東西,但整數到文本框

謝謝!

+0

你有沒有嘗試在文本框的_BeforeUpdate或OnChange事件中放入'check-for-number'代碼? – tospig 2015-03-02 22:05:33

回答

1

首先,使字段在表格設計中成爲數字類型。然後進入「字段屬性」並確保「字段大小」設置爲「整數」。這會處理十進制數字,因爲當文本框失去焦點時它會將它們四捨五入到最接近的整數。

接下來,進入提交按鈕屬性並設置Enabled = False。這會變灰,並且不允許用戶點擊它。您可能希望將此代碼添加到表單的On Current屬性中,以便每當加載記錄時,都會根據已存在的值啓用或禁用提交按鈕。您將需要「和」更多的整數文本框對象以相同的,如果你有你的表格上有多個整數文本框聲明:

Private Sub Form_Current() 
    If Not IsNumeric(Me.IntegerTextBox.Value) Then 
     Me.SubmitButton.Enabled = False 
    Else 
     Me.SubmitButton.Enabled = True 
    End If 
End Sub 

最後,該代碼添加到文本框的On Change事件。只要輸入了一個合適的數字值,這將啓用該按鈕,並且每次按下某個按鍵時都會更新該按鈕。

Private Sub IntegerTextBox_Change() 
    If Not IsNumeric(Me.IntegerTextBox.Text) Then 
     Me.SubmitButton.Enabled = False 
    Else 
     Me.SubmitButton.Enabled = True 
    End If 
End Sub 

對您窗體上的每個整數字段執行此操作。

+0

只是想知道這是否是你正在尋找的答案? – WestAce 2015-03-09 17:10:07

+0

有什麼辦法可以使用這段代碼,但仍然允許小數?但我認爲這是我需要去的正確方向 – 2015-03-23 19:03:15

+1

是的。進入你的餐桌設計,並使字段類型數字。然後進入字段屬性並將「字段大小」屬性從「整數」更改爲「單個」(如果您有較大的小數,則將其更改爲「雙精度」)。我將把發佈的答案保留爲整數,因爲這是您的原始問題。 – WestAce 2015-03-23 21:27:25

0

在表中設計使數據類型數字(整數)。

+0

抱歉沒有正確地閱讀你的問題 - 我會回來。 – 2015-03-02 21:38:47

相關問題