2011-12-09 35 views
0

這是我的問題。我目前被迫使用Access,我正在編寫一些可以添加到表單的通用驗證。如何讓大文本框在空時使用空值而不是空白字符串

它是一切正常,並基於錯誤的form_error追趕空字段「你試圖將Null值分配給一個變量,它是不是變式數據類型」

所有我需要的VARCHAR字段都沒有空值。

不幸的是如果一個文本框有控制源大VARCHAR DB領域,它的行爲是不同的。我不記得大小閾值,但假設這種行爲差異將等同於訪問表中的文本與備忘錄)。

基本上,如果你刪除一個小的文本框控件的內容,它會嘗試寫空,被捕獲的錯誤。都好。

如果你做同樣的鏈接到一個更大的VARCHAR或記事數據庫字段的文本框,然後將它寫入這被認爲是有效的一個空字符串。

我已經改變爲varchar(50)和varchar(256)之間的DB模式,在訪問更新鏈接表並重新啓動的好辦法訪問證實了這一點。

我希望有人可以指向我設置一個屬性或一些可以添加的通用代碼,使所有文本框在寫入空/空字符串時的行爲相同,而不管大小如何他們連接到的數據庫字段。

只是要注意,該插件在插入或編輯時的行爲也不同。如果插入時沒有填充,它會將數據庫條目保留爲空。

+0

只是要注意.. 我可以通過添加代碼解決此問題: '私人小組MyTextControl_AfterUpdate() 如果Me.MyTextControl = 「」 那 Me.MyTextControl = NULL 結束如果 結束Sub' 我只是不希望搜索鏈接到大型變種的所有文本控件,並添加此代碼只是爲了使通用形式錯誤檢查工作。它有點擊敗了它的通用對象。 – Bodestone

回答

0

這幾乎是你必須這樣做的方式。您可以在每個文本字段上設置一個「驗證規則」,但同樣需要查找所有文本控件。

你可以使這個工作更容易。如果您檢查表的對象依賴關係,您可以獲取所有涉及的表單(和查詢等)的列表。那麼你可以確定你已經擊中了每一個。

相關問題