Senin, 16 Februari 2009

Tree Maker Menu


Imports System.Data

Imports System.Data.SqlClient

Public Class Form_TreeMaker

#Region "deklarasi"

Dim DataNamaRanting(1000) As String

Dim JumlahRanting As Integer

Dim DataNama(100000) As String

Dim DataNik(100000) As String

Dim DataUpNik(100000) As String

Dim DataNamaleader(100000) As String

Dim DataNikleader(100000) As String

Dim DataUpNikleader(100000) As String

Dim Namaleader As String

Dim Nikleader As String

Dim UpNikleader As String

Dim Nama(1000) As String

Dim Nik(1000) As String

Dim UpNik(1000) As String

Dim JumlahData As Integer

#End Region

Sub Clear_Control()

cmbLeader.Text = ""

cmbGrade.Text = ""

cmbSite.Text = ""

cmbPosisi.Text = ""

cmbLokasi.Text = ""

cmbDepartment.Text = ""

cmbLeader.Items.Clear()

cmbGrade.Items.Clear()

cmbSite.Items.Clear()

cmbPosisi.Items.Clear()

cmbLokasi.Items.Clear()

cmbDepartment.Items.Clear()

lBoxNama.Items.Clear()

lboxJumlah.Items.Clear()

lboxLeader.Items.Clear()

ListBox1.Items.Clear()

tv1.Nodes.Clear()

End Sub

Sub VisibleBoxTrue()

lboxLeader.Visible = True

lBoxNama.Visible = True

lboxJumlah.Visible = True

tv1.Visible = False

End Sub

Sub VisibleBoxFalse()

lboxLeader.Visible = False

lBoxNama.Visible = False

lboxJumlah.Visible = False

tv1.Visible = True

End Sub

Private Sub Form_TreeMaker_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

' posisi_control()

ViewComboDepartment()

ViewComboSiteCard()

ViewComboPosisi()

ViewComboLokasi()

ViewComboGrade()

VisibleBoxTrue()

' ViewComboLeader()

End Sub

Function space(ByVal x As String, ByVal n As Integer) As String

While Len(x) <>

x = x + " "

End While

Return x

End Function

Function Rspace(ByVal x As String, ByVal n As Integer) As String

While Len(x) <>

x = " " + x

End While

Return x

End Function

Sub ViewComboDepartment()

Dim MyConnection As New DataAcces.DatabaseConnection

Dim objCommand As SqlCommand

Dim strSQL As String

Dim objDataSet As New DataSet

Dim objDataTable As New DataTable

Try

strSQL = "SELECT department FROM TB_Karyawan GROUP BY department ORDER BY department "

objCommand = New SqlCommand

objCommand.Connection = MyConnection.open

objCommand.CommandType = CommandType.Text

objCommand.CommandText = strSQL

Dim objDataAdapter1 As SqlClient.SqlDataAdapter

objDataAdapter1 = New SqlDataAdapter(objCommand)

objDataAdapter1.Fill(objDataSet, "MDT_Data")

MyConnection.close()

objDataTable = objDataSet.Tables("MDT_Data")

Dim i As Integer

i = 0

While objDataTable.Rows(i).Item("department").ToString <> ""

With objDataTable.Rows(i)

cmbDepartment.Items.Add(.Item("department").ToString)

i = i + 1

End With

End While

Catch When Err.Number <> 0

' MsgBox("Tidak dapat membuat hubungan ke database2" & vbCrLf & Err.Description)

MyConnection.close()

End Try

End Sub

Sub ViewComboSiteCard()

Dim MyConnection As New DataAcces.DatabaseConnection

Dim objCommand As SqlCommand

Dim strSQL As String

Dim objDataSet As New DataSet

Dim objDataTable As New DataTable

Try

strSQL = "SELECT siteCard FROM TB_Karyawan GROUP BY siteCard ORDER BY siteCard "

objCommand = New SqlCommand

objCommand.Connection = MyConnection.open

objCommand.CommandType = CommandType.Text

objCommand.CommandText = strSQL

Dim objDataAdapter1 As SqlClient.SqlDataAdapter

objDataAdapter1 = New SqlDataAdapter(objCommand)

objDataAdapter1.Fill(objDataSet, "MDT_Data")

MyConnection.close()

objDataTable = objDataSet.Tables("MDT_Data")

Dim i As Integer

i = 0

While objDataTable.Rows(i).Item("siteCard").ToString <> ""

With objDataTable.Rows(i)

cmbSite.Items.Add(.Item("siteCard").ToString)

i = i + 1

End With

End While

Catch When Err.Number <> 0

MsgBox("Eror Site card" & vbCrLf & Err.Description)

MyConnection.close()

End Try

End Sub

Sub ViewComboPosisi()

Dim MyConnection As New DataAcces.DatabaseConnection

Dim objCommand As SqlCommand

Dim strSQL As String

Dim objDataSet As New DataSet

Dim objDataTable As New DataTable

Try

strSQL = "SELECT posisi FROM TB_Karyawan GROUP BY posisi ORDER BY posisi"

objCommand = New SqlCommand

objCommand.Connection = MyConnection.open

objCommand.CommandType = CommandType.Text

objCommand.CommandText = strSQL

Dim objDataAdapter1 As SqlClient.SqlDataAdapter

objDataAdapter1 = New SqlDataAdapter(objCommand)

objDataAdapter1.Fill(objDataSet, "MDT_Data")

MyConnection.close()

objDataTable = objDataSet.Tables("MDT_Data")

Dim i As Integer

i = 0

While objDataTable.Rows(i).Item("posisi").ToString <> ""

With objDataTable.Rows(i)

cmbPosisi.Items.Add(.Item("posisi").ToString)

i = i + 1

End With

End While

Catch When Err.Number <> 0

' MsgBox("Tidak dapat membuat hubungan ke database2" & vbCrLf & Err.Description)

MyConnection.close()

End Try

End Sub

Sub ViewComboGrade()

Dim MyConnection As New DataAcces.DatabaseConnection

Dim objCommand As SqlCommand

Dim strSQL As String

Dim objDataSet As New DataSet

Dim objDataTable As New DataTable

Try

strSQL = "SELECT grade FROM TB_Karyawan GROUP BY grade ORDER BY grade"

objCommand = New SqlCommand

objCommand.Connection = MyConnection.open

objCommand.CommandType = CommandType.Text

objCommand.CommandText = strSQL

Dim objDataAdapter1 As SqlClient.SqlDataAdapter

objDataAdapter1 = New SqlDataAdapter(objCommand)

objDataAdapter1.Fill(objDataSet, "MDT_Data")

MyConnection.close()

objDataTable = objDataSet.Tables("MDT_Data")

Dim i As Integer

i = 0

While objDataTable.Rows(i).Item("grade").ToString <> ""

With objDataTable.Rows(i)

cmbGrade.Items.Add(.Item("grade").ToString)

i = i + 1

End With

End While

Catch When Err.Number <> 0

' MsgBox("Tidak dapat membuat hubungan ke database2" & vbCrLf & Err.Description)

MyConnection.close()

End Try

End Sub

Sub ViewComboLokasi()

Dim MyConnection As New DataAcces.DatabaseConnection

Dim objCommand As SqlCommand

Dim strSQL As String

Dim objDataSet As New DataSet

Dim objDataTable As New DataTable

Try

strSQL = "SELECT lokasi FROM TB_Karyawan GROUP BY lokasi ORDER BY lokasi"

objCommand = New SqlCommand

objCommand.Connection = MyConnection.open

objCommand.CommandType = CommandType.Text

objCommand.CommandText = strSQL

Dim objDataAdapter1 As SqlClient.SqlDataAdapter

objDataAdapter1 = New SqlDataAdapter(objCommand)

objDataAdapter1.Fill(objDataSet, "MDT_Data")

MyConnection.close()

objDataTable = objDataSet.Tables("MDT_Data")

Dim i As Integer

i = 0

While objDataTable.Rows(i).Item("lokasi").ToString <> ""

With objDataTable.Rows(i)

cmbLokasi.Items.Add(.Item("lokasi").ToString)

i = i + 1

End With

End While

Catch When Err.Number <> 0

' MsgBox("Tidak dapat membuat hubungan ke database2" & vbCrLf & Err.Description)

MyConnection.close()

End Try

End Sub

Sub ViewComboLeader()

Dim MyConnection As New DataAcces.DatabaseConnection

Dim objCommand As SqlCommand

Dim strSQL As String

Dim objDataSet As New DataSet

Dim objDataTable As New DataTable

Dim i As Integer

Try

strSQL = "SELECT nama, nik,upNik FROM TB_Karyawan WHERE grade like '" + cmbGrade.Text + "%' AND posisi like '" + cmbPosisi.Text + "%' AND lokasi like '" + cmbLokasi.Text + "%' AND siteCard like '" + cmbSite.Text + "%' AND department like '" + cmbDepartment.Text + "%' ORDER by grade desc "

' rtb1.Text = (strSQL)

objCommand = New SqlCommand

objCommand.Connection = MyConnection.open

objCommand.CommandType = CommandType.Text

objCommand.CommandText = strSQL

Dim objDataAdapter1 As SqlClient.SqlDataAdapter

objDataAdapter1 = New SqlDataAdapter(objCommand)

objDataAdapter1.Fill(objDataSet, "MDT_Data")

MyConnection.close()

objDataTable = objDataSet.Tables("MDT_Data")

i = 0

While objDataTable.Rows(i).Item("nama").ToString <> ""

With objDataTable.Rows(i)

DataNamaleader(i) = (.Item("nama").ToString)

DataNikleader(i) = (.Item("nik").ToString)

DataUpNikleader(i) = (.Item("upNik").ToString)

i = i + 1

End With

End While

JumlahData = i

Catch When Err.Number <> 0

MyConnection.close()

End Try

JumlahData = i

cmbLeader.Items.Clear()

cmbLeader.Text = DataNamaleader(0)

For i = 0 To JumlahData - 1

cmbLeader.Items.Add(DataNamaleader(i))

Next

End Sub

Sub ViewComboNama()

Dim MyConnection As New DataAcces.DatabaseConnection

Dim objCommand As SqlCommand

Dim strSQL As String

Dim objDataSet As New DataSet

Dim objDataTable As New DataTable

Dim i As Integer

Try

strSQL = "SELECT nama, nik,upNik FROM TB_Karyawan WHERE grade like '" + cmbGrade.Text + "%' AND posisi like '" + cmbPosisi.Text + "%' AND lokasi like '" + cmbLokasi.Text + "%' AND siteCard like '" + cmbSite.Text + "%' AND department like '" + cmbDepartment.Text + "%' ORDER by grade desc"

' rtb1.Text = (strSQL)

objCommand = New SqlCommand

objCommand.Connection = MyConnection.open

objCommand.CommandType = CommandType.Text

objCommand.CommandText = strSQL

Dim objDataAdapter1 As SqlClient.SqlDataAdapter

objDataAdapter1 = New SqlDataAdapter(objCommand)

objDataAdapter1.Fill(objDataSet, "MDT_Data")

MyConnection.close()

objDataTable = objDataSet.Tables("MDT_Data")

' cmbLeader.Items.Clear()

' cmbNama.Items.Clear()

i = 0

While objDataTable.Rows(i).Item("nama").ToString <> ""

With objDataTable.Rows(i)

DataNama(i) = (.Item("nama").ToString)

DataNik(i) = (.Item("nik").ToString)

DataUpNik(i) = (.Item("upNik").ToString)

i = i + 1

End With

End While

JumlahData = i

Catch When Err.Number <> 0

' MsgBox(strSQL + vbCrLf & Err.Description)

MyConnection.close()

End Try

JumlahData = i

ListBox1.Items.Clear()

For i = 0 To JumlahData - 1

ListBox1.Items.Add(space(DataNama(i), 30) + space(DataNik(i), 20) + space(DataUpNik(i), 20))

Next

End Sub

Private Sub btnFilter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFilter.Click

ViewComboLeader()

Label3.Text = CStr(JumlahData)

ViewComboNama()

listbox1.Visible = True

End Sub

Private Sub btnLeader_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLeader.Click

If (Not Cek_Nama_Double((space(cmbLeader.Text, 30) + space(DataNik(cmbLeader.SelectedIndex), 20) + space(DataUpNik(cmbLeader.SelectedIndex), 20)))) Then

Exit Sub

End If

If btnLeader.Text = "Change" Then

lboxLeader.Items.Clear()

btnLeader.Text = "Leader"

End If

If lboxLeader.Items.Count < color="blue">Then

lboxLeader.Items.Add(space(cmbLeader.Text, 30) + space(DataNikleader(cmbLeader.SelectedIndex), 20) + space(DataUpNikleader(cmbLeader.SelectedIndex), 20))

btnLeader.Text = "Change"

End If

End Sub

Function Cek_Nama_Double(ByVal nama As String) As Boolean

Dim i, n As Integer

n = lBoxNama.Items.Count - 1

For i = 0 To n

If nama = lBoxNama.Items(i) Then

Return False

Exit For

End If

Next

Return True

End Function

Function Cek_Nama_sama_dengan_leader(ByVal nama As String) As Boolean

If nama = lboxLeader.Items(0) Then

Return False

Exit Function

End If

Return True

End Function

Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click

Dim n As Integer

Dim cek As Boolean = True

Dim Item As String

Dim x As String

For Each Item In ListBox1.SelectedItems

cek = True

x = Item.ToString()

n = lboxLeader.Items.Count

If (n > 0) Then

If (Not Cek_Nama_sama_dengan_leader(x)) Then

cek = False

End If

End If

n = lBoxNama.Items.Count

If (n > 0) Then

If (Not Cek_Nama_Double(x)) Then

cek = False

End If

End If

If cek = True Then

lBoxNama.Items.Add(x)

End If

Next

lbox_jumlah()

End Sub

Private Sub btnClear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClear.Click

If lBoxNama.SelectedItems.Count > 0 Then

Dim index, i, j As Integer

j = 0

For Each index In lBoxNama.SelectedIndices

j = j + 1

Next

index = index - j + 1

For i = 1 To j

lBoxNama.Items.RemoveAt(index)

Next

lBoxNama.Focus()

lbox_jumlah()

End If

End Sub

Sub lbox_jumlah()

Dim n As Integer

n = lBoxNama.Items.Count

Dim t As String

t = space("Total line :", 18)

lboxJumlah.Items.Clear()

lboxJumlah.Items.Add(t + space(Rspace(CStr(n), 6), 10))

End Sub

Private Sub btnInf_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnInf.Click

If lboxLeader.SelectedItems.Count > 0 Then

Form_Informasi_leader.Close()

Form_Informasi_leader.Visible = True

End If

If lBoxNama.SelectedItems.Count > 0 Then

Form_Informasi_leader.Close()

Form_Informasi_nama.Close()

Form_Informasi_nama.Visible = True

End If

End Sub

Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click

If btnSave.Text = "SAVE" Then

Dim mYes_No As String = MsgBox("Are you sure ?", vbYesNo)

If mYes_No = vbYes Then

Dim i, n As Integer

n = lBoxNama.Items.Count

SimpanBoxLeader()

SimpanBoxStaf()

Dim MyConnection_Karyawan As New DataAcces.Access_TB_Karyawan

For i = 1 To n

MyConnection_Karyawan.Karyawan_Update_Nik(Nik(i), Nikleader)

Next

ViewDataRanting(Nikleader)

VisibleBoxFalse()

Clear_Control()

Dim ranting As TreeNode

tv1.Nodes.Add(Namaleader)

ranting = tv1.Nodes(0)

For i = 1 To JumlahRanting

ranting.Nodes.Add(DataNamaRanting(i - 1))

Next

btnSave.Text = "CLEAR"

End If

Else

Clear_Control()

btnSave.Text = "SAVE"

ViewComboDepartment()

ViewComboSiteCard()

ViewComboPosisi()

ViewComboLokasi()

ViewComboGrade()

VisibleBoxTrue()

End If

End Sub

Sub SimpanBoxLeader()

Namaleader = Trim(Mid(lboxLeader.Items(0), 1, 30))

Nikleader = Trim(Mid(lboxLeader.Items(0), 31, 20))

UpNikleader = Trim(Mid(lboxLeader.Items(0), 51, 20))

End Sub

Sub SimpanBoxStaf()

Dim i, n As Integer

n = lBoxNama.Items.Count

For i = 0 To n - 1

Nama(i + 1) = Trim(Mid(lBoxNama.Items(i), 1, 30))

Nik(i + 1) = Trim(Mid(lBoxNama.Items(i), 31, 20))

UpNik(i + 1) = Trim(Mid(lBoxNama.Items(i), 51, 20))

Next

End Sub

Sub ViewDataRanting(ByVal x As String)

Dim MyConnection As New DataAcces.DatabaseConnection

Dim objCommand As SqlClient.SqlCommand

Dim strSQL As String

Dim objDataSet As New DataSet

Dim objDataTable As New DataTable

Dim i As Integer

Try

strSQL = "SELECT nama FROM TB_Karyawan WHERE upNik = '" + x + "'"

' MsgBox(strSQL)

objCommand = New SqlClient.SqlCommand

objCommand.Connection = MyConnection.open

objCommand.CommandType = CommandType.Text

objCommand.CommandText = strSQL

Dim objDataAdapter1 As SqlClient.SqlDataAdapter

objDataAdapter1 = New SqlClient.SqlDataAdapter(objCommand)

objDataAdapter1.Fill(objDataSet, "MDT_Data")

MyConnection.close()

objDataTable = objDataSet.Tables("MDT_Data")

i = 0

While objDataTable.Rows(i).Item("nama").ToString <> ""

With objDataTable.Rows(i)

DataNamaRanting(i) = (.Item("nama").ToString)

i = i + 1

End With

End While

Catch When Err.Number <> 0

' MsgBox(strSQL + vbCrLf & Err.Description)

MyConnection.close()

End Try

JumlahRanting = i

End Sub

End Class

Tidak ada komentar:

Posting Komentar