2012-03-15 129 views
1

我不太確定如何定義這個。MS Access表格插入隱藏值

我有一個有幾個字段的表,我們稱它們爲:ID,名稱和類型。

我有一個表格,允許用戶通過數據表視圖添加新記錄。 ID和類型是隱藏的,只有名稱出現。我設置了一個僅顯示特定類型記錄的篩選器(即Type = 2)

但是,如果有人向數據表中輸入新記錄,則Type字段不會被設置。在該字段上設置默認值不會完成我想要的操作,因爲我有幾個基於Type定製的表單,因此每個表單都需要根據該類型將新記錄提交到同一個表中。

有沒有辦法來定義它應該設置類型的值?我想我可以捕獲BeforeUpdate事件,並設置這個值,只是隱藏列。不過,我想知道是否有一種方法「適當」的技術。

回答

0

在窗體的Before Insert事件中,可以檢查當前的Filter表達式,解析出過濾器的類型值,將其從字符串轉換爲數字,最後將該數字分配給綁定到的隱藏控件類型字段。

因此,假設隱藏控件被命名爲txtType一個文本框,其控制源是一個長整型字段:

Private Sub Form_BeforeInsert(Cancel As Integer) 
    Me.txtType = CLng(Split(Me.Filter, "=")(1)) 
End Sub 

使用適當的類型轉換函數代替CLng()匹配綁定字段的數據類型。

這種做法應該工作,如果你設置的過濾器是這樣的:

Me.Filter = "[Type] = 2" 
Me.FilterOn = True 

但是,如果您使用的是不同的方法做過濾,請給我們介紹一下它的細節。

+0

這應該工作,謝謝。 – crush 2012-03-15 18:42:13