簡體   English   中英

Microsoft Access條件在子窗體中不起作用的地方

[英]Microsoft Access Where Condition doesn't works in a subform

我建立了一個名為:“ clientlist”的表格: 在此處輸入圖片說明

我把宏放在哪里條件單擊:

=“ IDclient_logindata =”&[Maschere]![clientlist]![IDclient]

這意味着當我單擊一個id客戶端時,訪問權限將使用相應的IDclient打開另一個表單。 例如,如果我單擊IDclient 3: 在此處輸入圖片說明

它打開另一個名為“ client_logindata”的表單以過濾IDclient_logindata3。然后,我構建了一個導航表單: 在此處輸入圖片說明 使用clientlist作為子表單。 但是,當我單擊一條記錄(任何記錄)時,每次在ID_client_logindata form = 1的client_logindata表單中打開它,為什么它不能在子表單中工作? “導航表格”的設計視圖: 在此處輸入圖片說明

通過這種方式解決:=“ IDclient_logindata =”&[IDclient]

使用子窗體時, 對控件的引用必須相對於將子窗體視為子控件的主窗體。

考慮將條件調整為以下結構。 請注意,這是英文版本:

="IDclient_logindata=" & Forms!myMainForm!mySubform.Form!mySubformControl

或專門為您量身定做(請確保所有對象的拼寫正確):

="IDclient_logindata=" & Forms!NavigationForm!clientlist.Form!IDclient

OP找到了一個可行的解決方案,它比隨后的解決方案簡單得多。 但是,我仍然很想知道我們是否可以在原始模型上使用某些功能,並且我猜想對於嘗試使用VBA而不是嵌入式宏的用戶來說,以下內容可能仍然有用。


原始問題中的代碼存在問題,即相關表單不是在“頂層”打開,而是作為子表單打開。

表單“普通”子表單,您可以像下面這樣引用子表單上的控件:

Forms!navform!clientlist.form!IDclient

其中navform是外部表單的名稱。 或在一般情況下,如下所示:

Forms!Mainform!Subform1.Form!ControlName

但是,將“子窗體”拖到“ 布局”視圖中的“ 添加新”選項卡上時,“導航窗體”向導不能很好地命名子窗體。 所以我不得不這樣編碼:

Forms![Navigation Form]!NavigationSubform.Form!ControlName

令我驚訝的是,當我在“導航表單”選項卡中添加更多表單並且控件的名稱與所討論的表單相同時,此代碼繼續起作用。 我猜想NavigationSubform自動指向當前焦點所在的選項卡。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM