2014-02-12 61 views
1

非常感謝您爲這個問題提供的幫助 - 它一直讓我發瘋。Access 2010:從子表格中選擇的記錄值

首先:我的問題是關於如何到這裏:http://www.fmsinc.com/MicrosoftAccess/Forms/Synchronize/LinkedSubforms.asp

我在Access 2010中有一個包含子窗體的窗體。子表單的內容用VBA更新。這裏的一切都很棒。

我希望能夠打開基於記錄的另一種形式,用戶在子窗體選擇了。這需要知道用戶選擇的記錄的數量。首先,我只是將選定記錄的ID寫入表單中的普通文本框。

我在上面提到的鏈接中找到了解決方案。它說:

「要在子窗體引用值,請使用以下語法 文本框的控件來源屬性:!

= [subFormName] [表] [控件名稱]」

它完全在他們的例子(我已經下載了的.mdb和它的作品!),但是當我嘗試,在「[表]」是不是一種選擇。所以,我無法讓它工作!

我在他們的.mdb嘗試爲好,而我不能選擇[表]要麼,所以只要我改變文本框的控件來源屬性,它停止工作。我曾與[.Formula]試圖代替,但沒有(鏈接截圖:http://i.imgur.com/pR2WkSW.png?1

可能是什麼問題呢?也許語言設置?

非常感謝你提前。

M.

回答

1

我不知道它是如何的不同在Access 2010,但你可以看到下面,對於Access 2007年:

referencing a subform control

您可以直接引用的控制表達式生成器剛:

一)左框上擴大你的表單名稱

b)如果您想引用特定的控制左框

C1)(即文本框中選擇表單名稱)只需從中間框中選擇它(雙擊它)

c2)如果要引用表單屬性(即子表單的過濾器),請在中間框中選擇標記,並在右側選擇相應的屬性框架

c3)如果你想從右邊框

它都應該有指子窗體的記錄的項目,中間幀使用標籤,並選擇該項目。

+0

非常感謝您的回答,我非常感謝。我不知道我可以從Expression Builder中選擇它,當然!不幸的是,問題仍然存在,你可以在這裏看到:http://i.imgur.com/nq3OpFN.png?1我似乎無法創建正確的表達式。我已經在這裏的Access數據庫中嘗試過了:http://www.fmsinc.com/MicrosoftAccess/Forms/Synchronize/LinkedSubforms.asp,這也是同樣的問題。 – user3302702

+0

我注意到,在左邊的框架中,表單的名字是'frmMaster',而不是'subMaster'。不確定這是否與您的問題有關。無論哪種情況,都試圖寫出文字?它應該像'[frmMaster]![Form]![txtID]'或'[frmMaster]![Formular]![txtID]''。我猜對於第一種情況,因爲即使在我的Access語言中,語法也沒有改變,它用英文寫成。 – parakmiakos

+0

我很抱歉,但沒有,這不起作用:((既不是第一個也沒有第二個例子)我沒有得到語法錯誤,但它不起作用:http://i.imgur.com /T9lcKlG.png?1非常感謝您花時間幫助我解決這個問題,如果您有時間,可以請您嘗試看看,如果您可以/可以在表達式中選擇[表格]?事情是...... .adb是用這個表達式(= [subMaster]。[Form]![txtID])「誕生」並且完美的工作,但是如果我刪除表達式並重新添加它,它就不會。必須是一些語言設置,不是嗎? – user3302702

0

您應該能夠以略微不同的方式通過VBA引用控件。這些表單在其前面顯示爲Form_的類(這很好,因爲您使用智能感知)。因此,您的語法類似於以下內容:

Form_Formname.Controls("ControlName").Value 

這應該讓您獲得所選記錄上控件的值。我意識到這是相當古老的,但我正在尋找這個問題的答案,並能夠通過一些實驗自行找出答案。