VBA计算从出生日期到当年的学年 - 除非日历年从12月变为1月

时间:2017-01-31 15:12:50

标签: vba

希望有人可以帮忙解决这个问题。我有一个访问2010 DB。我想计算一个学生目前的学年。为此,我在表单上有出生日期和一个名为“NCY”的空白绑定文本框

以下未考虑年度从12月到1月的变化,它会改变学年,直到9月我不希望它改变(学年9月到8月)

Private Sub yearGroup_GotFocus()

Dim nowDate As Date
Dim dob As Date
Dim dobMonth As Integer
Dim dobYear As Integer
Dim NCY As Integer

nowDate = Date
nowYear = year(nowDate)
dob = Me.dateOfBirth
dobMonth = Month(dob)
dobYear = year(dob)
NCY = nowYear - dobYear


If dobMonth > 8 Then

      Me.yearGroup.Value = NCY - 6

Else
      Me.yearGroup.Value = NCY - 5
End If

End Sub

在英语中,我想要一些类似的东西;

如果当前年份的当前月份> 8,则将NCY增加1 除非当年变为1,而该年的月份<9

希望这是有道理的。

提前谢谢

1 个答案:

答案 0 :(得分:0)

我在这个上硬编码了DOB,因为我在Excel中练习。这假设ch8ild在8月之前6岁时处于1级。大多数在美国,我们在5岁开始上幼儿园,在6岁时开始1年级。您可以相应调整。

<template>
  <require from="sample-resources-so41961759/custom-elements/my-echo"></require>
  <h1>${message}</h1>

  <my-echo say="Echo!"></my-echo>
</template>