Thread View: pl.comp.bazy-danych.msaccess
8 messages
8 total messages
Started by Phantom
Thu, 31 Aug 2023 10:43
Data + 14 dni roboczych
Author: Phantom
Date: Thu, 31 Aug 2023 10:43
Date: Thu, 31 Aug 2023 10:43
11 lines
1618 bytes
1618 bytes
Dzień dobry Problem taki jak w tytule. Muszę obliczyć datę prawomocności pisma z datą odbioru np.: 15 maja 2023 r. Pismo uprawomocnia się po 14 dniach roboczych od daty odbioru, czyli: Data odbioru pisma: DOdbDec DOdbDec + 14 dni roboczych = musi zwrócić datę w tym przypadku 02 czerwca 2023 r. Pomocy Z góry dziękuję Tomek
Re: Data + 14 dni roboczych
Author: Maciej Franciszkowski
Date: Fri, 01 Sep 2023 15:35
Date: Fri, 01 Sep 2023 15:35
8 lines
1454 bytes
1454 bytes
>
> Z góry dziękuję
> Tomek
Może
DateAdd("d";14;DOdbDec)
MF
Re: Data + 14 dni roboczych
Author: Maciej Franciszkowski
Date: Fri, 01 Sep 2023 18:12
Date: Fri, 01 Sep 2023 18:12
24 lines
2014 bytes
2014 bytes
Jeżeli chodzi o 14 dni roboczych to proponuję:
1. Utworzyć tabelkę pomocniczą z jedną kolumną - datami świąt tabela DatySwiat kolumna [DataSw]
2. Napisać/ zweryfikować poniższą funkcję.
"
Function DateAddWD14(DateP As Date) As Date
Dim DateK As Date
Dim i As Integer
DateK = DateP
Do Until i = 14
IF (WeekDay(DataK) Not IN (7, 1) And DLookup("[DataSw]", "DatySwiat") Is Null Then
i = i + 1
End IF
DataK = DateAdd("d", 1, DataK)
Next i
DateAddWD14 = DataK
End Function
"
Proszę
Re: Data + 14 dni roboczych
Author: Maciej Franciszkowski
Date: Fri, 01 Sep 2023 19:04
Date: Fri, 01 Sep 2023 19:04
26 lines
2142 bytes
2142 bytes
piątek, 1 września 2023 o 20:12:46 UTC+2 Maciej Franciszkowski napisał(a):
> Jeżeli chodzi o 14 dni roboczych to proponuję:
>
> 1. Utworzyć tabelkę pomocniczą z jedną kolumną - datami świąt tabela DatySwiat kolumna [DataSw]
> 2. Napisać/ zweryfikować poniższą funkcję.
>
> "
/Poprawki
Function DateAddWD14(DateP As Date) As Date
Dim DateK As Date
Dim i As Integer
DateK = DateP
Do Until i = 14
IF (WeekDay(DataK) Not IN (7, 1) And DLookup("[DatySw]", "DatySwiat") Is Null) Then
i = i + 1
End IF
DataK = DateAdd("d", 1, DataK)
Loop
DateAddWD14 = DataK
End Function
Re: Data + 14 dni roboczych
Author: Maciej Franciszkowski
Date: Fri, 01 Sep 2023 19:28
Date: Fri, 01 Sep 2023 19:28
32 lines
2340 bytes
2340 bytes
piątek, 1 września 2023 o 21:04:43 UTC+2 Maciej Franciszkowski napisał(a):
> piątek, 1 września 2023 o 20:12:46 UTC+2 Maciej Franciszkowski napisał(a):
> > Jeżeli chodzi o 14 dni roboczych to proponuję:
> >
> > 1. Utworzyć tabelkę pomocniczą z jedną kolumną - datami świąt tabela DatySwiat kolumna [DataSw]
> > 2. Napisać/ zweryfikować poniższą funkcję.
/Dawno nie pisałem stąd błędy
Teraz poprawnie:
*******
Function DateAddWD14(DataP As Date) As Date
Dim DataK As Date
Dim i As Integer
IF Not IsDate(DataP) Then Exit Function
DateK = DataP
Do Until i = 14
IF (WeekDay(DataK) Not IN (7, 1) And IsNull(DLookup("[DataSw]", "DatySwiat", "[DataSw] = #" & DataK & "#"))) Then
i = i + 1
End IF
DataK = DateAdd("d", 1, DataK)
Loop
DateAddWD14 = DataK
End Function
******
MF
Re: Data + 14 dni roboczych
Author: Maciej Franciszkowski
Date: Sat, 02 Sep 2023 08:16
Date: Sat, 02 Sep 2023 08:16
35 lines
2644 bytes
2644 bytes
piątek, 1 września 2023 o 21:28:40 UTC+2 Maciej Franciszkowski napisał(a):
> piątek, 1 września 2023 o 21:04:43 UTC+2 Maciej Franciszkowski napisał(a):
> > piątek, 1 września 2023 o 20:12:46 UTC+2 Maciej Franciszkowski napisał(a):
> > > Jeżeli chodzi o 14 dni roboczych to proponuję:
> > >
> > > 1. Utworzyć tabelkę pomocniczą z jedną kolumną - datami świąt tabela DatySwiat kolumna [DataSw]
> > > 2. Napisać/ zweryfikować poniższą funkcję.
> /Dawno nie pisałem stąd błędy
>
?
Function DateAddWD14(DataP As Date) As Date
Dim DataK As Date
Dim i As Integer
If Not IsDate(DataP) Then Exit Function
DataK = DataP
i = 0
Do Until i = 14
If (Weekday(DataK) <> 7 And Weekday(DataK) <> 1 And (DCount("*", "DatySwiat", "[DataSw] =#" & DataK & "#") = 0)) Then
i = i + 1
End If
DataK = DateAdd("d", 1, DataK)
Loop
DateAddWD14 = DataK
End Function
@Phantom czy DCount poprawnie działa u ciebie? U mnie jest błąd formatu daty w polu DataK.
MF
Re: Data + 14 dni roboczych
Author: Maciej Franciszkowski
Date: Sun, 03 Sep 2023 13:41
Date: Sun, 03 Sep 2023 13:41
25 lines
2304 bytes
2304 bytes
> @Phantom czy DCount poprawnie działa u ciebie? U mnie jest błąd formatu daty w polu DataK.
>
Function DateAddWD14(DataP As Date) As Date
Dim DataK As Date
Dim i As Integer
IF Not IsDate(DataP) Then Exit Function
'Uprawomocnienie liczymy od następnego dnia od doręczenia - kodeks PA
'(tu data doręczenia to DataP)
DataK = DateAdd("d", 1, DataP)
i = 0
Do Until i = 14
IF (WeekDay(DataK) <> 7 And WeekDay(DataK) <> 1 And (DCount("*", "DatySwiat", "DataSw = #" & DataK & "#") = 0)) Then
i = i + 1
End IF
DataK = DateAdd("d", 1, DataK)
Loop
DateAddWD14 = DataK
End Function
Re: Data + 14 dni roboczych
Author: Maciej Franciszkowski
Date: Sun, 03 Sep 2023 16:22
Date: Sun, 03 Sep 2023 16:22
16 lines
2254 bytes
2254 bytes
Function DateAddWD14(DataP As Date) As Date
Dim DataK As Date
Dim i As Integer
IF Not IsDate(DataP) Then Exit Function
'Uprawomocnienie liczymy od następnego dnia od doręcznia - kodeks PA
'(tu data doręczenia to DataP)
DataK = DataP
i = 0
Do Until i = 14
DataK = DateAdd("d", 1, DataK)
IF (WeekDay(DataK) <> 7 And WeekDay(DataK) <> 1 And (DCount("*", "DatySwiat", "DataSw = #" & DataK & "#") = 0)) Then
i = i + 1
End IF
Loop
DateAddWD14 = DataK
End Function
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads