簡體   English   中英

在VBA Access中動態填充有其他子表單的子表單

[英]SubForm that is dynamically filled with other subforms in VBA Access

我想創建一個包含動態創建的子表單列表的彈出表單。 子表單的數量由用戶在父表單中確定。

這是一個草圖來說明我想要做什么。 用戶可以將“ Num Branches”的值更改為2到10之間。此數字又反映在下面的可滾動框中創建的子表單的數量中。 這些子表單都來自同一表單,我用紅色將其概述。 在此處輸入圖片說明 我有一些關於如何執行此操作的問題

  • 一個子表單可以有多個嗎?
  • 如果上面的問題不存在,並且我必須動態創建每個控件,那么我是否需要關注此答案中提到的754個動態創建的控件限制https://stackoverflow.com/a/31301469/7254514
  • 有人可以給我一個循環示例,演示如何在可滾動框內全部動態創建這些子表單嗎? 我想在每個for循環中唯一會改變的屬性是“ top”屬性。

您可能不想動態創建子窗體控件(因為創建控件=切換到設計視圖,需要對數據庫的排他鎖,等等)。

您不能將連續表單與子表單的多個實例一起使用,因為Access不允許在連續表單上使用子表單控件。

我的方法是在表單上具有10個(最大)子表單控件,將其全部隱藏,然后將它們動態分配給特定的源對象。

偽代碼:

Dim numBranches As Long
Dim i As Long

For i = 1 to numBranches
   Me.Controls("subform" & i).Visible = True
   Me.Controls("subform" & i).Form.Filter = "branch = " & i 'Appropriate filter here
   Me.Controls("subform" & i).Form.FilterOn = True
Next i

暫無
暫無

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

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