''

Rabu, 23 Maret 2011

APLIKASI PENGHITUNGAN HARTA WARISAN - PART 1

Imports System.Data.SqlClient 'memasukkan system data sqlclient

Public Class Frm21Harta


    Private Sub Form1_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
        Call hapus_data()
        End
    End Sub
    Dim dat_user As New SqlDataAdapter
    Dim a, b As String
    Dim i As Integer
    'fungsi untuk menjadikan terbilang indonesia
    Public Function Terbilang(ByVal nilai As Long) As String
        Dim bilangan As String() = {"", "satu", "dua", "tiga", "empat", "lima", _
             "enam", "tujuh", "delapan", "sembilan", "sepuluh", "sebelas"}
        If nilai < 12 Then
            Return " " & bilangan(nilai)
        ElseIf nilai < 20 Then
            Return Terbilang(nilai - 10) & " belas"
        ElseIf nilai < 100 Then
            Return (Terbilang(CInt((nilai \ 10))) & " puluh") + Terbilang(nilai Mod 10)
        ElseIf nilai < 200 Then
            Return " seratus" & Terbilang(nilai - 100)
        ElseIf nilai < 1000 Then
            Return (Terbilang(CInt((nilai \ 100))) & " ratus") + Terbilang(nilai Mod 100)
        ElseIf nilai < 2000 Then
            Return " seribu" & Terbilang(nilai - 1000)
        ElseIf nilai < 1000000 Then
            Return (Terbilang(CInt((nilai \ 1000))) & " ribu") + Terbilang(nilai Mod 1000)
        ElseIf nilai < 1000000000 Then
            Return (Terbilang(CInt((nilai \ 1000000))) & " juta") + Terbilang(nilai Mod 1000000)
        ElseIf nilai < 1000000000000 Then
            Return (Terbilang(CInt((nilai \ 1000000000))) & " milyar") + Terbilang(nilai Mod 1000000000)
        ElseIf nilai < 1000000000000000 Then
            Return (Terbilang(CInt((nilai \ 1000000000000))) & " trilyun") + Terbilang(nilai Mod 1000000000000)
        Else
            Return ""
        End If
    End Function

    Private Sub BtnOk_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnOk.Click
        If Me.TxtUang.Text = "" Then
            MsgBox("maaph anda belum memasukkan angka", MsgBoxStyle.Information, "Kesalahan")
            Me.TxtUang.Focus()
        Else
            MsgBox("Harta warisan yang dimaksud" & vbCrLf & "disini adalah sisa harta warisan yang" & vbCrLf & "sudah dibayarkan terlebih dahulu untuk" & vbCrLf & "zakat atas harta warisan," & vbCrLf & "belanja untuk mengurus mayat," & vbCrLf & "hutang piutang si pewaris" & vbCrLf & "dan wasiat si pewaris", MsgBoxStyle.Information, "Perhatian")
            Call simpan_harta_no()
            Me.TxtNo.Text = ""
            Call tampil_no()
            Me.LblUang1.Text = Format(Me.TxtUang.Text, "currency")
            Me.LblUang1.Visible = True
            Me.BtnLanjut.Enabled = True
            Me.TxtTerbilang.Text = Terbilang(Me.TxtUang.Text) + " rupiah"
            Me.BtnUlang.Enabled = True
            Me.BtnOk.Enabled = False
        End If
    End Sub

    Private Sub hapus_data() ' untuk menghapus data di textbox
        Try
            Me.dat_user = New SqlDataAdapter("delete from t_laporanwaris where no_lap ='" & Me.TxtNo.Text & "'", koneksi)
            Dim dtAkses As New DataTable
            dtAkses.Clear()
            Me.dat_user.Fill(dtAkses)
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Information, "Error di hapus data")
        End Try

    End Sub

    Private Sub simpan_harta_no()
        Dim no As String
        no = Str(Val(Me.TxtNo.Text) + 1)
        Me.dat_user = New SqlDataAdapter("insert into t_laporanwaris(no_lap,harta) values('" & no & "','" & Me.TxtUang1.Text & "')", koneksi)
        Dim dtAkses As New DataTable
        dtAkses.Clear()
        Me.dat_user.Fill(dtAkses)
        'MsgBox("Data harta dan no Berhasil Disimpan ke tabel laporan waris", MsgBoxStyle.Information, "Informasi")
    End Sub

    Private Sub tampil_no() 'untuk menampilkan no_ket ke txtangka(biar angka terurut)
        Try
            Me.dat_user = New SqlDataAdapter("select max(no_lap) as no_lap from t_laporanwaris", koneksi)
            Dim dtAkses As New DataTable
            dtAkses.Clear()
            Me.dat_user.Fill(dtAkses)
            Dim i As Integer
            For i = 0 To (dtAkses.Rows.Count) - 1
                Me.TxtNo.Text = (dtAkses.Rows(i)("no_lap").ToString())

            Next i
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Information, "Error di Tampilkode")
        End Try

    End Sub

    Private Sub BtnUlang_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnUlang.Click
        Call hapus_data()
        Me.TxtNo.Text = ""
        Call tampil_no()
        Me.LblUang1.Text = ""
        Me.LblUang1.Visible = False
        Me.TxtUang.Text = ""
        Me.TxtTerbilang.Text = ""
        Me.TxtUang.Focus()
        Me.BtnLanjut.Enabled = False
        Me.TxtUang1.Text = ""
        Me.BtnOk.Enabled = True
        Me.BtnUlang.Enabled = False
    End Sub

    Private Sub BtnKembali_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnKembali.Click
        Me.LblUang1.Text = ""
        Me.TxtUang1.Text = ""
        Me.TxtUang.Text = ""
        Me.TxtTerbilang.Text = ""
        Me.BtnLanjut.Enabled = False
        Me.Hide()
        Frm1Awal.Show()
    End Sub

    Private Sub BtnLanjut_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnLanjut.Click
        If Me.LblUang1.Text = "" Then
            MsgBox("maaf, anda belum memasukkan jumlah harta", MsgBoxStyle.Information, "Kesalahan")
            Me.TxtUang.Focus()
        Else
            Dim a As Int16
            a = MsgBox("Apakah data jumlah warisan sudah benar ?", MsgBoxStyle.OkCancel, "Konfirmasi")
            Try
                Select Case a
                    Case vbCancel
                        Exit Sub
                    Case vbOK
                        Me.Hide()
                        Frm22AhliWaris.Show()
                End Select
            Catch ex As Exception
                MsgBox(ex.Message, MsgBoxStyle.Information, "Error di Bagian harta waris")
            End Try
        End If
    End Sub

    Private Sub BtnKeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnKeluar.Click
        End
    End Sub

    Private Sub TxtUang_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TxtUang.LostFocus
        Me.TxtUang1.Text = Me.TxtUang.Text
        Try
            Dim titik As Long
            If TxtUang.Text = "" Or Not IsNumeric(TxtUang.Text) Then 'jika txtuang kosong atau tidak berupa angka
                Exit Sub
            End If
            titik = TxtUang.Text
            TxtUang.Text = Format(titik, "##,##0") 'membuat format rupiah yang ada pemisahnya
            TxtUang.SelectionStart = Len(TxtUang.Text)
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Information, "Harga Satuan")
        End Try
    End Sub

    Private Sub TxtUang_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles TxtUang.Validating
        Try
            If Me.TxtUang.Text = "" Then
                Exit Sub
            ElseIf Not IsNumeric(Me.TxtUang.Text) Then
                MsgBox("Data harus nomor" & vbCrLf & "Harap diisi dengan benar", MsgBoxStyle.Information, "Perhatian")
                Me.TxtUang.Clear()
                Me.TxtUang.Focus()
                Exit Sub
            Else
                'Me.LblUang1.Text = Format(Me.TxtUang.Text, "currency")
                'Me.LblUang1.Visible = True
                Me.BtnLanjut.Enabled = True
            End If
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Information, "Perhatian")
        End Try
    End Sub

    Private Sub Frm21Harta_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Call tampil_no()
    End Sub

End Class


Tidak ada komentar:

Posting Komentar