🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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
#137834
Author: Phantom
Date: Thu, 31 Aug 2023 10:43
11 lines
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
#137835
Author: Maciej Franciszkowski
Date: Fri, 01 Sep 2023 15:35
8 lines
1454 bytes
> 
> Z góry dziękuję 
> Tomek

Może
DateAdd("d";14;DOdbDec)

MF
Re: Data + 14 dni roboczych
#137818
Author: Maciej Franciszkowski
Date: Fri, 01 Sep 2023 18:12
24 lines
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
#137830
Author: Maciej Franciszkowski
Date: Fri, 01 Sep 2023 19:04
26 lines
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
#137842
Author: Maciej Franciszkowski
Date: Fri, 01 Sep 2023 19:28
32 lines
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
#137843
Author: Maciej Franciszkowski
Date: Sat, 02 Sep 2023 08:16
35 lines
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
#137841
Author: Maciej Franciszkowski
Date: Sun, 03 Sep 2023 13:41
25 lines
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
#137848
Author: Maciej Franciszkowski
Date: Sun, 03 Sep 2023 16:22
16 lines
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