powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / помогите написать функцию которая выдает по номеру квартала его начальную и конечную дату
25 сообщений из 40, страница 1 из 2
помогите написать функцию которая выдает по номеру квартала его начальную и конечную дату
    #36861797
Фотография paradisediamond
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
помогите написать функцию которая выдает по номеру квартала его начальную и конечную дату, Допустим вводим мы год и вводим дату, можно также задать квартал, только что бы он вывел 2 даты, начало и конец квартала
...
Рейтинг: 0 / 0
помогите написать функцию которая выдает по номеру квартала его начальную и конечную дату
    #36861822
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
function xxx(y as integer,kva as integer,nach as boolean)as date
select case kva
case 1:if nach then xxx=dateserial(y,1,1)else xxx=dateserial(y,3,31)
case 2:if nach then xxx=dateserial(y,4,1)else xxx=dateserial(y,6,30)
case 3:if nach then xxx=dateserial(y,7,1)else xxx=dateserial(y,9,30)
case 4:if nach then xxx=dateserial(y,10,1)else xxx=dateserial(y,12,31)
end select
end function
...
Рейтинг: 0 / 0
помогите написать функцию которая выдает по номеру квартала его начальную и конечную дату
    #36861833
Фотография paradisediamond
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир Саныч,
спасибо добрый самаритянин, буду проверять
...
Рейтинг: 0 / 0
помогите написать функцию которая выдает по номеру квартала его начальную и конечную дату
    #36861856
Фотография paradisediamond
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир Саныч,

Если честно, то с вами я лучше понимаю чем мне кто-то объясняет. были бы вы моим учителем.!
...
Рейтинг: 0 / 0
помогите написать функцию которая выдает по номеру квартала его начальную и конечную дату
    #36861863
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
paradisediamondЕсли честно, то с вами я лучше понимаю чем мне кто-то объясняет. были бы вы моим учителем.!
То есть Вы понимаете, когда Вам НЕ объясняют, а делают за Вас. Прискорбно. Постараюсь впредь так НЕ делать.
...
Рейтинг: 0 / 0
помогите написать функцию которая выдает по номеру квартала его начальную и конечную дату
    #36861876
Фотография paradisediamond
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир Саныч,
нет я в акцессе полный ноль, но после того как я вижу функцию, я начинаю читать что означает то или иное в хелпе, вот я не знала про DateSerial. Сейчас читаю и изучаю. И так постоянно. Разве это плохо?
...
Рейтинг: 0 / 0
помогите написать функцию которая выдает по номеру квартала его начальную и конечную дату
    #36861881
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Если Вы действительно так делаете, то хорошо.
...
Рейтинг: 0 / 0
помогите написать функцию которая выдает по номеру квартала его начальную и конечную дату
    #36861886
Фотография paradisediamond
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир Саныч,
потом свой вариант выглядит так:

' сделать даты конца и начала квартала
god = Me.ПолеСоСписком3
kv = CInt(Left(Me.ПолеСоСписком5, 1))

i = ((kv - 1) * 3) + 1

' Первый день текущего месяца
m_FirstDayKv = DateSerial(god, i, 1) ' 1 4 7 10

' Последний день текущего месяца
m_LastDayKv = DateSerial(god, i + 3, 0) ' 4 7 10 13
...
Рейтинг: 0 / 0
помогите написать функцию которая выдает по номеру квартала его начальную и конечную дату
    #36861901
Фотография paradisediamond
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир Саныч,
Ваш вариант проще, а в моем пришлось вымудриться. Нужно было узнать начальную и конечную дату квартала
...
Рейтинг: 0 / 0
помогите написать функцию которая выдает по номеру квартала его начальную и конечную дату
    #36861944
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
paradisediamondВладимир Саныч,
потом свой вариант выглядит так:
Не проверял, но мне нравится.
...
Рейтинг: 0 / 0
помогите написать функцию которая выдает по номеру квартала его начальную и конечную дату
    #36862586
Фотография George-III
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я написал 2 ф-ии:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
'Функция возвращающая первую дату указанного квартал за год
Public Function fncKvStartD(ByVal bteKv As Byte, Optional ByVal varYear As Variant) As String
On Error GoTo Err_fncKvStartD
    Dim intYear As Integer
    If IsMissing(varYear) Then
        intYear = Year(Date)
    Else
        intYear = CInt(varYear)
    End If
    Select Case bteKv
        Case  1 
            fncKvStartD = "01/01/" & Format(intYear, "0000")
        Case  2 
            fncKvStartD = "04/01/" & Format(intYear, "0000")
        Case  3 
            fncKvStartD = "07/01/" & Format(intYear, "0000")
        Case  4 
            fncKvStartD = "10/01/" & Format(intYear, "0000")
        Case Else
            '213 - Недопустимый номер квартала!
            fncKvStartD = "Недопустимый номер квартала!"
    End Select
Exit_fncKvStartD:
    Exit Function
Err_fncKvStartD:
    fncKvStartD = Err.Description
    Resume Exit_fncKvStartD
End Function

'Функция возвращающая последнюю дату указанного квартал за год
Public Function fncKvEndD(ByVal bteKv As Byte, Optional ByVal varYear As Variant) As String
On Error GoTo Err_fncKvEndD
    Dim intYear As Integer
    If IsMissing(varYear) Then
        intYear = Year(Date)
    Else
        intYear = CInt(varYear)
    End If
    Select Case bteKv
        Case  1 
            fncKvEndD = "03/" & Day(DateSerial(CInt(Format(intYear, "0000")),  4 ,  0 )) & "/" & Format(intYear, "0000")
        Case  2 
            fncKvEndD = "06/" & Day(DateSerial(CInt(Format(intYear, "0000")),  7 ,  0 )) & "/" & Format(intYear, "0000")
        Case  3 
            fncKvEndD = "09/" & Day(DateSerial(CInt(Format(intYear, "0000")),  10 ,  0 )) & "/" & Format(intYear, "0000")
        Case  4 
            fncKvEndD = "12/" & Day(DateSerial(CInt(Format(intYear +  1 , "0000")),  1 ,  0 )) & "/" & Format(intYear, "0000")
        Case Else
            '213 - Недопустимый номер квартала!
            fncKvEndD = "213 - Недопустимый номер квартала!"
    End Select
Exit_fncKvEndD:
    Exit Function
Err_fncKvEndD:
    fncKvEndD = Err.Description
    Resume Exit_fncKvEndD
End Function
...
Рейтинг: 0 / 0
помогите написать функцию которая выдает по номеру квартала его начальную и конечную дату
    #36862601
ё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ё
Гость
...шо-та как-та всё сложно ))
Код: plaintext
1.
2.
3.
quartal =  2  : ?"start = " & DateAdd("q", quartal -  1 , # 1 / 1 / 2010 #) : ?"finish = " & DateAdd("q", quartal, # 1 / 1 / 2010 #) -  1 
start =  01 . 04 . 2010 
finish =  30 . 06 . 2010 
...
Рейтинг: 0 / 0
помогите написать функцию которая выдает по номеру квартала его начальную и конечную дату
    #36862777
Фотография paradisediamond
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ё...шо-та как-та всё сложно ))
Код: plaintext
1.
2.
3.
quartal =  2  : ?"start = " & DateAdd("q", quartal -  1 , # 1 / 1 / 2010 #) : ?"finish = " & DateAdd("q", quartal, # 1 / 1 / 2010 #) -  1 
start =  01 . 04 . 2010 
finish =  30 . 06 . 2010 
:
Что за фигня????
...
Рейтинг: 0 / 0
помогите написать функцию которая выдает по номеру квартала его начальную и конечную дату
    #36862801
ё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ё
Гость
paradisediamondё...шо-та как-та всё сложно ))
Код: plaintext
1.
2.
3.
quartal =  2  : ?"start = " & DateAdd("q", quartal -  1 , # 1 / 1 / 2010 #) : ?"finish = " & DateAdd("q", quartal, # 1 / 1 / 2010 #) -  1 
start =  01 . 04 . 2010 
finish =  30 . 06 . 2010 
:
Что за фигня????

Код: plaintext
1.
2.
3.
4.
5.
6.
function xxx(y as integer,kva as integer,nach as boolean)as date
if  nach then
  xxx = DateAdd("q", kva -  1 , dateserial(y, 1 , 1 )) 
else
  xxx = DateAdd("q", kva, dateserial(y, 1 , 1 )) -  1 
end if
end function

...понятно, почему Саныч вам отвечает сразу кодом...
по другому - вам недоходит ниразу....
...
Рейтинг: 0 / 0
помогите написать функцию которая выдает по номеру квартала его начальную и конечную дату
    #36862818
Фотография paradisediamond
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ёparadisediamondё...шо-та как-та всё сложно ))
Код: plaintext
1.
2.
3.
quartal =  2  : ?"start = " & DateAdd("q", quartal -  1 , # 1 / 1 / 2010 #) : ?"finish = " & DateAdd("q", quartal, # 1 / 1 / 2010 #) -  1 
start =  01 . 04 . 2010 
finish =  30 . 06 . 2010 
:
Что за фигня????

Код: plaintext
1.
2.
3.
4.
5.
6.
function xxx(y as integer,kva as integer,nach as boolean)as date
if  nach then
  xxx = DateAdd("q", kva -  1 , dateserial(y, 1 , 1 )) 
else
  xxx = DateAdd("q", kva, dateserial(y, 1 , 1 )) -  1 
end if
end function

...понятно, почему Саныч вам отвечает сразу кодом...
по другому - вам недоходит ниразу....


А про год речи и нет, год может быть и от рождества Христова, а у вас полугодие
...
Рейтинг: 0 / 0
помогите написать функцию которая выдает по номеру квартала его начальную и конечную дату
    #36862832
Фотография GUESТ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
даты начала и конца кварталов всегда одинаковые

нафига тут какая-то особая функция этих дат?
...
Рейтинг: 0 / 0
помогите написать функцию которая выдает по номеру квартала его начальную и конечную дату
    #36862834
ё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ё
Гость
paradisediamond...
А про год речи и нет, год может быть и от рождества Христова, а у вас полугодие
ааааа!!!, мляяяя!!!

о чём вы, автор ???
...
Рейтинг: 0 / 0
помогите написать функцию которая выдает по номеру квартала его начальную и конечную дату
    #36862856
ё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ё
Гость
ё...
о чём вы, автор ???
...для детей природы
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Function xxx(y As Integer, kva As Integer, nach As Boolean) As Date
If nach Then
  xxx = DateAdd("q", kva -  1 , DateSerial(y,  1 ,  1 ))
Else
  xxx = DateAdd("q", kva, DateSerial(y,  1 ,  1 )) -  1 
End If
End Function

Sub АвторЖжжет()
  Dim i As Integer
  For i =  1  To  4 
    Debug.Print "Квартал: " & i & "   " & _
                "Начало: " & xxx( 2010 , i, True) & "   " & _
                "Окончание: " & xxx( 2010 , i, False)

  Next i
End Sub
Код: plaintext
1.
2.
3.
4.
АвторЖжжет
Квартал:  1    Начало:  01 . 01 . 2010    Окончание:  31 . 03 . 2010 
Квартал:  2    Начало:  01 . 04 . 2010    Окончание:  30 . 06 . 2010 
Квартал:  3    Начало:  01 . 07 . 2010    Окончание:  30 . 09 . 2010 
Квартал:  4    Начало:  01 . 10 . 2010    Окончание:  31 . 12 . 2010 
...
Рейтинг: 0 / 0
помогите написать функцию которая выдает по номеру квартала его начальную и конечную дату
    #36863174
Фотография s.w.a.n.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ёparadisediamond...
А про год речи и нет, год может быть и от рождества Христова, а у вас полугодие
ааааа!!!, мляяяя!!!

о чём вы, автор ???

)))+5
...
Рейтинг: 0 / 0
помогите написать функцию которая выдает по номеру квартала его начальную и конечную дату
    #36863222
Фотография proposed amendment
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
select case define_dates (q as integer)

case 1
Начало= 01.01.2010 Окончание= 31.03.2010
case 2
Начало= 01.04.2010 Окончание= 30.06.2010
case 3
Начало= 01.07.2010 Окончание= 30.09.2010
case 4
Начало= 01.10.2010 Окончание= 31.12.2010
case else

end select

или это не спортивно?
...
Рейтинг: 0 / 0
помогите написать функцию которая выдает по номеру квартала его начальную и конечную дату
    #36863405
ё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ё
Гость
proposed amendment...
или это не спортивно?
да, нет - нормально,
Саныч вообщем с этого и начал

мой ответ был в основном на пример от George-III
с вот этими всякими
Код: plaintext
1.
...Day(DateSerial(CInt(Format(intYear +  1 , "0000")),  1 ,  0 )) ...
...ну, а тут ещё ТС подтянулся

ну и про спорт
Код: plaintext
1.
2.
Function xxx(y As Integer, kva As Integer, nach As Boolean) As Date
  xxx = DateAdd("q", kva + nach, DateSerial(y,  1 ,  1 )) + (not nach)
End Function
...
Рейтинг: 0 / 0
помогите написать функцию которая выдает по номеру квартала его начальную и конечную дату
    #36863422
Фотография garri2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ё,
+питсот,
ща люди запугают ТС-а окончательно
...
Рейтинг: 0 / 0
помогите написать функцию которая выдает по номеру квартала его начальную и конечную дату
    #36863424
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
ё Саныч вообщем с этого и начал
Собственно, я с этого начал только для того, чтобы показать ТС, что задачка-то элементарная и спрашивать такие вещи в форуме нехорошо. Вот если бы был задан вопрос, как это записать одной строчкой, тогда да.
...
Рейтинг: 0 / 0
помогите написать функцию которая выдает по номеру квартала его начальную и конечную дату
    #36863441
Спортсмен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И мои копейки
Код: plaintext
1.
2.
Function xxx(y As Integer, kva As Integer, nach As Boolean) As Date
  xxx = DateSerial(y,  3 *(kva+nach)+ 1 , -nach)
End Function
...
Рейтинг: 0 / 0
помогите написать функцию которая выдает по номеру квартала его начальную и конечную дату
    #36863455
Фотография nord-woolf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Усложним до:
Код: plaintext
1.
GetBeginEndQuarter = Array(DateSerial(Y, Array(,  1 ,  4 ,  7 ,  10 )(Q),  1 ), DateSerial(Y, Q *  3 , Array(,  31 ,  30 ,  30 ,  31 )(Q)))
Код: plaintext
?GetBeginEndQuarter( 2010 , 4 )( 0 ),GetBeginEndQuarter( 2010 , 4 )( 1 )
:)
...
Рейтинг: 0 / 0
25 сообщений из 40, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / помогите написать функцию которая выдает по номеру квартала его начальную и конечную дату
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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