Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

Kako izračunti radni staž da bude prikazan godina mjesec i dan

  • 79 odgovora
  • 33.175 pregleda

Najnovija ↓

Kako izračunti radni staž da bude prikazan godina mjesec i dan 24.02.2015. u 19:17 · pre 142 meseca #1
Pozdrav svima , početnik sam u accesu i koristim 2007. Radim bazu jednu malu al mi je potrebno u toj bazi izračun radnog staža . Al da mi bude napisano GODINA , MJESEC i DAN.
Imam datum unosenja podataka , datum zaposlenja , prethodni radni staž (to sam stavio samo u godinama al bi trebao promjenit godina mjesec i dan) . pa na osnovu toga mi je potrebno da dodjem do RADNOG STAŽA . Pa ako ima tko prijedlog bio bi zahvalan
Re: Kako izračunti radni staž da bude prikazan godina mjesec i dan 25.02.2015. u 14:00 · pre 142 meseca #4
SELECT evidencija.Ime, evidencija.[Ime oca], evidencija.Prezime, evidencija.JMBG, evidencija.Datum, evidencija.[Datum zaposlenja], DateDiff("yyyy",[Datum zaposlenja],[Datum]) AS Years, IIf(Day([Datum zaposlenja])<=Day([Datum]),DateDiff("m",[Datum zaposlenja],[Datum])-[Years]*12,DateDiff("m",[Datum zaposlenja],[Datum])-[Years]*12-1) AS Months, DateDiff("d",DateAdd("m",[Months],DateAdd("yyyy",[Years],[Datum zaposlenja])),[Datum]) AS Days, evidencija.Godina, evidencija.Mjesec, evidencija.Dan, [Days]+[Dan] AS polje1, Int([polje1]/31) AS polje2, IIf([polje1]>31,[polje1]-([polje2]*31),[polje1]) AS UkupnoDana, [Months]+[Mjesec]+[polje2] AS polje4, Int([polje4]/12) AS polje5, IIf([polje4]>12,[polje4]-([polje5]*12),[polje4]) AS UkupnoMjeseci, [Years]+[Godina]+[polje5] AS [Ukupno Godina]
FROM evidencija;


Evo kod koji sam dobio racuna godinu ok al mjesec uvijek u minusu zna li tko sta bi moglo bit ?? uglavnom kod radi sve do kraja al mjesec samo kriv pa moze li tko pomoc ????
Re: Kako izračunti radni staž da bude prikazan godina mjesec i dan 25.02.2015. u 19:36 · pre 142 meseca #8
Code:
Function RStaz()
' Funkcija za izračunavanje dužine radnog staža _
uBaci iz polja za godinu mesec ili dan podatak ako ga ima  onda ga sabira _
ako nema podatke unda uzima iz pocetka rada i o odnosu na trenutni datum uzima _
pocetne vrednosti

Dim pocetak1, Kraj1
Dim GS%, MS%, DS%, st

  GS = Year(Date) - Year(poc) + Nz(Me.pocGod)
  MS = Month(Date) - Month(poc) + Nz(Me.pocMes)
  DS = day(Date) - day(poc) + 1 + Nz(Me.pocDan)
   
  If DS < 0 Then
      MS = MS - 1: DS = DS + 30
    End If
    If MS < 0 Then
      GS = GS - 1: MS = MS + 12
    End If
    If GS < 0 Then
      MsgBox ("Greška")
      Exit Function
    End If
    If DS = 30 Then
      MS = MS + 1: DS = 0
    ElseIf DS = 31 Then
      MS = MS + 1: DS = 1
    End If
     ' Me.godstaz = GS
     
 Me.Label533.Caption = "Radni staž: "
 Me.Label534.Caption = "" & GS & "  godine"
 Me.Label535.Caption = "" & MS & "  meseca"
 Me.Label536.Caption = "" & DS & " dana"

End Function
Potpis
F
Re: Kako izračunti radni staž da bude prikazan godina mjesec i dan 26.02.2015. u 07:45 · pre 142 meseca #10
Citat:
IKA RISTOVIĆ:
Sve sam proverio i sve radi, mora da imaš neku grešku.
Proveri u samom postu koji sam ti poslao
ika


radi meni sve al mi mjesec izracuna krive na ovom primjeru :

Datum 25.2.2015
Datum zaposlenja 13.10.2000

Pa kad to sve oduzmem dobijem sljedece : 5 godina -2mjeseca i 13 dana
Re: Kako izračunti radni staž da bude prikazan godina mjesec i dan 26.02.2015. u 09:04 · pre 142 meseca #12
Ako je datum zaposlenja 31.03.2014, a današnji dan je 01.02.2015, onda će ti rezultat biti u mjesecima 11, ti onda od toga oduzimaš 12 i dobiti ćeš -1, ako sam dobro shvatio tvoju funkciju. Ne znam da li access ima funkciju DIV ili MOD, ako ima mislim da samo možeš samo napraviti DIV ili MOD 12, a ako nema samo razliku u mjesecima podijeli sa 12 i uzeti cijeli broj od rezultata. Govorim napamet, isprobaj da li bi tako radilo.
Potpis
F
Re: Kako izračunti radni staž da bude prikazan godina mjesec i dan 26.02.2015. u 10:50 · pre 142 meseca #14
kolega pogledajte diskusiju

http://www.elitesecurity.org/t448430-0#3090340

ja sam je pisao I ja je koristim u svim poslovima, osnovno je da je covek radio I prvog I zadnjeg dana, dok se
u slucaju obracuna kamata ne racuna zadnji dan. I dovoljno je koristiti funkciju datediff koji izracunava dane
Re: Kako izračunti radni staž da bude prikazan godina mjesec i dan 26.02.2015. u 11:03 · pre 142 meseca #15
Hvala kolega prelistat cu ovo sto si mi poslao al ja sam nekako zapeo da ovo svoje rijesimi da ovaj model osposobim :) jer imam tu vise izračuna npr. Datum rada u trenutnoj firmi , pa broj godina dana i mjeseci iz prethodnih mjesta gdje je radio pa na kraju da sve to zbroji u ukupni radni staž . sve sam ovo uspio rijesit zbrojit i postavit al me mjesec zajebaje pa gledam kako to rijesit
Re: Kako izračunti radni staž da bude prikazan godina mjesec i dan 03.03.2015. u 14:46 · pre 142 meseca #17
Ako ja dobro vidim, u tvom izrazu:
Months: IIf(Day([Datum zaposlenja])<=Day([Datum]);DateDiff("m";[Datum zaposlenja];[Datum])-[Years]*12;DateDiff("m";[Datum];[Datum zaposlenja])-[Years]*12-1)
Year predstavlja razliku godina krajnjeg datuma i datuma zaposlenja, u primeru koji si naveo 2000 i 2015, dakle Year=15, ali nema punih 15 godina između tih datuma.
Potom oduzimaš Year*12, zato dobijaš negativan broj.

Imam neku funkciju rađenu u kodu:

puneGodine = IIf(DateAdd("yyyy", DateDiff("yyyy", prviDan, zadnjiDan), prviDan) > zadnjiDan, DateDiff("yyyy", prviDan, zadnjiDan) - 1, DateDiff("yyyy", prviDan, zadnjiDan))

vidim da je struktura ista, samo ti koristiš nazive polja a ja promenjive, prviDan i ZadnjiDan, uporedi, videćeš gde je razlika. Kod daje broj punih godina a ne razliku godišta.



Re: Kako izračunti radni staž da bude prikazan godina mjesec i dan 04.03.2015. u 10:45 · pre 141 mesec #19
Evo, uneo sam tvoj SQL iskaz u upit, upit antonio, slično, ali imajući u viduz da DateDiff ne daje pune godine za određeni interval, recimo za interval 25/12/14 do 5/1/15 daće da je DateDiff jedna godina, a jedva je prošlo 10 dana. U Query1 imaš izmenjenu iskaz, da prikazuje stvaran broj godina.
Odgovori
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme