Гость
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Оставить дату (день) подписи на усмотрение шефа. / 10 сообщений из 10, страница 1 из 1
10.01.2018, 23:34
    #39582135
Wipeout2097
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оставить дату (день) подписи на усмотрение шефа.
Народ, доброго времени суток! Вопрос простой: отчет должен подписать шеф, но: распечатать его могли сегодня, а подписать он его может только завтра, или после завтра, или через пару дней (да хе* его знает, чего у него там в голове...:):)... Короче, в отчете есть поле "ДатаПодписи" = Date(). Хотелось бы, чтоб оно вылезало с тремя символами нижнего подчеркивания вместо числа (дня) текущей даты, месяцем в родительном падеже и годе с буквой "г.", т.е. в формате "___ января 2018 г.". Стык месяцев или годов не в счет...
Думал я, думал, но чего-то хрень какую-то написал...:(:(
Код: vbnet
1.
2.
3.
Public Function DateMinusDay(d As Date) As String
    DateMinusDay = "___ " & Right(CStr(Format(d, vbLongDate)), Len(Day(d)))
End Function



Помогите, а?
...
Рейтинг: 0 / 0
10.01.2018, 23:50
    #39582140
mds_world
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оставить дату (день) подписи на усмотрение шефа.
Код: vbnet
1.
2.
3.
4.
5.
6.
Public Function DateMinusDay(d As Date) As String
    Dim r
    r = LCase(Format(d, "mmmm"))
    r = Left(r, Len(r) - 1) & "я"
    DateMinusDay = "___ " & r & Format(d, " yyyyг.")
End Function
...
Рейтинг: 0 / 0
10.01.2018, 23:58
    #39582144
Wipeout2097
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оставить дату (день) подписи на усмотрение шефа.
mds_world, как всегда - СНИМАЮ ШЛЯПУ!:):) Только вот маленький нюанс осталось подрихтовать: мартА, августА...
...
Рейтинг: 0 / 0
11.01.2018, 00:06
    #39582149
mds_world
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оставить дату (день) подписи на усмотрение шефа.
А, ну да
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Public Function DateMinusDay(d As Date) As String
    Dim r, m, k
    m = "я"
    k = 1
    If Month(d) = 3 Or Month(d) = 8 Then
        m = "а"
        k = 0
    End If
    r = LCase(Format(d, "mmmm"))
    r = Left(r, Len(r) - k) & m
    DateMinusDay = "___ " & r & Format(d, " yyyyг.")
End Function
...
Рейтинг: 0 / 0
11.01.2018, 00:10
    #39582151
Wipeout2097
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оставить дату (день) подписи на усмотрение шефа.
mds_world, чуть-чуть я не успел...:):)
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Public Function DateMinusDay(d As Date) As String
    Dim r
    Dim o As String
    Select Case Month(d)
        Case 3 Or 8
            o = "а"
        Case Else
            o = "я"
    End Select
    r = LCase(Format(d, "mmmm"))
    r = Left(r, Len(r) - 1) & o
    DateMinusDay = "___ " & r & Format(d, " yyyyã.")
End Function




Спасибо.:):)
...
Рейтинг: 0 / 0
11.01.2018, 00:12
    #39582153
Wipeout2097
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оставить дату (день) подписи на усмотрение шефа.
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Public Function DateMinusDay(d As Date) As String
    Dim r
    Dim o As String
    Select Case Month(d)
        Case 3 Or 8
            o = "а"
        Case Else
            o = "я"
    End Select
    r = LCase(Format(d, "mmmm"))
    r = Left(r, Len(r) - 1) & o
    DateMinusDay = "___ " & r & Format(d, " yyyyг.")
End Function



Вот так, если быть точнее...
...
Рейтинг: 0 / 0
11.01.2018, 00:24
    #39582157
Wipeout2097
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оставить дату (день) подписи на усмотрение шефа.
Не, все, сдаюсь и не выпендриваюсь... :):):) В моем варианте получилось "МарА" и "АвгусА" :):):)
...
Рейтинг: 0 / 0
11.01.2018, 01:41
    #39582174
__Michelle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оставить дату (день) подписи на усмотрение шефа.
А если как-то так:
Код: vbnet
1.
2.
? "__" & Mid(Format(Date(),"dd mmmm yyyy г."),3)
__ января 2018 г.
...
Рейтинг: 0 / 0
11.01.2018, 10:05
    #39582259
Alibek B
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оставить дату (день) подписи на усмотрение шефа.
Choose(Month, ...) и не морочить голову.
...
Рейтинг: 0 / 0
11.01.2018, 10:48
    #39582304
Focha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оставить дату (день) подписи на усмотрение шефа.
Alibek B.Choose(Month, ...) и не морочить голову.
Странно, что сразу не предложили?!

Код: vbnet
1.
2.
3.
4.
5.
Sub test()
    Debug.Print "__ " & _
                Choose(Month(Now()), "Января ", "Февраля ", "... ") & _
                Year(Now()) & " г."     '__ Января 2018 г.
End Sub
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Оставить дату (день) подписи на усмотрение шефа. / 10 сообщений из 10, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]