0% found this document useful (0 votes)
15 views

Modul 5 - Form Dataset

This document provides instructions for creating a new form in Visual Basic called frmListProdi and adding various controls to the form layout. It describes adding objects like a combo box, group box, text boxes, buttons, data grid view, and status bar. It also provides code snippets to populate the combo box with program study names, display dataset data in the data grid view, and handle events like importing an Excel file, adding/editing/deleting datasets, and closing the form. The code is for an application to manage program study datasets.

Uploaded by

Umar Adam
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views

Modul 5 - Form Dataset

This document provides instructions for creating a new form in Visual Basic called frmListProdi and adding various controls to the form layout. It describes adding objects like a combo box, group box, text boxes, buttons, data grid view, and status bar. It also provides code snippets to populate the combo box with program study names, display dataset data in the data grid view, and handle events like importing an Excel file, adding/editing/deleting datasets, and closing the form. The code is for an application to manage program study datasets.

Uploaded by

Umar Adam
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

14. Tambahkan Form baru dengan nama frmListProdi.

vb, Desain dengan layout


sbb :

Tambahkan komponen berikut dan berikan nama sesuai ket/labelnya :

Obyek Properties Nilai


FileName frmListDataset.vb
Name frmListDataSet
BackColor Pilih warna yg diinginkan
ForeColor Pilih warna yg diinginkan
Form
MaximizeBox False
MinimizeBox False
StartPosition CenterScreen
Text Daftar Dataset
ComboBox1 Name cboProdi

Pemrograman Visual II by Amiruddin, M.Kom 2021 51 | P a g e


GroupBox1
TextBox1 Name txtNamaFile
Button1 Name btnPilihFile
Text Pilih File
Buton2 Name btnImport
Text Import
DataGridView Name DGV
TextBox2 Nama TxtData
Text
Button3 Name btnTambah
Text Tambah
Name btnTutup
Button4
Text Tutup

Pada Status Bar tambahkan : (StatusLabel, ProgresBar, StatusLabel, StatusLabel)

Obyek Properties Nilai


ToolStripStatusLabel1 Text Loading….
Name pBar
ToolStripProgresBar1
Size - Width 190
Name lblPersen
ToolStripStatusLabel2
Size - Width 120
Text kosongkan
ToolStripStatusLabel3 Name lblLama
Size - Width
Text kosongkan

Pemrograman Visual II by Amiruddin, M.Kom 2021 52 | P a g e


 Lengkapi Codiong sbb :
Imports System.Data.Odbc
Imports System.Data.OleDb

Public Class frmListDataset


Dim StopWatch As New Diagnostics.Stopwatch
Dim cPeriode As String

Sub Cek_IdDataset()
cId_Dataset = cKode_Prodi + cPeriode
End Sub

Sub TampilProdi()
cboProdi.Items.Clear()
cmd = New OdbcCommand("select distinct nama_prodi from tbprogram_studi " & _
" order by kode_prodi", Conn)
rd = cmd.ExecuteReader
While rd.Read
cboProdi.Items.Add(rd.Item(0))
End While
End Sub

Sub Tampilkandata()
Dim btnEdit As New DataGridViewButtonColumn()
Dim btnHapus As New DataGridViewButtonColumn()
DGV.Columns.Clear()
DGV.Columns.Add("kode", "Id Dataset")
DGV.Columns.Add("kode", "Periode")
DGV.Columns.Add("kode", "Jml Mhs Regis (Orang)")

Dim sql As String = "Select id_dataset,id_periode,jml_mhs " & _


" from tbdataset where kode_prodi ='" & cKode_Prodi & "' order by id_dataset"

cmd = New OdbcCommand(sql, Conn)


rd = cmd.ExecuteReader
Dim i As Integer = 0
While rd.Read
DGV.Rows.Add()
DGV.Item(0, i).Value = rd("id_dataset")
DGV.Item(1, i).Value = rd("id_Periode")
DGV.Item(2, i).Value = rd("jml_mhs")
i += 1
End While

rd.Close()
DGV.ReadOnly = True

Pemrograman Visual II by Amiruddin, M.Kom 2021 53 | P a g e


DGV.AllowUserToAddRows = False
DGV.Columns(0).Width = 110
DGV.Columns(1).Width = 100
DGV.Columns(2).Width = 170
DGV.GridColor = Color.Blue
DGV.DefaultCellStyle.ForeColor = Color.Black
DGV.RowHeadersDefaultCellStyle.BackColor = Color.DeepPink
DGV.AlternatingRowsDefaultCellStyle.BackColor = Color.LightGray
DGV.SelectionMode = DataGridViewSelectionMode.FullRowSelect
DGV.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
DGV.Columns(0).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
DGV.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
DGV.Columns(2).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
DGV.Columns(2).DefaultCellStyle.Format = "#,##0"
DGV.Columns().Add(btnEdit)
btnEdit.HeaderText = ""
btnEdit.Name = "btEdit"
btnEdit.Text = "Edit"
btnEdit.DefaultCellStyle.ForeColor = Color.Maroon
btnEdit.UseColumnTextForButtonValue = True

DGV.Columns().Add(btnHapus)
btnHapus.HeaderText = ""
btnHapus.Name = "btHapus"
btnHapus.Text = "Hapus"
btnHapus.DefaultCellStyle.ForeColor = Color.Maroon
btnHapus.UseColumnTextForButtonValue = True

DGV.Columns(3).Width = 60
DGV.Columns(4).Width = 60
stsBar.Visible = False
txtData.Text = DGV.RowCount
End Sub

Private Sub frmListDataset_KeyPress(ByVal sender As Object, ByVal e As


System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress
If Asc(e.KeyChar) = Keys.Enter Then
SendKeys.Send("{tab}")
End If
End Sub

Private Sub frmListDataset_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles


MyBase.Load
Call Koneksi()
Call TampilProdi()
Call Tampilkandata()
stsBar.Visible = False
btnImport.Enabled = False
btnPilihFile.Enabled = False
btnTambah.Enabled = False
End Sub

Pemrograman Visual II by Amiruddin, M.Kom 2021 54 | P a g e


Private Sub cboProdi_SelectedIndexChanged_1(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles cboProdi.SelectedIndexChanged
If cboProdi.Text = "" Then Exit Sub
cmd = New OdbcCommand("Select kode_prodi from tbProgram_studi where nama_prodi='" & cboProdi.Text
& "'", Conn)
rd = cmd.ExecuteReader
rd.Read()
If rd.HasRows Then
cKode_Prodi = rd.Item("kode_prodi")
btnPilihFile.Enabled = True
btnTambah.Enabled = True
Else
MsgBox("Maaf, Nama Prodi salah isi...", , "Perhatian...!")
btnPilihFile.Enabled = False
cboProdi.Text = ""
cboProdi.Focus()
Exit Sub
End If
Call Tampilkandata()
End Sub

Private Sub DGV_CellContentClick(ByVal sender As System.Object, ByVal e As


System.Windows.Forms.DataGridViewCellEventArgs) Handles DGV.CellContentClick

If e.ColumnIndex = 3 Then
tblEdit = True
frmEntryDataSet.Text = "Edit Dataset " & cboProdi.Text
cId_Dataset = DGV.SelectedRows.Item(0).Cells(0).Value()
cId_Periode = DGV.SelectedRows.Item(0).Cells(1).Value()
frmEntryDataSet.Show()
End If
If e.ColumnIndex = 4 Then
cId_Dataset = DGV.SelectedRows.Item(0).Cells(0).Value()

If MessageBox.Show("Yakin akan dihapus..?", "Hapus Data", MessageBoxButtons.YesNo) =


Windows.Forms.DialogResult.Yes Then
cmd = New OdbcCommand("Delete from tbdataset where id_dataset='" & cId_Dataset & "'", Conn)
cmd.ExecuteNonQuery()

cmd = New OdbcCommand("Delete from tbprediksi where id_dataset='" & cId_Dataset & "'", Conn)
cmd.ExecuteNonQuery()

Tampilkandata()
End If
End If
End Sub

Private Sub btnTutup_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles


btnTutup.Click
Me.Close()
End Sub

Pemrograman Visual II by Amiruddin, M.Kom 2021 55 | P a g e


Private Sub btnTambah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
btnTambah.Click
tblEdit = False
frmEntryDataSet.Text = "Tambah Dataset " & cboProdi.Text
frmEntryDataSet.Show()
End Sub

Private Sub cmdimport_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles


btnImport.Click
Dim conn_xls As OleDbConnection
Dim cmd_xls As OleDbCommand
Dim rd_xls As OleDbDataReader
Dim nJmlDataExcel, nData As Integer
Me.StopWatch.Reset()
stsBar.Visible = True
If btnImport.Text = "&Import" Then
If txtNamaFile.Text = "" Then
MsgBox("Maaf, File Excel belum dipilih !!!", 0 + 16, "Konfirmasi")
Exit Sub
End If
conn_xls = New OleDbConnection("provider=Microsoft.ACE.OLEDB.12.0;data source=" & txtNamaFile.Text
& ";Extended Properties=Excel 12.0;")
conn_xls.Open()
cmd_xls = New OleDbCommand("SELECT COUNT(*) AS jml_rec FROM [sheet1$]", conn_xls)
rd_xls = cmd_xls.ExecuteReader
rd_xls.Read()
nJmlDataExcel = rd_xls.Item(0)
cmd_xls = New OleDbCommand("SELECT * FROM [sheet1$]", conn_xls)
rd_xls = cmd_xls.ExecuteReader
btnImport.Visible = False
Me.Refresh()

Timer1.Enabled = True
nData = 0
pBar.Maximum = 100
Timer1.Start()
Me.StopWatch.Start()
While rd_xls.Read

cPeriode = rd_xls.Item(1)
Cek_IdDataset()
cmd = New OdbcCommand("Select * from tbdataset where id_dataset='" & cId_Dataset & "' ", Conn)
rd = cmd.ExecuteReader
rd.Read()
If Not rd.HasRows Then
Dim sqltambah As String = "Insert into tbdataset (id_dataset,kode_prodi,id_periode,jml_mhs,user_id)
values " & _
"('" & cId_Dataset & "','" & cKode_Prodi & "','" & cPeriode & "'," & rd_xls.Item(2) & ",'" & cUserId & "')"
cmd = New OdbcCommand(sqltambah, Conn)

Else
Dim sqledit As String = "Update tbdataset set " & _
"jml_mhs=" & rd_xls.Item(2) & ", " & _

Pemrograman Visual II by Amiruddin, M.Kom 2021 56 | P a g e


"user_id='" & cUserId & "' " & _
" where id_dataset='" & cId_Dataset & "' "
cmd = New OdbcCommand(sqledit, Conn)

End If

cmd.ExecuteNonQuery()

nData = nData + 1
pBar.PerformStep()
'Hitung persentase kinerja pemrosesan data dan tampilkan dalam status bar
lblPersen.Text = ((nData / nJmlDataExcel) * 100).ToString("N2") & "% Completing..."
pBar.Value = Math.Round(nData / nJmlDataExcel * 100)
Application.DoEvents()
End While
Timer1.Stop()
Me.StopWatch.Stop()
lblPersen.Text = "100% Completed"
conn_xls.Close()
btnImport.Visible = True
MsgBox("Import Data Sukses.", vbExclamation, "Information")
btnImport.Enabled = False
pBar.Value = 0
lblPersen.Text = ""
Call Tampilkandata()
End If
End Sub

Private Sub cmdCari_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles


btnPilihFile.Click

Dim FileExcel As String


cDialog.Title = "Excel File"
cDialog.Filter = "Excel (*.xlsx)|*.xlsx"
cDialog.InitialDirectory = Application.ExecutablePath
cDialog.ShowDialog()
FileExcel = cDialog.FileName
txtNamaFile.Text = FileExcel
If txtNamaFile.Text <> "" Then
btnImport.Enabled = True
stsBar.Visible = True
Else
btnImport.Enabled = False
End If
End Sub

End Class

Pemrograman Visual II by Amiruddin, M.Kom 2021 57 | P a g e


12.Tambahkan Form Baru dengan nama frmEntryDataset.vb, Desain dengan
layout sbb :

Obyek Properties Nilai


FileName frmEntryDataset.vb
Name frmEntryDataset
BackColor Pilih warna yg diinginkan
ForeColor Pilih warna yg diinginkan
Form
MaximizeBox False
MinimizeBox False
StartPosition CenterScreen
Text Entry Dataset
Label Text Isi sesuai dgn judulnya
ComboBox1 Name cboPeriode
TextBox1 Name txtJumlah
Name btnSimpan
Button1
Text Simpan
Name btnBatal
Button2
Text Batal

 Lengkapi Codiong sbb :

Imports System.Data.Odbc

Public Class frmEntryDataset


Dim nJumlah As Single

Sub TampilPeriode()
cboPeriode.Items.Clear()
cmd = New OdbcCommand("select distinct nama_periode from tbperiode order by id_periode", Conn)
rd = cmd.ExecuteReader
While rd.Read
cboPeriode.Items.Add(rd.Item(0))
End While
End Sub

Pemrograman Visual II by Amiruddin, M.Kom 2021 58 | P a g e


Sub kosongkan()
txtJumlah.Text = ""
cboPeriode.Enabled = True
txtJumlah.Enabled = False
btnSimpan.Enabled = False
End Sub

Sub siapisi()
txtJumlah.Enabled = True
txtJumlah.Focus()
btnSimpan.Enabled = True
End Sub

Sub CekData()
cmd = New OdbcCommand("select * from tbdataset where id_dataset = '" & cId_Dataset & "' ", Conn)
rd = cmd.ExecuteReader
rd.Read()
If rd.HasRows = True Then
txtJumlah.Text = rd.Item("jml_mhs")
txtJumlah.Enabled = True
btnSimpan.Enabled = True
Else
txtJumlah.Text = ""
siapisi()
End If
End Sub

Sub Cek_IdDataset()
cId_Dataset = cKode_Prodi + cId_Periode
End Sub

Private Sub frmEntryDataset_KeyPress(ByVal sender As Object, ByVal e As


System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress
If Asc(e.KeyChar) = Keys.Enter Then
SendKeys.Send("{tab}")
End If
End Sub

Private Sub frmEntryDataSet_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles


MyBase.Load
TampilPeriode()
If tblEdit = False Then
Call kosongkan()
Else
cmd = New OdbcCommand("select * from tbdataset where id_dataset='" & cId_Dataset & "'", Conn)
rd = cmd.ExecuteReader
rd.Read()
If rd.HasRows = True Then
Call siapisi()
txtJumlah.Text = rd.Item("jml_mhs")

Pemrograman Visual II by Amiruddin, M.Kom 2021 59 | P a g e


cmd = New OdbcCommand("Select nama_periode from tbperiode where id_periode='" & cId_Periode &
"'", Conn)
rd = cmd.ExecuteReader
rd.Read()
If rd.HasRows Then
cboPeriode.Text = rd.Item(0)
End If
End If
End If
End Sub

Private Sub btnSimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles


btnSimpan.Click
If cboPeriode.Text = "" Then
MsgBox("Maaf, Periode Belum diisi...", , "Perhatian...!")
cboPeriode.Focus()
Exit Sub
End If
If txtJumlah.Text = "" Then
MsgBox("Maaf, Jml Mhs Regis Belum diisi...", , "Perhatian...!")
txtJumlah.Focus()
Exit Sub
End If

Cek_IdDataset()
cmd = New OdbcCommand("Select * from tbdataset where id_dataset = '" & cId_Dataset & "' ", Conn)
rd = cmd.ExecuteReader
rd.Read()
If Not rd.HasRows Then
Dim sqltambah As String = "Insert into tbdataset (id_dataset,kode_prodi,Id_periode,jml_mhs,user_id)
values " & _
"('" & cId_Dataset & "','" & cKode_Prodi & "', '" & cId_Periode & "','" & nJumlah & "','" & cUserId & "')"
cmd = New OdbcCommand(sqltambah, Conn)

Else
Dim sqledit As String = "Update tbdataset set " & _
"jml_mhs='" & nJumlah & "', " & _
"user_id='" & cUserId & "' " & _
" where id_dataset = '" & cId_Dataset & "' "
cmd = New OdbcCommand(sqledit, Conn)

End If
cmd.ExecuteNonQuery()
Me.Close()
Me.Visible = False
frmListDataset.Tampilkandata()
End Sub

Private Sub btnBatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBatal.Click


Me.Close()
Me.Visible = False
End Sub

Pemrograman Visual II by Amiruddin, M.Kom 2021 60 | P a g e


Private Sub txtJumlah_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs)
Handles txtJumlah.KeyPress
If Not ((e.KeyChar >= "0" And e.KeyChar <= "9") Or e.KeyChar = vbBack) Then e.Handled() = True

End Sub

Private Sub cboPeriode_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)


Handles cboPeriode.SelectedIndexChanged
If cboPeriode.Text = "" Then Exit Sub
cmd = New OdbcCommand("Select id_periode from tbperiode where nama_periode='" & cboPeriode.Text &
"'", Conn)
rd = cmd.ExecuteReader
rd.Read()
If rd.HasRows Then
cId_Periode = rd.Item(0)
Else
MsgBox("Maaf, Nama Periode salah isi...", , "Perhatian...!")

cboPeriode.Text = ""
cboPeriode.Focus()
Exit Sub
End If
Call Cek_IdDataset()
Call CekData()
End Sub

Private Sub txtJumlah_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles


txtJumlah.TextChanged
With Me.txtJumlah
If .Text = "" Then .Text = 0
.Text = FormatNumber(.Text, 0)
.SelectionStart = .Text.Length
End With
nJumlah = txtJumlah.Text
End Sub

End Class

Pemrograman Visual II by Amiruddin, M.Kom 2021 61 | P a g e

You might also like