/* */

Saturday, February 25, 2012

Re: [belajar-access] menghitung umur [1 Attachment]

 
[Attachment(s) from Aksan Kurdin included below]

Ini ada fungsi yang saya ambil dari http://putravb.blogspot.com/2010/05/fungsi-hitung-umur.html:
Saya tambahkan penjelasan seperlunya

Public Function HitungUmur(ByVal TglLahir As Date) As String     Dim d As Integer, m As Integer, y As Integer      'Jika belum lahir, jangan dihitung     If TglLahir >= Now Then         HitungUmur = ""         Exit Function     End If      'cari selisih hari, selisih bulan, dan selisih tahun     d = Day(Now) - Day(TglLahir)     m = Month(Now) - Month(TglLahir)     y = Year(Now) - Year(TglLahir)      'fungsi sgn untuk mengecek hasil selisih negatif (-1), nol (0), atau positif (1)     If Sgn(d) = -1 Then         'jika negatif, maka berarti masih 30 - d hari lagi,         'satu bulan dianggap 30 hari         d = 30 - Abs(d)         m = m - 1     End If          If Sgn(m) = -1 Then         'jika negatif, maka berarti masih 12 - m bulan lagi         m = 12 - Abs(m)         y = y - 1     End If      HitungUmur = y & " Tahun, " & m & " Bulan, " & d & " Hari" End Function 

Silakan jalankan dengan misalnya :

select nama, tglLahir, HitungUmur(tglLahir) as umur from table


Nah untuk kasus anda, manipulasi fungsi tersebut untuk menerima dua parameter tanggal (tanggal 1, dan tanggal 2):

Public Function HitungUmur2Tanggal(ByVal TglLahir1 As Date, ByVal TglLahir2 As Date) As String     Dim d As Integer, m As Integer, y As Integer      If TglLahir1 >= TglLahir2 Then         HitungUmur2Tanggal = ""         Exit Function     End If      d = Day(TglLahir2) - Day(TglLahir1)     m = Month(TglLahir2) - Month(TglLahir1)     y = Year(TglLahir2) - Year(TglLahir1)      If Sgn(d) = -1 Then         d = 30 - Abs(d)         m = m - 1     End If          If Sgn(m) = -1 Then         m = 12 - Abs(m)         y = y - 1     End If      HitungUmur2Tanggal = y & " Tahun, " & m & " Bulan, " & d & " Hari" End Function 

berikut hasilnya dari immediate window:







Aksan Kurdin




On 2/21/2012 8:45 PM, nur kholis wrote:
 
assalamu'alaikum para master acces ...

saya sedang membuat database pemilih .... dan terkendala pada saat menghitung umur ...
pada saat tanggal 17-04-2112 pemilh harus berusia 17 tahun (paling muda lahir tgl 17-07-1995)

saya coba pake datediff ("yyyy";[tgllahir];#17-04-2112) kok munculnya pembulatan tahun

seharusnya klo lahirnya tanggal 18-04-1995 masih usia 16 kok keluarnya 17 tahun ... mohon bantuan para master acces ...

wassalamu'alaikum ....

__._,_.___

Attachment(s) from Aksan Kurdin

1 of 1 Photo(s)

Recent Activity:
SPAM IS PROHIBITED
.

__,_._,___

No comments:

Post a Comment