Bang Fungsi ini saya coba kenapa ya pada saat tanggal saya atur 
tanggal Lahir 03-08-08 dan tanggal sekarang 04-09-08 akan menghasilkan
Total Bulan "0" Jumlah Tahun "0" Jumlah Bulan "0" Jumlah Hari "1"
Seharusnyakan satubulan satu hari
tetapi jika kita atur Tgllahir 03-09-08 dan tgl sekarang 04-09-08
menghasilkan 
Total Bulan "-1" Jumlah Tahun "0" Jumlah Bulan "-1" Jumlah Hari "1"
Seharusnyakannya kan akan menjadi
Jumlah Bulan Nol Jumlah hari satu





--- In [email protected], "aksan kurdin" 
<[EMAIL PROTECTED]> wrote:
>
> Menghitung umur .....,
> Ada dua parameter, tanggal lahir dan tanggal sekarang (now() or date
())
> Intinya ada diperhitungan bulan, sepertinya datediff dengan 
parameter "m"
> adalah jawabannya, tapi tunggu dulu.
> Kita ambil contoh tanggal lahir 15 Januari 2008.
> 
> Pada tanggal 1 Februari 2008, berapa umurnya ? sebulan ? belum 
kan ? karena
> belum sampe tanggal 15. Hitungan sebulan nanti kalau tanggal 15 ke 
atas.
> Jadi kita perlu parameter perbandingan tanggalnya. Kalau tgl lahir 
(angka
> tanggalnya saja) kurang dari tgl sekarang, berarti hasil datediff 
di atas
> harus dikurangi dengan satu. Jadilah fungsi:
> 
> Function JumlahBulan(tglMulai As Date, tglAkhir As Date) As Integer
>     Dim numBln As Integer
>     numBln = DateDiff("m", tglMulai, tglAkhir)
>     If Day(tglMulai) < Day(tglAkhir) Then
>         numBln = numBln - 1
>     End If
>     JumlahBulan = numBln
> End Function
> 
> Fungsi di atas akan memberikan kita total bulan sejak tanggal lahir 
sampai
> sekarang. Memecahnya menjadi tahun dan bulan sangat mudah:
> Jumlah tahun = JumlahBulan \ 12   ---> (pembagian integer, hanya 
nilai
> integer di ambil, pecahan di buang)
> Jumlah bulan = JumlahBulan mod 12  ---> (modulus, sisa dari 
pembagian 12,
> pecahannya yang diambil tapi bulat lo ya)
> 
> 
> Sekarang bagaimana dengan jumlah hari sisanya ?
> Dengan contoh di atas, tanggal lahir 15 Januari 2008, kalau kita 
cek di
> tanggal 25 Maret 2008, kan mudah, 15 Januari ke 15 Maret ada 2 
bulan, terus
> 15 Maret ke 25 Maret ada 10 hari.
> 
> 
>           |<---10--->|
>  +---------------o---------------+---------------+---------------+
> ---------------+----------o-----+
> 1/1            15/1
> 1/2            15/2             1/3            15/3       25/4  1/4
> 
> 
> Sekarang bagaimana kalau ngecek di tanggal 10 Maret 2008 ?
> Yup betul, karena belum sampai tanggal 15, maka ngitungnya dari 15 
Januari
> sampai 15 Pebruari ada 1 bulan, dan dari 15 Pebruari ke 10 Maret ada
> sejumlah datediff("d",tglLahir sebulan lalu, tglSekarang).
> 
>                                                   |<---------24-----
---->|
>  +---------------o---------------+---------------+---------------+
> ------o--------+----------------+
> 1/1            15/1
> 1/2            15/2             1/3   10/3     15/3             1/4
> 
> Kita bisa bikin fungsi berikut :
> 
> Function JumlahHari(tglMulai As Date, tglAkhir As Date) As Integer
>     Dim tgMulai
>     tgMulai = DateSerial(Year(tglAkhir), Month(tglAkhir), Day
(tglMulai))
>     If Day(tgMulai) > Day(tglAkhir) Then
>         tgMulai = DateAdd("m", -1, tgMulai)
>     End If
>     JumlahHari = DateDiff("d", tgMulai, tglAkhir)
> End Function
> 
> 
> Eitt...
> Masih ada tapinya,  bagaimana untuk kasus yang belum sebulan ? 
contohnya di
> cek pada tanggal 10/2-2008.
> Ah mana ada sih pak pegawai masuk umur belum sebulan ?
> Tapi bagaimana kalau mau menghitung anak pegawai tersebut ? mungkin 
saja
> bukan ?
> Nah bagaiamana caranya ?
> Siapa yang bisa ?
> 
>                   |<---------26--------->|
>  +---------------o---------------+------o--------+---------------+
> ---------------+----------------+
> 1/1            15/1             1/2   10/2     15/2             1/3
>      15/3             1/4
> 
> Kalau sudah bisa, maka bentuk query ini bisa menjawab pertanyaan 
berapa umur
> seorang pegawai dalam tahun - bulan - hari:
> 
> SELECT
>     Table1.Nama, Table1.NIK, Table1.TanggalLahir,
>     Date() AS TanggalSekarang,
>     JumlahBulan([TanggalLahir],Now()) AS TotBulan,
>     [TotBulan]\12 AS JumTahun,       [TotBulan] Mod 12 AS JumBulan,
>     JumlahHari([TanggalLahir],[TanggalSekarang]) AS JumHari
> FROM Table1;
> 
> 
> Aksan Kurdin
> 
> On 5/8/08, Darsono <[EMAIL PROTECTED]> wrote:
> >
> >
> >
> >
> >
> >
> > Sdr. Herry
> >
> > Mungkin ini bisa sebagai contoh dasar .....
> >
> > untuk suhu-suhu yang lain,
> > mohon koreksi kalau masih kurang tepat
> >
> > darsono
> >
> > --- Harry siswanto <[EMAIL PROTECTED]> wrote:
> >
> > > dear senior...
> > >
> > > (Pernah tahu tapi lupa)...:-) :-)
> > >
> > > Bagaimana bentuk di Query / scriptnya
> > > untuk mencari Umur seseorang
> > > dengan: tanggal sekarang / Now() - tanggalLahir
> > > sehingga ketemu:
> > > ..... th
> > > ...... Bulan
> > > .... hari
> > >
> > > Terima kasih sebelumnya..
> > >
> > >
> > > regards
> > > harry
> > >
> >
> > __________________________________________________________
> > Joint with us, you will earn some cash when you make some 
disscusion
> > http://www.mylot.com/?ref=darsono72
> > __________________________________________________________
> >
> > Atau yang ini saya yakin anda tertarik
> > http://www.UangGampang.Com/?id=darsono72
> > __________________________________________________________
> >
> >
> > __________________________________________________________
> > Be a better friend, newshound, and
> > know-it-all with Yahoo! Mobile. Try it now.
> http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ
> >
> 
> 
> 
> -- 
> Aksan Kurdin
>


Kirim email ke