Salut untuk Sdr. Aksan Nurdin, Terima kasih atas koreksinya, terlampir contoh yang sudah direvisi,
darsono
--- 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
>
urdin
>
___________________________________________________________________________
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
Umur rev 01.rar
Description: 1698569918-Umur rev 01.rar

