2012-10-18 68 views
2

我有一個跟蹤發票的MS Access數據庫。在我用來輸入數據的表格中,我有發票金額的控制[金額](例如$ 100)。在這種形式下,還有一個跟蹤部分發票的子表單(例如50美元的食品和50美元的清潔用品)。主窗體還具有控制子窗體中細分量總和的[Breakdown Total]。窗體和子窗體之間的MS Access數據驗證

我想讓它這樣,除非[金額] = [總分],你不能改變表格中的記錄。由於採用雙表結構,似乎數據驗證規則不能按照我想要的方式工作,因爲它只有在您填寫[金額]控件時才起作用,而不是在您更改了細目時才起作用。

我想構建一個事件來處理這個事件,但我不知道要使用什麼事件 - BeforeUpdate不會讓我離開不匹配的控件,這是沒有用的 - 如果那是正確的 - 並且AfterUpdate似乎沒有讓我要求可疑記錄保留在屏幕上。有人可以推薦我應該使用的活動嗎?

+0

展開你的窗體/子窗體如何綁定一點?基於表/查詢還是VBA控制? – GoldBishop

+0

現在它是基於表/查詢的。有一張應付賬款表和一張單獨的應付賬款明細表,它將每筆記錄(發票的一部分)與應付賬款表中的發票號碼聯繫起來。 – ryanmrubin

+0

在這一點上,我想我只是不知道如何把VB放在一起,使它發生恰到好處,也沒有事件把代碼。 – ryanmrubin

回答

0

這是我最近在客戶端實施的解決方案。不確定它是否正是您所需要的,但實現了兩個ListBox,一個用於選擇Top-Category,另一個用Column'ed來顯示Top-Category的子項的交叉表顯示。

enter image description here

的左列表框是編程,在VBA,從Access查看加載信息,然後主體列表框是由交叉表建立算法的約束。現在你不一定必須像我所需要的那樣像艙內或細節那樣。但是你可以在沒有子表單的情況下完成這個任務。

+0

謝謝 - 這很有幫助! – ryanmrubin