VBA, MS Access MS Access в примерах

Дата строкой - в виде: «12» декабря 2000г.

Public Function esDocDate(inDate As Variant) As String
'es - 19.05.2003
'--------------------------------------------------------------------
'Функция для вывода даты в виде «12» декабря 2000г. (для документов разл. отчётности)
'На случай если не устраивает аналог в виде: Format$(#12/12/2003#, "«dd» mmmm yyyy") & "г."
'--------------------------------------------------------------------
Dim strMonth As String
Dim intMonthNo As Integer
On Error GoTo esDocDate_Err
    
    If Not IsDate(inDate) Then esDocDate = "#Error#": Exit Function
    intMonthNo = Month(inDate)
    Select Case intMonthNo
        Case 1:  strMonth = " января "
        Case 2:  strMonth = " февраля "
        Case 3:  strMonth = " марта "
        Case 4:  strMonth = " апреля "
        Case 5:  strMonth = " мая "
        Case 6:  strMonth = " июня "
        Case 7:  strMonth = " июля "
        Case 8:  strMonth = " августа "
        Case 9:  strMonth = " сентября "
        Case 10: strMonth = " октября "
        Case 11: strMonth = " ноября "
        Case 12: strMonth = " декабря "
    End Select
    esDocDate = Chr(171) & Format(Day(inDate), "00") & Chr(187) & _
    strMonth & Year(inDate) & "г."

esDocDate_Bye:
    Exit Function
esDocDate_Err:
    esDocDate = "#Error#"
    Err.Clear
    Resume esDocDate_Bye
End Function


Второй вариант (с бланком):


Public Function StrDateForDoc(valDate As Variant) As String
'es - 01.06.2016
'--------------------------------------------------------------------
'Функция для вывода даты в виде « 12 »  декабря  2000г. (для документов разл. отчётности)
'На случай если не устраивает аналог в виде: Format$(#12/12/2003#, "«dd» mmmm yyyy") & "г."
'При ошибках возвращает бланк в виде: "«    »                 20   г. "
'--------------------------------------------------------------------
Dim strMonth As String
Dim intMonthNo As Integer
Const strBlank As String = "«    »                 20   г. "

On Error GoTo StrDateForDoc_Err
    
    If Not IsDate(valDate) Then StrDateForDoc = strBlank: Exit Function
    
    intMonthNo = Month(valDate) 'Номер месяца
    
'Номер месяца - в строку
    Select Case intMonthNo
        Case 1:  strMonth = " января "
        Case 2:  strMonth = " февраля "
        Case 3:  strMonth = " марта "
        Case 4:  strMonth = " апреля "
        Case 5:  strMonth = " мая "
        Case 6:  strMonth = " июня "
        Case 7:  strMonth = " июля "
        Case 8:  strMonth = " августа "
        Case 9:  strMonth = " сентября "
        Case 10: strMonth = " октября "
        Case 11: strMonth = " ноября "
        Case 12: strMonth = " декабря "
    End Select
'Формируем выводимую строку:
    StrDateForDoc = Chr(171) & " " & Format(Day(valDate), "00") & " " & Chr(187) & _
                    strMonth & Year(valDate) & " г."

StrDateForDoc_Bye:
    Exit Function
StrDateForDoc_Err:
    StrDateForDoc = strBlank
    Err.Clear
    Resume StrDateForDoc_Bye
End Function


Назад ToTop
L.E. 05.06.2016
Рейтинг@Mail.ru