Judul postingnya agak aneh ya. Soalnya saya bingung judul yang pas untuk judul postingan kali ini. Intinya bagaimana merubah value/tanggal pada DTPicker dengan bantuan TextBox atau yang semisalnya. Semakin bingung ya?
Begini, misalnya kita ingin mengetahui kapankah tanggal jatuh tempo pelunasan pinjaman. Tanggal pinjam pada sebuah DTPicker dan tanggal jatuh tempo pada DTPicker yang lain, untuk mengubah tanggal jatuh tempo kita memerlukan sebuah Texbox.
Dengan hanya input berapa bulan temponya, maka Tanggal jatuh tempo akan bisa diketahui. Caranya sangat mudah, bahkan mungkin artikel ini tidak layak beredar di dunia maya, karena sangat sederhana.
Mungkin cara dibawah ini bisa digunakan :
DTPicker2.Month = DTPicker1.Month + val(Text1.Text) ' Penjumlahan bulan
Akan tetapi cara diatas hanya akan berlaku apabila DTPicker1.Month + val(Text1.Text) <=12, akan terjadi masalah apabila jumlahnya melebihi angka 12, karena tidak ada bulan dengan nilai 13, 14 dan seterusnya.
Nah untuk mengatasinya diperlukan
code yang agak sedikit panjang. sebagai berikut
On Error Resume Next
DTPicker2.Value = DTPicker1.Value
If Val(Text1.Text) + DTPicker1.Month = 2 Then
DTPicker2.Month = 2
Elseif Val(Text1.Text) + DTPicker1.Month <= 12 Then
DTPicker2.Month = DTPicker1.Month + Val(Text1.Text)
ElseIf Val(Text1.Text) + DTPicker1.Month > 12 Then
DTPicker2.Month = (DTPicker1.Month + Val(Text1.Text)) Mod 12
DTPicker2.Year = (DTPicker2.Year + ((DTPicker1.Month + Val(Text1.Text)) + _
(12 - DTPicker2.Month)) / 12) - 1
End If
Tidak akan terlalu sulit jika yang dijadikan dasar perhitungan adalah hari atau tahun, tinggal dijumlahkan atau dikurangkan saja. Misalnya :
Untuk penjumlahan hari :
DTPicker2.Value = DTPicker1.Value + Text1.Text
Untuk penjumlahan tahun :
DTPicker2.Year = DTPicker1.Year + Text1.Text