Ms access 2007 在VBA(access)中循环以将项放置在窗体上并正确定位它们时遇到问题
我一直在尝试创建一个包含68个项目的表单,同时通过循环将所有项目放置在表单上,但此循环不起作用:(有人能帮我实现此功能吗?我尝试到处寻找,但看不到要做什么:/Ms access 2007 在VBA(access)中循环以将项放置在窗体上并正确定位它们时遇到问题,ms-access-2007,Ms Access 2007,我一直在尝试创建一个包含68个项目的表单,同时通过循环将所有项目放置在表单上,但此循环不起作用:(有人能帮我实现此功能吗?我尝试到处寻找,但看不到要做什么:/ Dim Items(67) As String For x = 0 To 67 Items(x) = "Ctl" & x Next #It goes from 1 here as I manually set up 1 otherwise (x - 1) wont work. For x = 1 To
Dim Items(67) As String
For x = 0 To 67
Items(x) = "Ctl" & x
Next
#It goes from 1 here as I manually set up 1 otherwise (x - 1) wont work.
For x = 1 To 67
Form_Home.Items(x).Top = 0
Form_Home.Items(x).Left = (Form_MainScreen.Items(x - 1).Left) + (Form_MainScreen.Items(x - 1).Width)
Form_Home.Items(x).Height = 225
Form_Home.Items(x).Width = 500
Next
谢谢大家:)你说的Form_Home.Items是什么意思?如果您已经在表单中添加了控件,那么可能有一个控件集合,所以您可以通过它进行迭代并设置其属性,假设每个控件的名称为Ctl0、Ctl1、Ctl2。。。然后,您可以按照以下步骤进行操作:
Dim ct_name as String
Dim ct_name_before as String
For x = 1 To 67
ct_name_before = "Ctl" & CStr(Cint(x-1))
ct_name = "Ctl" & CStr(x)
Form_Home.Controls(ct_name).Top = 0
Form_Home.Controls(ct_name).Left = (Form_MainScreen.Items(ct_name_before).Left) + _
(Form_MainScreen.Items(ct_name_before).Width)
Form_Home.Controls(ct_name).Height = 225
Next
某些版本的VBA允许您创建共享相同名称和不同索引的控件数组,然后您可以迭代数组以获取每个控件。您认为为什么需要这样做?