[Attachment(s) from Aksan Kurdin included below]
Silakan jalankan dengan misalnya :
Nah untuk kasus anda, manipulasi fungsi tersebut untuk menerima dua parameter tanggal (tanggal 1, dan tanggal 2):
berikut hasilnya dari immediate window:
Aksan Kurdin
On 2/21/2012 8:45 PM, nur kholis wrote:
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)
SPAM IS PROHIBITED
.
__,_._,___
Tidak ada komentar:
Posting Komentar