Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access 整数计数:对于i=0_Ms Access_Vba_Ms Access 2010 - Fatal编程技术网

Ms access 整数计数:对于i=0

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是非常奇怪的。。代码是否在倒数??下面是完整的子程序。。多

由于我是一名编程初学者,并且非常努力地掌握一些对我来说并不总是那么清楚的关键概念,所以我想问一个理论型的问题。下面的代码是MS Access 2010(由Groh编写)用户指南中的一个简单代码,单击按钮(cmdWith)后,按钮(控件)和文本框(控件)的字体和颜色都会发生变化。在大多数情况下,我理解代码的逻辑,但我无法理解整数部分。。尤其是我不明白这句话:

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