|
|||||||
Номер класса (школы) по году или дате начала обучения
Время создания: 16.03.2019 23:43
Раздел: Разные закладки - VBA - Access - msa.polarcom.ru - 14 Преобразование Чисел и Дат
Запись: xintrea/mytetra_db_adgaver_new/master/base/15320183951d5nlo9lf4/text.html на raw.githubusercontent.com
|
|||||||
|
|||||||
Номер класса (школы) по году или дате начала обученияПо году начала обучения: Public Function GetClassName(iStartYear%, Optional vClassLetter = Null, Optional vForDate As Variant = Null) As Variant 'Возвращает название класса (Номер + Буква) по аргументам '-------------------------------------------------------------------------- 'Аргументы: ' iStartYear - Год начала обучения (Integer) ' vClassLetter - Опционально: Буква класса (по умолчанию = Null) ' vForDate - Опционально: Расчёт номера класса на конкретную дату '-------------------------------------------------------------------------- 'Пример экспдуотации в выражении: ' GetClassName([ГодНачала];[БукваКласса];"28.8.2019") '-------------------------------------------------------------------------- Dim i%, iClassNO% On Error GoTo GetClassName_Err If IsNull(iStartYear) = True Then iStartYear = Year(Date) End If
If IsNull(vForDate) = True Or IsDate(vForDate) = False Then vForDate = Date End If
i = Month(vForDate) Select Case i Case Is < 9 ' * 1-е сентября = Начало начало уч. года iClassNO = Year(vForDate) - iStartYear Case Else iClassNO = Year(vForDate) - iStartYear + 1 End Select
Select Case iClassNO Case 1 To 11 GetClassName = iClassNO & vClassLetter Case Else GetClassName = "Выпуск: " & iStartYear + 11 End Select
GetClassName_Bye: Exit Function GetClassName_Err: GetClassName = "Err#" & Err.Number 'MsgBox "Error: " & Err.Number & vbCrLf & Err.Description & vbCrLf & _ "in Function: GetClass in module: mod_CommonApplication", vbCritical, "Error in Application: " & Err.Source Err.Clear Resume GetClassName_Bye End Function
Public Function GetClassNameDT(Optional vDateStart As Variant = Null, Optional vClassLetter = Null, _ Optional vForDate As Variant = Null) As Variant 'Возвращает название класса (Номер + Буква) по аргументам '-------------------------------------------------------------------------- 'Аргументы: ' vDateStart - Опционально: Дата начала обучения ' (по умолчанию = 1 Сентября текущего года) ' vClassLetter - Опционально: Буква класса (по умолчанию = Null) ' vForDate - Опционально: Расчёт номера класса на конкретную дату '-------------------------------------------------------------------------- 'Пример экспдуотации в выражении: ' GetClassNameDT([ДатаНачала];[БукваКласса];"28.8.2019") '-------------------------------------------------------------------------- Dim i%, iClassNO% On Error GoTo GetClassNameDT_Err If IsNull(vDateStart) = True Then vDateStart = DateSerial(Year(Date), 9, 1)
If IsNull(vForDate) = True Or IsDate(vForDate) = False Then vForDate = Date End If
i = Month(vForDate) Select Case i Case Is < 9 ' * 1-е сентября = Начало начало уч. года iClassNO = Year(vForDate) - Year(vDateStart) Case Else iClassNO = Year(vForDate) - Year(vDateStart) + 1 End Select Select Case iClassNO Case 1 To 11 GetClassNameDT = iClassNO & vClassLetter Case Else GetClassNameDT = "Выпуск: " & Year(vDateStart) + 11 End Select
GetClassNameDT_Bye: Exit Function GetClassNameDT_Err: GetClassNameDT = "Err#" & Err.Number Err.Clear Resume GetClassNameDT_Bye End Function |
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|