Thanks special buat Bang Aksan Kurdin dan Bang Wedhi maaf agat telat bacanya ...
--- In [email protected], "aksan kurdin" <[EMAIL PROTECTED]> wrote: > > Alternatif: > Query: > SELECT tblHistory.NoReg, tblHistory.History, tblHistory.tgl, > GetTglAkhir([NoReg],[Tgl]) AS tgl2, fTahunBulan([tgl],[tgl2]) AS MasaJabatan > FROM tblHistory > ORDER BY tblHistory.NoReg, tblHistory.tgl; > > dengan fungsi GetTglAkhir: > Function GetTglAkhir(NoReg As String, Tgl As Date) As Date > Dim rs As DAO.Recordset > Set rs = CurrentDb.OpenRecordset("select tgl from tblhistory where noreg = > '" & NoReg & "' and tgl > #" & Format(Tgl, "mm/dd/yyyy") & "# order by tgl") > If rs.RecordCount > 0 Then > GetTglAkhir = rs(0) > Else > GetTglAkhir = Date > End If > rs.Close > Set rs = Nothing > End Function > > > Kalau lihat data, T-889 memegang jabatan Kabag Pemupukan dan Kabag > Penyiangan secara bersamaan tgl 1 April 2007. > Jika memang seorang pegawai bisa memegang lebih dari satu jabatan sekaligus, > maka untuk tanggal yang sama, query ini dan query mas wedhi, serta punya pak > Edy bisa digunakan. Tetapi jika tanggalnya berbeda, saya sarankan, daripada > pusing mikirin logika berdasarkan satu tanggal, anda tambahkan satu field > lagi di tblHistory tgl akhir jabatan. > > Aksan Kurdin > > > On 2/27/08, wedhi2002 <[EMAIL PROTECTED]> wrote: > > > > Tgl2 Otomatis terisi. > > NoUrut Otomatis terisi. > > Masa Keja Otomatis terisi. > > > > Hasilnya sbb: > > NoReg History tgl NoUrut tgl2 MasaKerja > > T-881 Kabag Pembibitan padi 21-May-2003 1 09-Apr-2006 2 tahun 11 bulan > > T-881 Staf penaburan pupuk 09-Apr-2006 2 01-Jan-2008 1 tahun 9 bulan > > T-881 Kasubbag pengairan 01-Jan-2008 3 27-Feb-2008 1 bulan > > T-889 Kabag penanaman padi 01-Dec-2005 1 09-Apr-2006 4 bulan > > T-889 Kabag pemupukan padi 01-Apr-2006 2 01-Jan-2008 1 tahun 9 bulan > > T-889 Kabag penyiangan padi 01-Apr-2007 3 27-Feb-2008 10 bulan > > > > Buat Query bernama Query3, dengan string SQL sbb: > > > > Query3: > > SELECT TblHistory.*, DCount([tgl],"Query3","tgl<=#" & [tgl] & "# AND > > NoReg='" & [NoReg] & "'") AS NoUrut, > > IIf(Len(Format(DLookUp("[tgl]","Query3","[NoUrut]=" & > > > > [NoUrut]+1),"dd-mmm-yyyy"))=0,Format(Date(),"dd-mmm-yyyy"),Format (DLookUp("[tgl]","Query3","[NoUrut]=" > > & [NoUrut]+1),"dd-mmm-yyyy")) AS tgl2, fTahunBulan([tgl],[tgl2]) AS > > MasaKerja > > FROM TblHistory > > ORDER BY TblHistory.NoReg, TblHistory.tgl; > > > > letakkan fungsi ini di module umum: > > > > Function fTahunBulan(ByVal tgl1 As Date, ByVal tgl2 As Date) As String > > On Error GoTo err_f > > > > intMonth = DateDiff("m", tgl1, tgl2) > > Select Case intMonth > > Case 0 > > intDay = DateDiff("d", tgl1, tgl2) > > fTahunBulan = intDay & " hari" > > Case 1 To 12 > > fTahunBulan = intMonth & " bulan" > > Case Else > > intTahun = intMonth \ 12 > > intSisa = intMonth Mod 12 > > fTahunBulan = intTahun & " tahun " & intSisa & " bulan" > > End Select > > > > exit_f: > > Exit Function > > > > err_f: > > Debug.Print Err.Description > > Resume exit_f > > > > End Function > > > > --- In [email protected] <belajar-access% 40yahoogroups.com>, > > "andikprabowo" > > <andikprabowo@> wrote: > > > > > > Hello para senior acces dan kawan sekalian, moga sehat selalu. > > > > > > Andi mau tanya untuk menghitung lamanya bertugas melihat dari tabel > > > history, contoh : > > > > > > NoReg History tgl > > > T-889 Kabag penanaman padi 01-12-2005 > > > T-889 Kabag pemupukan padi 01-04-2007 > > > T-889 Kabag penyiangan padi 01-04-2007 > > > T-881 Kabag Pembibitan padi 21-05-2003 > > > T-881 Staf penaburan pupuk 09-04-2006 > > > T-881 Kasubbag pengairan 01-01-2008 > > > > > > gimana ngitung lamanya bertugas untuk noreg T-889 Sewaktu menjadi > > > kabag penanaman padi berapa tahun berapa bulan? > > > lanjut, lamanya bertugas untuk noreg T-889 Sewaktu menjadi > > > kabag pemupukan padi berapa tahun berapa bulan? > > > > > > mohon saran? terimakasih. > > > > > > > > > > > > > -- > Aksan Kurdin >

