Ms access 整数计数:对于i=0
由于我是一名编程初学者,并且非常努力地掌握一些对我来说并不总是那么清楚的关键概念,所以我想问一个理论型的问题。下面的代码是MS Access 2010(由Groh编写)用户指南中的一个简单代码,单击按钮(cmdWith)后,按钮(控件)和文本框(控件)的字体和颜色都会发生变化。在大多数情况下,我理解代码的逻辑,但我无法理解整数部分。。尤其是我不明白这句话:Ms access 整数计数:对于i=0,ms-access,vba,ms-access-2010,Ms Access,Vba,Ms Access 2010,由于我是一名编程初学者,并且非常努力地掌握一些对我来说并不总是那么清楚的关键概念,所以我想问一个理论型的问题。下面的代码是MS Access 2010(由Groh编写)用户指南中的一个简单代码,单击按钮(cmdWith)后,按钮(控件)和文本框(控件)的字体和颜色都会发生变化。在大多数情况下,我理解代码的逻辑,但我无法理解整数部分。。尤其是我不明白这句话: For i = 0 To Me.Controls.Count -1 对我来说-1是非常奇怪的。。代码是否在倒数??下面是完整的子程序。。多
For i = 0 To Me.Controls.Count -1
对我来说-1是非常奇怪的。。代码是否在倒数??下面是完整的子程序。。多谢各位
Private Sub cmdWith_Click()
Dim i As Integer
Dim c As Control
For i = 0 To Me.Controls.Count - 1
Set c = Me(i)
If TypeOf c Is CommandButton Then
With c
.FontName = "Arial"
.FontBold = True
.FontSize = 8
End With
ElseIf TypeOf c Is TextBox Then
With c
.FontName = "MS Sans Serif"
.FontBold = False
.FontSize = 8
.ForeColor = 0 'Black
End With
End If
Next
End Sub
注意原文中的空格。它不是“负一”,而是从数字Me.Controls.Count
中减去1。循环开始于0,结束于小于Me.Controls.Count的1。因此,如果Me.Controls.Count
为5,则循环将从0变为4
注意原文中的空格。它不是“负一”,而是从数字Me.Controls.Count
中减去1。循环开始于0,结束于小于Me.Controls.Count的1。因此,如果Me.Controls.Count
为5,则循环将从0变为4
注意原文中的空格。它不是“负一”,而是从数字Me.Controls.Count
中减去1。循环开始于0,结束于小于Me.Controls.Count的1。因此,如果Me.Controls.Count
为5,则循环将从0变为4
注意原文中的空格。它不是“负一”,而是从数字Me.Controls.Count
中减去1。循环开始于0,结束于小于Me.Controls.Count的1。因此,如果Me.Controls.Count
为5,则循环将从0变为4。它正在向前计数。-1只是从Me.Controls.Count
中减去1——将分组看作(i)=(0)到(Me.Controls.Count-1)
。请注意,计数从0开始,而不是从1开始,因此您需要-1
来获得通过该循环的正确次数。换句话说,从1到Me.Controls.Count的序列计数与从0到(Me.Controls.Count-1)的序列计数具有相同的元素数
您会发现,对于这样的数组索引,许多(但不是所有)语言从0开始计数,而不是从1开始计数;0索引表示“从数组开始偏移0个位置”。这使得数组上的许多数学运算变得更加简单(IMO),但代价很小,因为必须记住从0到n-1而不是从1到n进行计数。它是向前计数。-1只是从Me.Controls.Count
中减去1——将分组看作(i)=(0)到(Me.Controls.Count-1)
。请注意,计数从0开始,而不是从1开始,因此您需要-1
来获得通过该循环的正确次数。换句话说,从1到Me.Controls.Count的序列计数与从0到(Me.Controls.Count-1)的序列计数具有相同的元素数
您会发现,对于这样的数组索引,许多(但不是所有)语言从0开始计数,而不是从1开始计数;0索引表示“从数组开始偏移0个位置”。这使得数组上的许多数学运算变得更加简单(IMO),但代价很小,因为必须记住从0到n-1而不是从1到n进行计数。它是向前计数。-1只是从Me.Controls.Count
中减去1——将分组看作(i)=(0)到(Me.Controls.Count-1)
。请注意,计数从0开始,而不是从1开始,因此您需要-1
来获得通过该循环的正确次数。换句话说,从1到Me.Controls.Count的序列计数与从0到(Me.Controls.Count-1)的序列计数具有相同的元素数
您会发现,对于这样的数组索引,许多(但不是所有)语言从0开始计数,而不是从1开始计数;0索引表示“从数组开始偏移0个位置”。这使得数组上的许多数学运算变得更加简单(IMO),但代价很小,因为必须记住从0到n-1而不是从1到n进行计数。它是向前计数。-1只是从Me.Controls.Count
中减去1——将分组看作(i)=(0)到(Me.Controls.Count-1)
。请注意,计数从0开始,而不是从1开始,因此您需要-1
来获得通过该循环的正确次数。换句话说,从1到Me.Controls.Count的序列计数与从0到(Me.Controls.Count-1)的序列计数具有相同的元素数
您会发现,对于这样的数组索引,许多(但不是所有)语言从0开始计数,而不是从1开始计数;0索引表示“从数组开始偏移0个位置”。这使得数组上的许多数学运算更加简单(IMO),只需记住从0数到n-1,而不是从1数到n。在意大利语中,我们说“sei un grande”(你太棒了)。。非常感谢你。。正如你所看到的,我缺乏某些概念基础。最后一个问题,出于好奇,如果我不做我的事,而是把一个数字放进去,会发生什么。。例如5。。。如果表单上有10个控件,会发生什么?@MarcheseIlChihuahua好问题。你认为会发生什么?你为什么不试着猜一猜,然后试一下,看看你是不是对的?做一个预测,然后测试你的预测是一个很好的学习方式!我的猜测是,它只会改变5的控制。但我不知道是哪一个。在意大利语中我们说“sei un grande”(你太棒了)。。非常感谢你。。正如你所看到的,我缺乏某些概念基础。最后一个问题,出于好奇,如果我不做我的事,而是把一个数字放进去,会发生什么。。例如5。。
For i = 0 To Me.Controls.Count - 1