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

Attachment: Umur rev 01.rar
Description: 1698569918-Umur rev 01.rar

Kirim email ke