STEP BY STEP MENJADI PROGRAMMER HANDAL DENGAN VBsmkn1-tanjungpinang.sch.id/docs/bukupdf/Step by Step Menjadi... · Contoh : Dim MyConnection As New AccessData.DatabaseConnection Setelah
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Step By Step Menjadi Programmer Handal Dengan VB.Net Junindar
Note :Dengan membuat koneksi menggunakan Class, untuk setiap proses yang
berhubungan dengan database anda cukup dengan memanggil nama Class tersebut,
dengan mendeklarasikan Class tersebut.
Contoh : Dim MyConnection As New AccessData.DatabaseConnection Setelah selesai membuat Class, selanjutnya kita akan membuat module untuk menyimpan
Variable global yang sering kita gunakan dalam pembuatan program. Buat satu module
caranya sama dengan membuat Class, dan beri nama “module.vb”. (Klik kanan Folder
“AccessData”>Add>Add Module). Ketikan listing di bawah ini pada module yang baru
anda buat.
Imports System.Data Imports System.Data.OleDb Namespace AccessData Public Class DatabaseConnection Dim conect As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Coba_Data.mdb;Jet OLEDB:Database Password=90210; ")
Public Function open() As OleDbConnection conect.Open() Return conect End Function Public Function close() As OleDbConnection conect.Close() Return conect End Function End Class End Namespace
Imports System.Data.OleDb Module _Module Public cur As New Form Public Msg As Integer Public intResponse As Integer Public objCommand As OleDbCommand Public objDataAdapter As OleDbDataAdapter Public objDataReader As OleDbDataReader Public StrSQL as String Public Username, Password, mProcess As String Public objDataSet As New DataSet Public objDataTable As New DataTable End Module
Step By Step Menjadi Programmer Handal Dengan VB.Net Junindar
3.3 IV.
Setelah ini Double Click button Cancel, dan ketikkan listing seperti berikut
Private Sub btnLogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLogin.Click ‘untuk mengaktifkan fungsi CheckUsers
CheckUsers
‘mengharuskan user memasukkan username dan password If txtuser.Text.Trim() = "" And _ txtpassword.Text.Trim() = "" Then Msg = MsgBox("Masukan Username dan Password", MsgBoxStyle.OKOnly, "Pesan") txtuser.Focus() ElseIf txtuser.Text = "" Then Msg = MsgBox("Masukan Username ", MsgBoxStyle.OKOnly, "Pesan") txtuser.Focus() ElseIf txtpassword.Text = "" Then Msg = MsgBox("Masukan password ", MsgBoxStyle.OKOnly, "Pesan") txtpassword.Focus() Else Try ‘Menghitung jumlah baris yang ada pada ObjDataTable If objDataTable.Rows.Count <= 0 Then ‘Jika jumlah baris = 0 / username tidak ada pada table Msg = MsgBox("Username tidak ada ", MsgBoxStyle.OKOnly, "Pesan") txtuser.Focus() Else ‘Jika username ada pada table / jumlah baris ObjdataTable > 0 ‘Mengaktifkan fungsi mencari nilai value Username & Password Find_User() ‘Jika Password yang diketik pada TextBox tidak sama pada Database If Password <> Trim(txtPassword.Text) Then Msg = MsgBox("Password salah!", MsgBoxStyle.OKOnly, "Pesan") txtPassword.Focus() Exit Sub Else ‘Jika Sama Me.Hide() f_utama.ShowDialog() txtuser.Text = "" txtPassword.Text = "" End If End If Catch When Err.Number <> 0 MsgBox("Tidak dapat melakukan proses" _ & vbCrLf & Err.Description) End Try End If End Sub
Step By Step Menjadi Programmer Handal Dengan VB.Net Junindar
Sekarang anda telah selesai membuat aplikasi yang sangat sederhana. Kalau berhasil
jangan senang dulu, karena masih banyak sekali rintangan yang akan kita hadapi untuk
kasus-kasus berikutnya. Bagi yang gagal jangan berkecil hati, jangan ragu dan sungkan
silahkan E-Mail ke saya.
Jika program yang anda buat tidak ada masalah, kita lanjutkan pelajaran kita.
Sekarang mari kita modif form utama kita yang masih polos, menjadi seperti berikut :
Ubah Properties pada form utama seperti di bawah ini.
Private Sub btnBatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBatal.Click intResponse = MessageBox.Show("Are you sure want to quit ?", Me.Text, MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) If intResponse = MsgBoxResult.Yes Then End Else Exit Sub End If End Sub
Step By Step Menjadi Programmer Handal Dengan VB.Net Junindar
BackColor White
FormBorderStyle Fixed3D
BackGroundImage Bebas mau gambar apa
Text MainMenu
Name MainMenu
StartPosition CenterScreen
Icon Bebas juga
Anda dapat memodif form sesuai dengan keinginan anda. Dan kita tambah komponen MainMenu1 dan StatusBar1 pada Form MainMenu. Buat seperti dibawah ini. File>>Exit Inputan>>Input Usaha
Step By Step Menjadi Programmer Handal Dengan VB.Net Junindar
Setelah itu Double Click menu item Exit dan ketik listing seperti dibawah ini : Lalu Double Click menu item Inputan dan ketikan listing seperti dibawah ini : Setelah selesai kita mendesain Form Utama (MainMenu), sekarang kita akan membuat Form Untuk Penginputan Usaha. Sekarang tambahkan sebuah form baru pada project yang kita buat. Ubah properties form seperti dibawah ini.
BackColor LightBlue
FormBorderStyle Fixed3D
Text Form Usaha
Name Frm_usaha
StartPosition CenterScreen
ControlBox False
ShowInTaksbar False
Dan tambahkan 11 Button, 1 GroupBox dan 2 TextBox. Susun semua komponen seperti dibawah ini.
End
Dim f_usaha As New Frm_Usaha f_usaha.ShowDialog() f_usaha.Dispose()
Step By Step Menjadi Programmer Handal Dengan VB.Net Junindar
Jika sudah selesai mendesain form tersebut, kita akan lanjutkan membuat class untuk pemrosesan data. Buat satu class didalam folder AccessData dengan nama AccessUsaha. Dan ketikkan listing seperti dibawah ini. Jika sudah selesai, mari kita lanjutkan membuat program di dalam Form Usaha. Dan buat variable global form seperti dibawah ini.
Dim MyConnection As New AccessData.DatabaseConnection Dim mPosition As Integer
Imports System.Data Imports System.Data.OleDb Namespace AccessData Public Class AccessUsaha Public Function AccessUsahaInsert(ByVal IDUsaha As String, ByVal NamaUsaha As String) Dim myCmd As New OleDbCommand Dim myconnection As New AccessData.DatabaseConnection myCmd.CommandText = "Insert Into [TbUsaha]" _ & " (IDUsaha,NamaUsaha) Values (" _ & "'" & IDUsaha & "', '" & NamaUsaha & "');" myCmd.Connection = myconnection.open myCmd.ExecuteNonQuery() myconnection.close() End Function Public Function AccessUsahaUpdate(ByVal IDUsaha As String, ByVal NamaUsaha As String) Dim myCmd As New OleDbCommand Dim myconnection As New AccessData.DatabaseConnection myCmd.CommandText = "Update [TbUsaha] Set " _ & " NamaUsaha='" & NamaUsaha & "'" _ & " Where IDUsaha='" & IDUsaha & "' ; " myCmd.Connection = myconnection.open myCmd.ExecuteNonQuery() myconnection.close() End Function Public Function AccessUsahaDelete(ByVal IDUsaha As String) Dim myCmd As New OleDbCommand Dim myconnection As New AccessData.DatabaseConnection myCmd.CommandText = "Delete From [TbUsaha] where IDUsaha='" & IDUsaha & "' " myCmd.Connection = myconnection.open myCmd.ExecuteNonQuery() myconnection.close() End Function End Class End Namespace
Step By Step Menjadi Programmer Handal Dengan VB.Net Junindar
Lalu ketikan fungsi-fungsi berikut : Private Sub clear() 'Mengkosongkan isi TextBox txtID.Text = "" txtNama.Text = "" End Sub
Private Sub enabled_off() 'Menonaktifkan Textbox txtID.Enabled = False txtNama.Enabled = False End Sub
Private Sub enabled_on() 'Mengaktifkan TextBox txtID.Enabled = True txtNama.Enabled = True End Sub
Private Sub ViewData() Try 'Menampilkan Data IDUsaha dan Nama Usaha dengan Criteria “IDUsaha” pada masing-masing Textbox objCommand = MyConnection.open.CreateCommand objCommand.CommandText = "select * from TbUsaha Where IDUsaha = '" & Trim(txtID.Text) & "';" objDataReader = objCommand.ExecuteReader objDataReader.Read() txtID.Text = objDataReader.Item("IDUsaha") txtNama.Text = objDataReader.Item("NamaUsaha") MyConnection.close() Catch ex As Exception MsgBox("Tidak dapat membuat hubungan ke database" _ & vbCrLf & Err.Description) MyConnection.close() End Try End Sub
Private Sub Displaydata() Try 'Menyimpan jumlah baris Tabel “TbUsaha” pada Objdatatable objDataTable.Clear() StrSQL = "select * from TbUsaha" objCommand = New OleDbCommand objCommand.Connection = MyConnection.open objCommand.CommandType = CommandType.Text objCommand.CommandText = StrSQL objDataAdapter = New OleDbDataAdapter(objCommand) objDataAdapter.Fill(objDataSet, "MDT_Usaha") MyConnection.close() objDataTable = objDataSet.Tables("MDT_Usaha") Catch ex As Exception MsgBox("Tidak dapat membuat hubungan ke database" _ & vbCrLf & Err.Description) MyConnection.close() End Try End Sub
Step By Step Menjadi Programmer Handal Dengan VB.Net Junindar
Double Click “btnclose” dan ketik seperti dibawah ini : Double Click “btncancel” dan ketik seperti dibawah ini :
Sub displaydata2() Try 'Menampilkan Data “IDUsaha” dan “NamaUsaha” berdasarkan posisi Baris yang dicari StrSQL = "select * from TbUsaha" objCommand = New OleDbCommand objCommand.Connection = MyConnection.open objCommand.CommandType = CommandType.Text objCommand.CommandText = StrSQL objDataAdapter = New OleDbDataAdapter(objCommand) objDataAdapter.Fill(objDataSet, "MDT_Usaha") MyConnection.close() objDataTable = objDataSet.Tables("MDT_Usaha") mPosition = BindingContext(objDataTable).Position With objDataTable.Rows(mPosition) txtID.Text = .Item("IDUsaha") txtNama.Text = .Item("NamaUsaha") End With Catch When Err.Number <> 0 MsgBox("Tidak dapat membuat hubungan ke database" _ & vbCrLf & Err.Description) MyConnection.close() End Try End Sub
Sub cari() Try 'untuk mengecek apakah IDUsaha yang diinputkan ada pada Tabel “TbUsaha” objDataTable.Clear() StrSQL = "select * from [TbUsaha] where IDUsaha = '" & Trim(txtID.Text) + "'" MyConnection.open() objCommand.CommandText = StrSQL objDataAdapter = New OleDbDataAdapter(objCommand) objDataAdapter.Fill(objDataSet, "MDT_Usaha") MyConnection.close() objDataTable = objDataSet.Tables("MDT_Usaha") Catch When Err.Number <> 0 MsgBox("Tidak dapat melakukan proses simpan" _ & vbCrLf & Err.Description) MyConnection.close() End Try End Sub
Step By Step Menjadi Programmer Handal Dengan VB.Net Junindar
Double Click “btnadd” dan ketik seperti dibawah ini : Double Click “btnEdit” dan ketik seperti dibawah ini : Pilih ClassName = txtNama, Seperti dibawah ini
Step By Step Menjadi Programmer Handal Dengan VB.Net Junindar
Dan Pilih Method Name = Leave. Untuk selanjutnya penulis hanya menyebutkan ClassName dan MethodName saja, untuk visual tidak akan diberikan. Lalu ketik seperti dibawah ini. Double Click Form Usaha, dan ketik seperti berikut : Double Click btncari, dan ketik seperti berikut :
btnsave.Focus()
Try StrSQL = "Select * From TbUsaha" objCommand = New OleDbCommand objCommand.Connection = MyConnection.open objCommand.CommandType = CommandType.Text objCommand.CommandText = StrSQL objDataAdapter = New OleDbDataAdapter(objCommand) objDataAdapter.Fill(objDataSet, "MDT_Usaha") MyConnection.close() objDataTable = objDataSet.Tables("MDT_Usaha") Catch When Err.Number <> 0 MsgBox("Tidak dapat membuat hubungan ke database" _ & vbCrLf & Err.Description) End Try clear() enabled_off()
Step By Step Menjadi Programmer Handal Dengan VB.Net Junindar
Double Click btnSave, dan ketik seperti berikut : If btnsave.Text = "Save Add" Then Try cari() If objDataTable.Rows.Count >= 1 Then MsgBox(" Kode " & "" & txtID.Text & "" & " sudah ada") txtID.Focus() ElseIf txtID.Text = "" Or txtNama.Text = "" Then MsgBox("Isikan data yang mau di Input terlebih dahulu") txtID.Focus() Else Dim mYes_No As String = MsgBox("Anda yakin data mau disimpan ?", vbYesNo) If mYes_No = vbYes Then myconnectionUsaha.AccessUsahaInsert(txtID.Text, txtNama.Text) enabled_off() btnsave.Enabled = False btnsave.Text = "Save" btnadd.Focus() Displaydata() clear() Else enabled_off() clear() btnadd.Focus() End If End If Catch When Err.Number <> 0 MsgBox("Tidak dapat melakukan proses simpan" _ & vbCrLf & Err.Description) End Try Else Try cari() If objDataTable.Rows.Count = 0 Then MsgBox(" Kode : " & "" & txtID.Text & "" & " tidak ada pada table") Else Dim mYes_No As String = MsgBox("Anda yakin data mau diupdate ?", vbYesNo) If mYes_No = vbYes Then myconnectionUsaha.AccessUsahaUpdate(txtID.Text, txtNama.Text) enabled_off() btnsave.Text = "Save" btnsave.Enabled = False btnadd.Focus() clear() Else enabled_off() clear() btnadd.Focus() End If End If Catch When Err.Number <> 0 MsgBox("Tidak dapat melakukan proses update" _ & vbCrLf & Err.Description) End Try End If objDataTable.Clear()
Step By Step Menjadi Programmer Handal Dengan VB.Net Junindar
Pilih ClassName = txtNama Dan Pilih Method Name = KeyUp Pilih ClassName = txtNama, Seperti dibawah ini Dan Pilih Method Name = KeyUp Double_Click btnakhir Double_Click btnmaju Double_Click btnmundur Double_Click btnawal
If e.KeyCode = Keys.Enter Then btnsave.PerformClick() ElseIf e.KeyCode = Keys.Escape Then btncancel.PerformClick() End If
If mProcess = "View" Then Try cari() If objDataTable.Rows.Count = 0 Then MsgBox("Data yang dicari tidak ada") Else ViewData() btndelete.Focus() End If Catch When Err.Number <> 0 MsgBox("Tidak dapat melakukan proses pencarian" _ & vbCrLf & Err.Description) MyConnection.close() End Try End If
Step By Step Menjadi Programmer Handal Dengan VB.Net – Step II Junindar
V. A TIME TO MAKE SOURCE CODE
Sebelum kita mulai membuat listing pada form, terlebih dahulu kita membuat
koneksi pada database. Sekarang kita akan membuat koneksi dengan memanggil
Class lain untuk koneksi ke database.
Sebelumnya Buat folder pada project yang anda buat (Klik kanan project>Add>New
Folder) dan beri nama “AccessData”. Selanjutnya didalam Folder tersebut tambahkan
Class dengan nama “DataBaseConnection.vb” (Klik kanan Folder
“AccessData”>Add>Add Class). Ketikan listing di bawah ini pada class yang baru
anda buat.
Imports System.Data Imports System.Data.OleDb Namespace AccessData Public Class DatabaseConnection Dim conect As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\Inetpub\wwwroot\Ilkom\bin\tes.mdb; ")
Public Function open() As OleDbConnection conect.Open() Return conect End Function Public Function close() As OleDbConnection conect.Close() Return conect End Function End Class End Namespace
Step By Step Menjadi Programmer Handal Dengan VB.Net – Step II Junindar
Pada WebForm1 untuk pertama kali ketikkan listing dibawah ini pada baris paling
atas.
Dan ketikkan listing-listing seperti di bawah ini.
Imports System.Data Imports System.Data.OleDb
#Region "Declaration" Dim objConnection As OleDbConnection Dim objCommand As OleDbCommand Dim objDataAdapter As OleDbDataAdapter Dim objdatareader As OleDbDataReader Dim strConn, strSQL As String Dim objDataSet As New DataSet Dim objDataTable As New DataTable Dim myconnection As New AccessData.DatabaseConnection #End Region
Sub binddatagrid() objDataTable.Clear() strSQL = "SELECT Customers.CompanyName , CustomerNames.ContactName , " _ & " iif(CustomerNames.Phone='NA','',CustomerNames.Phone)AS Phone ,IIF(CustomerNames.Fax='NA','',CustomerNames.Fax) As Fax " _ & " FROM CustomerNames INNER JOIN Customers ON CustomerNames.CustomerID = Customers.CustomerID " _ & " ORDER BY Customers.CompanyName;" objCommand = New OleDbCommand objCommand.Connection = myconnection.open() objCommand.CommandType = CommandType.Text objCommand.CommandText = strSQL objDataAdapter = New OleDbDataAdapter(objCommand) objDataAdapter.Fill(objDataSet, "mdt_customers") objDataTable = objDataSet.Tables("mdt_customers") myconnection.close() DG1.DataSource = objDataTable DG1.DataBind() End Sub
Step By Step Menjadi Programmer Handal Dengan VB.Net – Step II Junindar
Sub view() objDataTable.Clear() strSQL = "SELECT Customers.CompanyName , CustomerNames.ContactName , " _ & " iif(CustomerNames.Phone='NA','',CustomerNames.Phone) AS Phone ,IIF(CustomerNames.Fax='NA','',CustomerNames.Fax) As Fax " _ & " FROM CustomerNames INNER JOIN Customers ON CustomerNames.CustomerID = Customers.CustomerID " _ & " WHERE Customers.CompanyName Like '" & RBL_Alpa.SelectedValue & "%' ORDER BY Customers.CompanyName;" objCommand = New OleDbCommand objCommand.Connection = myconnection.open() objCommand.CommandType = CommandType.Text objCommand.CommandText = strSQL objDataAdapter = New OleDbDataAdapter(objCommand) objDataAdapter.Fill(objDataSet, "mdt_View8D") objDataTable = objDataSet.Tables("mdt_View8D") myconnection.close() DG2.DataSource = objDataTable DG2.DataBind() End Sub
Sub paginggrid(ByVal s As Object, ByVal e As DataGridPageChangedEventArgs) DG1.CurrentPageIndex = e.NewPageIndex CrystalReportViewer1.Visible = False End Sub
Sub paginggrid2(ByVal s As Object, ByVal e As DataGridPageChangedEventArgs) DG2.CurrentPageIndex = e.NewPageIndex view() CrystalReportViewer1.Visible = False End Sub
Step By Step Menjadi Programmer Handal Dengan VB.Net – Step II Junindar
Sub report_Alpa() Dim rdContacts As New CrCustomers Dim ext As String Dim format As Integer view() Select Case ddlReport.SelectedValue Case ".rtf" ext = ddlReport.SelectedValue Case ".pdf" ext = ddlReport.SelectedValue End Select rdContacts.SetDataSource(objDataTable) CrystalReportViewer1.ReportSource = rdContacts rdContacts.Refresh() Try Dim t As Integer Dim nomorrandom As String Dim Filename As String Dim diskOpts As New DiskFileDestinationOptions Filename = "\reports2\" & RBL_Alpa.SelectedValue & "" & ext & "" diskOpts.DiskFileName = Filename With rdContacts .ExportOptions.ExportDestinationType = ExportDestinationType.DiskFile If ext = ".rtf" Then .ExportOptions.ExportFormatType = ExportFormatType.RichText ElseIf ext = ".pdf" Then .ExportOptions.ExportFormatType = ExportFormatType.PortableDocFormat End If .ExportOptions.DestinationOptions = diskOpts .PrintOptions.PaperOrientation = PaperOrientation.Portrait .PrintOptions.PaperSize = PaperSize.PaperA4 .Export() .Refresh() End With CrystalReportViewer1.Visible = False Response.Redirect("http://pcbt1151/Reports2/" & RBL_Alpa.SelectedValue & "" & ext & "") Exit Try Catch ex As Exception CvError.ErrorMessage = ex.Message CvError.IsValid = False myconnection.close() End Try CrystalReportViewer1.Visible = False End Sub
Step By Step Menjadi Programmer Handal Dengan VB.Net – Step II Junindar
Sub report_ALL() Dim rdContacts As New CrCustomers Dim ext As String Dim format As Integer binddatagrid() Select Case ddlReport.SelectedValue Case ".rtf" ext = ddlReport.SelectedValue Case ".pdf" ext = ddlReport.SelectedValue End Select rdContacts.SetDataSource(objDataTable) rdContacts.SetDatabaseLogon("", "A2B") CrystalReportViewer1.ReportSource = rdContacts rdContacts.Refresh() Try Dim t As Integer Dim nomorrandom As String Dim Filename As String Dim diskOpts As New DiskFileDestinationOptions Filename = "\reports2\ALL" & "" & ext & "" diskOpts.DiskFileName = Filename With rdContacts .ExportOptions.ExportDestinationType = ExportDestinationType.DiskFile If ext = ".rtf" Then .ExportOptions.ExportFormatType = ExportFormatType.RichText ElseIf ext = ".pdf" Then .ExportOptions.ExportFormatType = ExportFormatType.PortableDocFormat End If .ExportOptions.DestinationOptions = diskOpts .PrintOptions.PaperOrientation = PaperOrientation.Portrait .PrintOptions.PaperSize = PaperSize.PaperA4 .Export() .Refresh() End With CrystalReportViewer1.Visible = True Response.Redirect("http://pcbt1151/Reports2/ALL" & "" & ext & "") Exit Try Catch ex As Exception CvError.ErrorMessage = ex.Message CvError.IsValid = False myconnection.close() End Try CrystalReportViewer1.Visible = False End Sub
Step By Step Menjadi Programmer Handal Dengan VB.Net – Step II Junindar
Ketikkan listing berikut pada Private Sub Page_Load.
Double Click Rbl_Alpha, dan ketikkan listing seperti di bawah ini :
Try If Not IsPostBack Then binddatagrid() CrystalReportViewer1.Visible = False DG1.Visible = True DG2.Visible = False End If Catch ex As Exception CvError.ErrorMessage = ex.Message CvError.IsValid = False CrystalReportViewer1.Visible = False End Try
Try If RBL_Alpa.SelectedValue = "*" Then binddatagrid() DG1.Visible = True DG2.Visible = False Else view() If objDataTable.Rows.Count = 0 Then CvError.ErrorMessage = "There are no records for that letters" CvError.IsValid = False DG1.Visible = False DG2.Visible = True Else DG1.Visible = False DG2.Visible = True End If End If Catch ex As Exception CvError.ErrorMessage = ex.Message CvError.IsValid = False CrystalReportViewer1.Visible = False End Try CrystalReportViewer1.Visible = False
Step By Step Menjadi Programmer Handal Dengan VB.Net – Step II Junindar
Double Click Btn_Report, dan ketikkan listing sebagai berikut :
Setelah selesai membuat listing seperti diatas, langkah selanjutnya adalah membuat
folder untuk menyimpan report yang kita buat. Pertama buat folede pada Drive C:\, dan
beri nama Report2. Click kanan Folder tersebut Pilih Sharing and Security. Setelah
muncul tampilan sebagai berikut :
Try If RBL_Alpa.SelectedValue = "*" Then report_ALL() Else view() If objDataTable.Rows.Count = 0 Then CvError.ErrorMessage = "There are no records for that letters" CvError.IsValid = False Exit Try Else report_Alpa() End If End If Catch ex As Exception CvError.ErrorMessage = ex.Message CvError.IsValid = False CrystalReportViewer1.Visible = False End Try CrystalReportViewer1.Visible = False
Step By Step Menjadi Programmer Handal Dengan VB.Net Junindar
Double click btnInsert, dan ketikan listing berikut . BntInsert adalah proses untuk
memasukkan data dari TextBox dan ComboBox kedalam ListBox.
If txtField.Text = "" Or cmbType.SelectedIndex = -1 Then MsgBox("Masukkan Field Name atau Pilih Data Type", MsgBoxStyle.Information, "Informasi") Listing berfungsi untuk memvalidasi proses , jika txt field tidak di isi dan ComboBox
pada posisi default (tidak dalam keadaan di pilih). Maka program akan menampilkan
informasi agar mengisi textbox text dan memilih size pada ComboBox.
lstFieldName.Items.Add(txtField.Text) lstType.Items.Add(cmbType.Text) lstSize.Items.Add(txtSize.Text) fungsi nya adalah memasukkan data dari TextBox atau Combobox kedalam Listbox. Dengan menggunakan fungsi Items.Add txtField.Text = "" cmbType.SelectedIndex = -1 txtSize.Text = ""
Setelah data sudah masuk kedalam ListBox, maka textbox dan ComboBox kembali pada
keadaan default.
Try If txtField.Text = "" Or cmbType.SelectedIndex = -1 Then
MsgBox("Masukkan Field Name atau Pilih Data Type", MsgBoxStyle.Information, "Informasi") Else lstFieldName.Items.Add(txtField.Text) lstType.Items.Add(cmbType.Text) lstSize.Items.Add(txtSize.Text) txtField.Text = "" cmbType.SelectedIndex = -1 txtSize.Text = "" End If Catch ex As Exception MsgBox(ex.Message) End Try
Step By Step Menjadi Programmer Handal Dengan VB.Net Junindar
BtnCreate adalah proses dimana kita melakukan proses Create DataBase dan
Tabel.
Try Dim i As Integer Dim DataType As Integer Dim ADOXcatalog As New ADOX.Catalog Dim ADOXtable As New Table ADOXcatalog.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & "c:\Coba.mdb") ADOXtable.Name = "Employees" For i = 0 To (lstFieldName.Items.Count - 1) If lstType.Items.Item(i).ToString = "Text" Then DataType = 202 ElseIf lstType.Items.Item(i).ToString = "Memo" Then DataType = 203 ElseIf lstType.Items.Item(i).ToString = "Number" Then DataType = 3 ElseIf lstType.Items.Item(i).ToString = "Date/Time" Then DataType = 7 ElseIf lstType.Items.Item(i).ToString = "Currency" Then DataType = 6 ElseIf lstType.Items.Item(i).ToString = "Yes/No" Then DataType = 11 End If If lstType.Items.Item(i).ToString = "Text" Then ADOXtable.Columns.Append(lstFieldName.Items.Item(i).ToString, DataType, lstSize.Items.Item(i).ToString) Else ADOXtable.Columns.Append(lstFieldName.Items.Item(i).ToString, DataType) End If Next i ADOXcatalog.Tables.Append(ADOXtable) ADOXtable = Nothing ADOXcatalog = Nothing Catch ex As Exception MsgBox(ex.Message) End Try
Step By Step Menjadi Programmer Handal Dengan VB.Net Junindar
ADOXcatalog.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & "c:\Coba.mdb") Ini adalah fungsi untuk membuat database, dimana kita menentukan nama dan lokasi dari
DataBase. Seperti pada program ini lokasi Database pada Drive C:\, sedangkan nama
Database nya “Coba.mdb” ADOXtable.Name = "Employees” Untuk membuat nama Tabel.
Step By Step Menjadi Programmer Handal Dengan VB.Net – Step IV Junindar
Lalu tambahkan komponen-komponen dibawah ini kedalam form
No Nama Komponen Jumlah 1 Label 2 2 TextBox 3 3 DataGrid 2 4 Button 6 5 OpenFileDialog 1
Mengganti properties masing-masing komponen
• Label
No Nama Label Teks Label 1 Label1 Sheet Name 2 Label2 Table Name
• TextBox
No Nama TextBox Properties Text kosongkan 1 TextBox1 Name txtFileName Text Sheet1 2 TextBox2 Name txtSheet Text kosongkan 3 TextBox3 Name txtAlamat Text kosongkan 4 TextBox4 Name txtTable
• Button
No Nama Button Properties BackColor Transparent FlatStyle Flat Text Load 1 Button1
Name btnLoad BackColor Transparent FlatStyle Flat Text View Excel Data 2 Button2
Name btnView BackColor Transparent FlatStyle Flat Text Clear Excel Grid 3 Button3
Step By Step Menjadi Programmer Handal Dengan VB.Net – Step IV Junindar
Menambahkan Class Pada Project
Sebelum kita mulai membuat listing pada form, terlebih dahulu kita membuat
koneksi pada database.
Sebelumnya Buat folder pada project yang anda buat (Klik kanan project>Add>New
Folder) dan beri nama “AccessData”. Selanjutnya didalam Folder tersebut tambahkan
Class dengan nama “DataBaseConnection.vb” (Klik kanan Folder
“AccessData”>Add>Add Class). Ketikan listing di bawah ini pada class yang baru
anda buat.
Sekarang aktifkan form Import, dan masuk ke jendela Code. Ketikkan sintaks
dibawah ini di awal baris.
Imports System.Data Imports System.Data.OleDb
Imports System.Data Imports System.Data.OleDb Namespace AccessData Public Class DatabaseConnection Dim conect As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=tes.mdb;") Public Function open() As OleDbConnection conect.Open() Return conect End Function Public Function close() As OleDbConnection conect.Close() Return conect End Function End Class End Namespace
Step By Step Menjadi Programmer Handal Dengan VB.Net – Step IV Junindar
Dan ketikkan listing-listing seperti di bawah ini.
#Region "Deklarasi" Dim MyConnection As New AccessData.DatabaseConnection Dim objConnection As OleDbConnection Dim objCommand As OleDbCommand Dim objDataAdapter As OleDbDataAdapter Dim strSQL As String Dim objDataSet As New DataSet Dim objDataTableExcel As New DataTable Dim objDataTableAccess As New DataTable Dim Field1, Field2, Field3 As String #End Region
Sub DeleteTable() 'Menghapus seluruh data pada table didalam Access strSQL = "Delete From" & "[" & Trim(txtTable.Text) & "]" & " ;" objCommand = New OleDbCommand objCommand.Connection = MyConnection.open() objCommand.CommandType = CommandType.Text objCommand.CommandText = strSQL objDataAdapter = New OleDbDataAdapter(objCommand) objDataAdapter.Fill(objDataSet, "mdt_Delete") MyConnection.close() End Sub
Step By Step Menjadi Programmer Handal Dengan VB.Net – Step IV Junindar
Klik ganda button Load dan ketik sintaks di bawah ini.
Klik ganda button View dan ketik sintaks di bawah ini.
Sub import() DeleteTable() Dim i As Integer 'Melakukan pengulangan berdasarkan baris 'yang ada pada Excel For i = 0 To (objDataTableExcel.Rows.Count - 1) Try 'Menampilkan data dan di tampung 'Pada Variable berdasarkan baris With objDataTableExcel.Rows(i) Field1 = .Item(0) Field2 = .Item(1) Field3 = .Item(2) End With 'Melakukan penginputan data dari variable 'Kedalam tabel pada Access
" (" & Field1 & ",'" & Field2 & "','" & Field3 & "'); " objCommand = New OleDbCommand objCommand.Connection = MyConnection.open objCommand.CommandType = CommandType.Text objCommand.CommandText = strSQL objDataAdapter = New OleDbDataAdapter(objCommand) objDataAdapter.Fill(objDataSet, "mdt_Import") MyConnection.close() Catch When Err.Number <> 0 MsgBox("Tidak dapat membuat hubungan ke database" _ & vbCrLf & Err.Description) Exit Sub End Try Next i MsgBox("Import Finish", MsgBoxStyle.Information, "Import Data") End Sub
'Mencari file (.xls) yang akan dibuka OpenFileDialog1.ShowDialog() If OpenFileDialog1.FileName <> "" Then txtFileName.Text = OpenFileDialog1.FileName End If
Step By Step Menjadi Programmer Handal Dengan VB.Net – Step IV Junindar
Klik ganda button Clear, ketik sintaks dibawah ini
Klik ganda button Import, ketik sintaks dibawah ini
'Jika textbox Sheet = kosong If txtSheet.Text = "" Then
MsgBox("Masukkan nama Sheet pada Excel", MsgBoxStyle.Exclamation, "Import Data")
Exit Sub End If Dim tbl As String tbl = txtSheet.Text 'Koneksi ke file Excel yang di tunjuk Dim strConn As String = "Provider=Microsoft.Jet.OleDb.4.0;data source=" & txtFileName.Text & ";Extended Properties=Excel 8.0;" Dim objConn As New OleDbConnection(strConn) Try objDataTableExcel.Clear() 'SQL Menampilkan data pada Excel strSQL = "Select * " & " From " & "[" & tbl & "$" & "]" objCommand = New OleDbCommand objCommand.Connection = objConn objCommand.CommandType = CommandType.Text objCommand.CommandText = strSQL objDataAdapter = New OleDbDataAdapter(objCommand) objDataAdapter.Fill(objDataSet, "mdt_show") objDataTableExcel = objDataSet.Tables("mdt_show") objConn.Close() 'Data di tampung pada Datagrid DataGrid1.DataSource = objDataTableExcel DataGrid1.ReadOnly = True Catch ex As Exception MsgBox(ex.Message)
Step By Step Menjadi Programmer Handal Dengan VB.Net – Step IV Junindar
Dan klik ganda button View2 dan button Clear2, ketikkan sintaks untuk masing-masing
button seperti dibawah ini.
Untuk button view2
Untuk button Clear2
If txtTable.Text = "" Then MsgBox("Masukkan nama tabel pada Access", _ MsgBoxStyle.Exclamation, "Import Data") Exit Sub End If If txtSheet.Text = "" Then MsgBox("Masukkan nama Sheet pada Excel", _ MsgBoxStyle.Exclamation, "Import Data") Exit Sub End If Try import() Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Exclamation) MyConnection.close() End Try
If txtTable.Text = "" Then MsgBox("Masukkan nama tabel", _ MsgBoxStyle.Exclamation, "Import Data") Exit Sub End If Try
'untuk menampilkan data pada table (access) 'kedalam datagrid2 objDataTableAccess.Clear() strSQL = "Select * " & " From " & "[" & Trim(txtTable.Text) & "]" objCommand = New OleDbCommand objCommand.Connection = MyConnection.open objCommand.CommandType = CommandType.Text objCommand.CommandText = strSQL objDataAdapter = New OleDbDataAdapter(objCommand) objDataAdapter.Fill(objDataSet, "mdt_show2") objDataTableAccess = objDataSet.Tables("mdt_show2") MyConnection.close() DataGrid2.DataSource = objDataTableAccess DataGrid2.ReadOnly = True Catch ex As Exception MsgBox(ex.Message) End Try End Sub
No Nama Label Teks Label 1 Label1 Data From TextFile 2 Label2 Data From Access 3 Label3 File Name
• TextBox
No Nama TextBox Properties Text kosongkan 1 TextBox1 Name txtFilePath Text kosongkan 2 TextBox2 Name txtFolderPath Text kosongkan 3 TextBox3 Name txtFileName
• Button
No Nama Button Properties BackColor Transparent FlatStyle Flat Text ... 1 Button1
Name btnOpenFileDlg BackColor Transparent FlatStyle Flat Text ... 2 Button2
Name btnOpenFldrBwsr BackColor Transparent FlatStyle Flat Text Import 3 Button3
Name btnImport BackColor Transparent FlatStyle Flat Text View From TextFile 4 Button4
Name btnView BackColor Transparent 5 Button5 FlatStyle Flat
Imports System.Data Imports System.Data.OleDb Namespace AccessData Public Class DatabaseConnection
Dim conect As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=CSV.mdb;")
Public Function open() As OleDbConnection conect.Open() Return conect End Function Public Function close() As OleDbConnection conect.Close() Return conect End Function End Class End Namespace
#Region "Declaration" Dim objConnection As OleDbConnection Dim objCommand As OleDbCommand Dim objDataAdapter As OleDbDataAdapter Dim StrSQL As String Dim objDataTableText As New DataTable Dim objDataTableAccess As New DataTable Dim myconnection As New AccessData.DatabaseConnection #End Region
OFD.FilterIndex = 0 OFD.FileName = "" Dim result As DialogResult = OFD.ShowDialog() If result = DialogResult.Cancel Then OFD.FileName = Nothing txtFilePath.Text = "" Else txtFilePath.Text = OFD.FileName End If Catch ex As Exception MessageBox.Show(ex.Message) End Try
cmd.Connection = myconnection.open() cmd.ExecuteNonQuery() myconnection.close() MsgBox("Import Finish", MsgBoxStyle.Information, "Import") Catch ex As Exception MsgBox(ex.Message) myconnection.close() Exit Sub End Try
objCommand = New OleDbCommand objCommand.Connection = myconnection.open() objCommand.CommandType = CommandType.Text objCommand.CommandText = StrSQL objDataAdapter = New OleDbDataAdapter(objCommand) objDataAdapter.Fill(objDataSet, "mdt_check") objDataTableText = objDataSet.Tables("mdt_check") myconnection.close() DgText.DataSource = objDataTableText TempFile = Nothing TempPath = Nothing Catch ex As Exception MsgBox(ex.Message) myconnection.close() Exit Sub End Try
Try FBD.SelectedPath = "" Dim result As DialogResult = FBD.ShowDialog() If result = DialogResult.Cancel Then FBD.SelectedPath = Nothing txtFolderPath.Text = "" Else txtFolderPath.Text = FBD.SelectedPath.Trim() End If Catch ex As Exception MessageBox.Show(ex.Message) End Try
Step By Step Menjadi Programmer Handal Dengan VB.Net – Step VI Junindar
Hal tersebut memang sengaja penulis lakukan, agar para pembaca paham terlebih
dahulu cara untuk mengimport data. Jika sudah mengerti maka kita akan memasuki
lagi tahap selanjutnya yaitu mengexport data dari access table ke txt /csv file.
Bagi para pembaca yang belum membaca step 5 penulis harapkan untuk membaca
artikel tersebut terlebih dahulu. Karena antara artikel sebelumnya dan yang saat ini
sangat erat sekali hubungan nya. Dan kita masih menggunakan project yang sama.
Hasil eksperimen yang dilakukan penulis untuk mengeksport data dengan jumlah
baris lebih kurang 100.000 baris durasi yang dibutuhkan adalah sekitar 20 detik. Ini
merupakan waktu yang sangat cepat sekali.
II. CODING
Karena kita masih menggunakan form dan project yang sama jadi kita langsung saja
masuk ke tahap coding.
Dan klik ganda pada button export, dan ketik sintaks dibawah ini :
Sub CheckData() Try objDataTableAccess.Clear() StrSQL = "SELECT EmployeeId,format(FTime,'hh:mm') " & _ "As Waktu,format(FDate,'dd/mm/yyyy') As Tanggal FROM Absen" objCommand = New OleDbCommand objCommand.Connection = myconnection.open() objCommand.CommandType = CommandType.Text objCommand.CommandText = StrSQL objDataAdapter = New OleDbDataAdapter(objCommand) objDataAdapter.Fill(objDataSet, "mdt_check2") objDataTableAccess = objDataSet.Tables("mdt_check2") myconnection.close() Catch ex As Exception MsgBox(ex.Message) myconnection.close() Exit Sub End Try End Sub
For i = 0 To objDataTableAccess.Rows.Count - 1 With objDataTableAccess.Rows(i) Field1 = .Item(0).ToString Field2 = .Item(1).ToString Field3 = .Item(2).ToString End With
Step By Step Menjadi Programmer Handal Dengan VB.Net – Step VII Junindar
Class dengan nama “DataBaseConnection.vb” (Klik kanan Folder
“AccessData”>Add>Add Class). Ketikan listing di bawah ini pada class yang baru
anda buat.
Lalu buat Class didalam folder AccessData dan ubah nama class tersebut menjadi
“AccessAbsen.vb“. Dan ketik sintak dibawah ini
Imports System.Data Imports System.Data.OleDb Namespace AccessData Public Class DatabaseConnection
Dim conect As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=CSV.mdb;")
Public Function open() As OleDbConnection conect.Open() Return conect End Function Public Function close() As OleDbConnection conect.Close() Return conect End Function End Class End Namespace
#Region "Declaration" Dim objConnection As OleDbConnection Dim objCommand As OleDbCommand Dim objDataAdapter As OleDbDataAdapter Dim StrSQL As String Dim objDataTableText As New DataTable Dim objDataTableAccess As New DataTable Dim myconnection As New AccessData.DatabaseConnection Protected myConnectionAbsen As New AccessData.AccessAbsen #End Region
Imports System.Data Imports System.Data.OleDb Namespace AccessData Public Class AccessAbsen Public Function AccessAbsenInsert(ByVal EmployeeID As String, _ ByVal FTime As String, _ ByVal FDate As String) Dim myconnection As New AccessData.DatabaseConnection Dim SqlString As String = "Insert Into Absen " & _ " (EmployeeID,FTime,FDate) Values (?,?,?)" Dim myCmd As New OleDbCommand(SqlString) myCmd.Connection = myconnection.open myCmd.CommandType = CommandType.Text myCmd.Parameters.Add("EmployeeID", EmployeeID) myCmd.Parameters.Add("FTime", FTime) myCmd.Parameters.Add("FDate", FDate) myCmd.ExecuteNonQuery() myconnection.close() End Function End Class End Namespace
OFD.FilterIndex = 0 OFD.FileName = "" Dim result As DialogResult = OFD.ShowDialog() If result = DialogResult.Cancel Then OFD.FileName = Nothing txtFilePath.Text = "" Else txtFilePath.Text = OFD.FileName End If Catch ex As Exception MessageBox.Show(ex.Message) End Try
Try objDataTable.Clear() strSQL = "SELECT EmployeeId,format(FTime,'hh:mm') " & _ "As Waktu,format(FDate,'dd/mm/yyyy') As Tanggal FROM Absen" objCommand = New OleDbCommand objCommand.Connection = myconnection.open() objCommand.CommandType = CommandType.Text objCommand.CommandText = strSQL objDataAdapter = New OleDbDataAdapter(objCommand) objDataAdapter.Fill(objDataSet, "mdt_check") objDataTable = objDataSet.Tables("mdt_check") myconnection.close() DgView.DataSource = objDataTable Catch ex As Exception MsgBox(ex.Message) myconnection.close() Exit Sub End TryEnd Try
Exit Sub End If oRead = oFile.OpenText(txtFilePath.Text.Trim) While oRead.Peek <> -1 LineIn = oRead.ReadLine() Dim ID As String = LineIn.Substring(0, 5)
Dim jam As String = LineIn.Substring(5, 2) & ":" & LineIn.Substring(7, 2) Dim tgl As String = LineIn.Substring(9, 2) & "/" & LineIn.Substring(11, 2) & "/" & LineIn.Substring(13, 4)
myConnectionAbsen.AccessAbsenInsert(ID, jam, tgl) End While oRead.Close()
MsgBox("Import data berhasil", MsgBoxStyle.Information, "Pesan keberhasilan")
Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Critical) myconnection.close() End Try
Step By Step Menjadi Programmer Handal Dengan VB.Net – Step VIII Junindar
Coding
Sekarang saat nya kita melakukan coding pada project ini.
Double click pada form, lalu ketikkan code seperti dibawah ini.
Code diatas merupakan kalimat yang akan nantinya menjadi running text pada form.
Untuk kasus ini para pembaca dapat mengubah kalimat diatas sesuai dengan
keinginan masing-masing.
Ketikkan code di bawah pada form.
Private Declare Sub GetSystemTime Lib "kernel32" (ByRef lpSystemTime As SYSTEMTIME) Private Structure SYSTEMTIME Public wYear As Short Public wMonth As Short Public wDayOfWeek As Short Public wDay As Short Public wHour As Short Public wMinute As Short Public wSecond As Short Public wMilliseconds As Short End Structure
lblJalan.Text = "Ini adalah program untuk melihat jam pada beberapa negara di dunia...."
#Region " World Clock Variables " Dim lpT As SYSTEMTIME Dim dateUTC As Date Dim WTime As Date #End Region
Step By Step Menjadi Programmer Handal Dengan VB.Net – Step IX Junindar
Code diatas merupakan proses untuk mematikan PC, logika nya jika waktu saat ini
sama dengan waktu pada DateTimePicker yang kita setting, maka PC akan mati.
Sedangkan code-code di bawah nya yang di kasih comment merupakan proses untuk
Restart, Logoff dan abort. Jadi para pembaca dapat memodif program ini sesuai
dengan keinginan.
Double Click BtnEnabled, dan ketik sintaks seperti di bawah:
Logika dari sintaks diatas adalah, pada saat program dijalankan pertama kali
TimerShutdown kita set False untuk enabled, dan text untuk btnEnabled = “Disabled”,
dan jika di klik button tersebut maka DateTimePicker menjadi Disabled dan Timer pun
dijalankan. Dan proses ini di lakukan sebaliknya.
If btnEnabled.Text = "Disabled" Then DtTime.Enabled = False btnEnabled.Text = "Enabled" TimerShutdown.Enabled = True Else DtTime.Enabled = True btnEnabled.Text = "Disabled" TimerShutdown.Enabled = False End If
Dim P_Time As String P_Time = Format(TimeOfDay, "hh:mm tt") Try If P_Time = Trim(DtTime.Text) Then System.Diagnostics.Process.Start("Shutdown", "/s") ' Untuk shutdown ' System.Diagnostics.Process.Start("Shutdown", "/r") 'Untuk Restart ' System.Diagnostics.Process.Start("Shutdown", "/l") ' Untuk logoff ' System.Diagnostics.Process.Start("Shutdown", "/a") ' untuk abort End If Catch ex As Exception MsgBox(ex.Message) End Try
Step By Step Menjadi Programmer Handal Dengan VB.Net – Step XI Junindar
Lalu double click Form dan ketikkan sintaks di bawah
Double click button Start
Double click button Stop
Double click button Reset
Dan terakhir double click komponen Timer dan ketikkan sintaks berikut..
Mili = 0 Sec = 0 Min = 0 hr = 0
Timer1.Enabled = True
Timer1.Enabled = False
Dim mYes_No As String = MsgBox("Do you want Reset the Timer ?", vbYesNo) If mYes_No = vbYes Then Mili = 0 Sec = 0 Min = 0 hr = 0 lblTime.Text = "" Timer1.Enabled = False End If
Dim Mili2, Sec2, Min2, hr2 As String Countr = Countr + 1 Mili2 = Countr If Countr = 10 Then Sec = Sec + 1 Countr = 0 End If If Sec = 60 Then Min = Min + 1 Sec = 0 End If If Min = 60 Then hr = hr + 1 Min = 0 End If Sec2 = Format(Val(Sec), "00") Min2 = Format(Val(Min), "00") hr2 = Format(Val(hr), "00") blTime.Text = hr2 & ":" & Min2 & ":" & Sec2 & ":" & Mili2
Step By Step Menjadi Programmer Handal Dengan VB.Net – Step XII Junindar
Pada jendela module ketikkan sintaks seperti dibawah ini.
Sintaks diatas untuk mengambil alamat dari folder dimana file exe disimpan, jadi
AppPath ini bersifat Fleksibel.
Klik ganda pada Form1.
Note : Tulisan berwarna hijau merupakan comment untuk menjelaskan maksud dari
code.
Module _Module Public AppPath As String = Replace(Replace(Replace(Application.ExecutablePath, Application.ProductName + ".EXE", ""), Application.ProductName + ".exe", ""), Application.ProductName + ".exe", "") End Module
Try 'jika file setting tidak ada folder Bin, 'maka kita akan membuat file tersebut dengan nama "Setting" 'Proses ini untuk pertama kali program dijalankan If System.IO.File.Exists(AppPath & ("Setting.txt")) = False Then 'mendeklarasikan file Setting yang akan di buat lalu di tulis 'AppPath adalah Nama alamat dimana file exe disimpan Dim sw As New System.IO.StreamWriter(AppPath & ("Setting.txt")) 'Mesetting warna untuk pertama kali di jalankan adalah warna Default Form (Control) Dim c As System.Drawing.Color = System.Drawing.ColorTranslator.FromHtml("Control") 'mengconvert warna menjadi bilangan Hexa,lalu di tulis pada file setting sw.WriteLine("#" & Hex(c.ToArgb)) sw.Close() ' Menutup file yang dibuka Else 'jika File setting sudah ada Dim color As String 'mendklarasikan file Setting yang akan di baca 'AppPath adalah Nama alamat dimana file exe disimpan Dim sr As New System.IO.StreamReader(AppPath & ("Setting.txt")) 'Mengambil text dari file Setting color = sr.ReadLine() 'Menutup File sr.Close() 'Mesetting warna dari file Setting Dim color2 As System.Drawing.Color = System.Drawing.ColorTranslator.FromHtml(color) 'Mengubah Warna untuk Background form sesuai dengan file Setting Me.BackColor = color2 End If Catch ex As Exception MsgBox(ex.Message) End Try
Step By Step Menjadi Programmer Handal Dengan VB.Net – Step XII Junindar
Klik ganda button Show Color, dan ketik sintaks seperti dibawah
Klik ganda button Restore Color, dan ketik sintaks seperti dibawah
Setelah langkah-langkah diatas sudah dilakukan dengan benar, maka jalankan program
dengan menekan tombol F5.
Try 'Menampilkan Dialog warna.. 'Jika menekan tombol Ok pada Dialog Warna If dlgWarna.ShowDialog() = System.Windows.Forms. _ DialogResult.OK Then 'Background Form sama dengan warna yang di pilih pada dialog warna Me.BackColor = dlgWarna.Color 'mendeklarasikan file Setting2 yang akan di tulis (file ini hanya temporary saja) 'AppPath adalah Nama alamat dimana file exe disimpan Dim sw As New System.IO.StreamWriter(AppPath & ("Setting2.txt")) 'mengconvert warna menjadi bilangan Hexa,lalu di tulis pada file Setting2 Dim a As String = Hex(dlgWarna.Color.ToArgb) 'Memotong 2 digit pertama dari hasil convert a = a.Substring(2) 'Menuliskan hasil convert ke dalam file Setting2 sw.WriteLine("#" & a) sw.Close() 'Menutup file System.IO.File.Delete(AppPath & ("Setting.txt")) 'Mengganti nama File Setting2 menjadi Setting System.IO.File.Move(AppPath & ("Setting2.txt"), AppPath & ("Setting.txt")) End If Catch ex As Exception MsgBox(ex.Message) End Try
Try 'mendeklarasikan file Setting2 yang akan di tulis (file ini hanya temporary saja) 'AppPath adalah Nama alamat dimana file exe disimpan Dim sw As New System.IO.StreamWriter(AppPath & ("Setting2.txt")) 'Mesetting warna untuk pertama kali di jalankan adalah warna Default Form (Control) Dim color2 As System.Drawing.Color = System.Drawing.ColorTranslator.FromHtml("Control") 'Mengubah Warna untuk Background menjadi default Me.BackColor = color2 'mengconvert warna menjadi bilangan Hexa,lalu di tulis pada file Setting2 sw.WriteLine("#" & Hex(color2.ToArgb)) sw.Close() 'menutup file Setting2 System.IO.File.Delete(AppPath & ("Setting.txt")) 'Menghapus File Setting dari Drive 'Mengganti nama File Setting2 menjadi Setting System.IO.File.Move(AppPath & ("Setting2.txt"), AppPath & ("Setting.txt")) Catch ex As Exception MsgBox(ex.Message) End Try
Step By Step Menjadi Programmer Handal Dengan VB.Net XIII Junindar
Note :Dengan membuat koneksi menggunakan Class, untuk setiap proses yang
berhubungan dengan database anda cukup dengan memanggil nama Class tersebut,
dengan mendeklarasikan Class tersebut.
Contoh : Dim MyConnection As New AccessData.DatabaseConnection Setelah selesai membuat Class, selanjutnya kita akan membuat module untuk menyimpan
Variable global yang sering kita gunakan dalam pembuatan program. Buat satu module
caranya sama dengan membuat Class, dan beri nama “module.vb”. (Klik kanan Folder
“AccessData”>Add>Add Module). Ketikan listing di bawah ini pada module yang baru
anda buat.
Imports System.Data.SqlClient Namespace AccessData Public Class DataBaseConnection Public Function open() As SqlClient.SqlConnection 'Server = Nama dimana kita menginstall SQL server 'Database = Nama database yang akan di akses
'User ID= Account untuk SQL server, sebagai default sa (system administrator)
'Password = Password untuk login ke SQL server Dim conect As New SqlClient.SqlConnection("Server='TESTSERVER';Database='Coba'; " & _
" User ID='sa';Password='testserver'") conect.Open() Return conect End Function Public Function close() As SqlClient.SqlConnection Dim conect As New SqlClient.SqlConnection("Server='TESTSERVER';Database='Coba'; " & _ " User ID='sa';Password='testserver'") conect.Close() Return conect End Function End Class End Namespace
Step By Step Menjadi Programmer Handal Dengan VB.Net XIII Junindar
Setelah selesai sekarang kita kembali pada Form Login. Untuk pertama kali ketikkan
listing dibawah ini pada baris paling atas.
Dan buat variable global untuk form Login ini, seperti dibawah ini.
Ketikkan listing diatas dibawah Inherits System.Windows.Forms.Form
Selanjutnya kita buat listing untuk mencari apakah Username ada pada table Users
Module _Module Public Msg As Integer Public intResponse As Integer Public Username, Password As String End Module
Imports System.Data Imports System.Data.SqlClient
Sub CheckUser() objDataTable.Clear() StrSQL = ("SELECT * FROM [Users] WHERE [UserName] " & _ " = '" & Trim(txtuser.Text) & "' ") objCommand = New SqlCommand objCommand.Connection = MyConnection.open objCommand.CommandType = CommandType.Text objCommand.CommandText = StrSQL objDataAdapter = New SqlDataAdapter(objCommand) objDataAdapter.Fill(objDataSet, "MDT_user") objDataTable = objDataSet.Tables("MDT_user") MyConnection.close() End Sub
#Region "deklarasi" Dim MyConnection As New AccessData.DataBaseConnection Dim f_utama As New MainMenu Dim objConnection As SqlConnection Dim objCommand As SqlCommand Dim objDataAdapter As SqlDataAdapter Dim objdatareader As SqlDataReader Dim strSQL As String Dim objDataSet As New DataSet Dim objDataTable As New DataTable Dim mProcess As String #End Region
Step By Step Menjadi Programmer Handal Dengan VB.Net XIII Junindar
2.3 III.
Setelah ini Double Click button Cancel, dan ketikkan listing seperti berikut
Private Sub btnLogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLogin.Click ‘untuk mengaktifkan fungsi CheckUsers
CheckUsers
‘mengharuskan user memasukkan username dan password If txtuser.Text.Trim() = "" And _ txtpassword.Text.Trim() = "" Then Msg = MsgBox("Masukan Username dan Password", MsgBoxStyle.OKOnly, "Pesan") txtuser.Focus() ElseIf txtuser.Text = "" Then Msg = MsgBox("Masukan Username ", MsgBoxStyle.OKOnly, "Pesan") txtuser.Focus() ElseIf txtpassword.Text = "" Then Msg = MsgBox("Masukan password ", MsgBoxStyle.OKOnly, "Pesan") txtpassword.Focus() Else Try ‘Menghitung jumlah baris yang ada pada ObjDataTable If objDataTable.Rows.Count <= 0 Then ‘Jika jumlah baris = 0 / username tidak ada pada table Msg = MsgBox("Username tidak ada ", MsgBoxStyle.OKOnly, "Pesan") txtuser.Focus() Else ‘Jika username ada pada table / jumlah baris ObjdataTable > 0 ‘Mengaktifkan fungsi mencari nilai value Username & Password Find_User() ‘Jika Password yang diketik pada TextBox tidak sama pada Database If Password <> Trim(txtPassword.Text) Then Msg = MsgBox("Password salah!", MsgBoxStyle.OKOnly, "Pesan") txtPassword.Focus() Exit Sub Else ‘Jika Sama Me.Hide() f_utama.ShowDialog() txtuser.Text = "" txtPassword.Text = "" End If End If Catch When Err.Number <> 0 MsgBox("Tidak dapat melakukan proses" _ & vbCrLf & Err.Description) End Try End If End Sub
Step By Step Menjadi Programmer Handal Dengan VB.Net XIII Junindar
Sekarang anda telah selesai membuat aplikasi yang sangat sederhana. Kalau berhasil
jangan senang dulu, karena masih banyak sekali rintangan yang akan kita hadapi untuk
kasus-kasus berikutnya. Bagi yang gagal jangan berkecil hati, jangan ragu dan sungkan
silahkan E-Mail ke saya.
Jika program yang anda buat tidak ada masalah, kita lanjutkan pelajaran kita.
Sekarang mari kita modif form utama kita yang masih polos, menjadi seperti berikut :
Ubah Properties pada form utama seperti di bawah ini.
Private Sub btnBatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBatal.Click intResponse = MessageBox.Show("Are you sure want to quit ?", Me.Text, MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) If intResponse = MsgBoxResult.Yes Then End Else Exit Sub End If End Sub
Step By Step Menjadi Programmer Handal Dengan VB.Net XIII Junindar
BackColor White
FormBorderStyle Fixed3D
BackGroundImage Bebas mau gambar apa
Text MainMenu
Name MainMenu
StartPosition CenterScreen
Icon Bebas juga
Anda dapat memodif form sesuai dengan keinginan anda. Dan kita tambah komponen MainMenu1 dan StatusBar1 pada Form MainMenu. Buat seperti dibawah ini. File>>Exit Inputan>>Input Usaha
Step By Step Menjadi Programmer Handal Dengan VB.Net XIII Junindar
Setelah itu Double Click menu item Exit dan ketik listing seperti dibawah ini : Lalu Double Click menu item Inputan dan ketikan listing seperti dibawah ini : Setelah selesai kita mendesain Form Utama (MainMenu), sekarang kita akan membuat
Form Untuk Penginputan Usaha.
Sekarang tambahkan sebuah form baru pada project yang kita buat. Ubah properties form
seperti dibawah ini.
BackColor LightBlue
FormBorderStyle Fixed3D
Text Form Usaha
Name Frm_usaha
StartPosition CenterScreen
ControlBox False
ShowInTaksbar False
Dan tambahkan 11 Button, 1 GroupBox dan 2 TextBox. Susun semua komponen seperti dibawah ini.
End
Dim f_usaha As New Frm_Usaha f_usaha.ShowDialog() f_usaha.Dispose()
Step By Step Menjadi Programmer Handal Dengan VB.Net XIII Junindar
Jika sudah selesai mendesain form tersebut, kita akan lanjutkan membuat class untuk
pemrosesan data. Buat satu class didalam folder AccessData dengan nama AccessUsaha.
Tapi sebelum itu kita melakukan coding pada Class itu, hal yang harus kita lakukan
adalah dengan membuat Stored Procedures di SQL Server. Ikuti langkah-langkah
dibawah ini. Pada jendela Enteprise Manager klik tanda + pada database Coba, lalu di
bawah nya akan terlihat Stored Procedures, klik kanan lalu New Stored Procedure.
Setelah itu akan muncul jendela Stored Procedure. Dan ketikkan sintaks seperti dibawah
ini. Untuk menyimpannya klik button OK, sedangkan untuk mengecek syntak dari SQL
nya klik button Check Syantax.
Lalu buat 2 Stored Procedure dan ketikkan sintaks dibawah untuk masing-masing Stored
Procedure.
CREATE PROCEDURE [SpInsertUsaha] (@IDUsaha [varchar](3), @NamaUsaha [varchar](50)) AS INSERT INTO [TbUsaha] ( [IDUsaha], [NamaUsaha]) VALUES ( @IDUsaha, @NamaUsaha) GO
CREATE PROCEDURE [SpUpdateUsaha] (@IDUsaha [varchar], @NamaUsaha [varchar](50)) AS UPDATE [TbUsaha] SET [NamaUsaha] = @NamaUsaha WHERE ( [IDUsaha] = @IDUsaha) GO
CREATE PROCEDURE [SpDeleteUsaha] (@IDUsaha [varchar]) AS DELETE [TbUsaha] WHERE ( [IDUsaha] = @IDUsaha) GO
Step By Step Menjadi Programmer Handal Dengan VB.Net XIII Junindar
Setelah melakukan hal diatas dengan benar maka kita akan memiliki 3 Stored Procedures,
seperti pada gambar dibawah ini.
Dan kita kembali pada jendela Vb.Net, pada Class AccessUsaha, ketikkan sintaks
berikut.
Imports System.Data Imports System.Data.SqlClient Namespace AccessData Public Class AccessUsaha Public Function AccessUsahaInsert(ByVal IDUsaha As String, _ ByVal NamaUsaha As String) As SqlDataReader Dim MyConnection As DataBaseConnection = New AccessData.DataBaseConnection Dim myCommand As SqlCommand = New SqlCommand("SpInsertUsaha", MyConnection.open) myCommand.CommandType = CommandType.StoredProcedure Dim parameterIdUsaha As SqlParameter = New SqlParameter("@IDUsaha", SqlDbType.VarChar, 3) parameterIdUsaha.Value = IDUsaha Dim parameterNamaUsaha As SqlParameter = New SqlParameter("@NamaUsaha", SqlDbType.VarChar, 50) parameterNamaUsaha.Value = NamaUsaha With myCommand.Parameters .Add(parameterIdUsaha) .Add(parameterNamaUsaha) End With Dim result As SqlDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection) Return result End Function
Step By Step Menjadi Programmer Handal Dengan VB.Net XIII Junindar
Public Function AccessUsahaUpdate(ByVal IDUsaha As String, ByVal NamaUsaha As String) Dim MyConnection As DataBaseConnection = New AccessData.DataBaseConnection Dim myCommand As SqlCommand = New SqlCommand("SpUpdateUsaha", MyConnection.open) myCommand.CommandType = CommandType.StoredProcedure Dim parameterIdUsaha As SqlParameter = New SqlParameter("@IDUsaha", SqlDbType.VarChar, 3) parameterIdUsaha.Value = IDUsaha Dim parameterNamaUsaha As SqlParameter = New SqlParameter("@NamaUsaha", SqlDbType.VarChar, 50) parameterNamaUsaha.Value = NamaUsaha With myCommand.Parameters .Add(parameterIdUsaha) .Add(parameterNamaUsaha) End With Dim result As SqlDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection) Return result End Function Public Function AccessUsahaDelete(ByVal IDUsaha As String) Dim MyConnection As DataBaseConnection = New AccessData.DataBaseConnection Dim myCommand As SqlCommand = New SqlCommand("SpDeleteUsaha", MyConnection.open) myCommand.CommandType = CommandType.StoredProcedure Dim parameterIdUsaha As SqlParameter = New SqlParameter("@IDUsaha", SqlDbType.VarChar, 3) parameterIdUsaha.Value = IDUsaha With myCommand.Parameters .Add(parameterIdUsaha) End With Dim result As SqlDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection) Return result End Function End Class End Namespace
Step By Step Menjadi Programmer Handal Dengan VB.Net XIII Junindar
Jika sudah selesai, mari kita lanjutkan membuat program di dalam Form Usaha. Dan buat variable global form seperti dibawah ini. Lalu ketikan fungsi-fungsi berikut :
#Region "deklarasi" Dim MyConnection As New AccessData.DataBaseConnection Dim objConnection As SqlConnection Dim objCommand As SqlCommand Dim objDataAdapter As SqlDataAdapter Dim objdatareader As SqlDataReader Dim strSQL As String Dim objDataSet As New DataSet Dim objDataTable As New DataTable Public mProcess As String Dim mPosition As Integer #End Region
Private Sub clear() 'Mengkosongkan isi TextBox txtID.Text = "" txtNama.Text = "" End Sub
Private Sub enabled_off() 'Menonaktifkan Textbox txtID.Enabled = False txtNama.Enabled = False End Sub
Private Sub enabled_on() 'Mengaktifkan TextBox txtID.Enabled = True txtNama.Enabled = True End Sub
Sub ViewData() 'Menampilkan Data IDUsaha dan Nama Usaha dengan Criteria “IDUsaha” pada masing-masing Textbox objCommand = MyConnection.open.CreateCommand objCommand.CommandText = "select * from TbUsaha " & _ " Where IDUsaha = '" & Trim(txtID.Text) & "'" objdatareader = objCommand.ExecuteReader While objdatareader.Read txtID.Text = objdatareader.Item("IDUsaha").ToString txtNama.Text = objdatareader.Item("NamaUsaha").ToString End While MyConnection.close End Sub
Step By Step Menjadi Programmer Handal Dengan VB.Net XIII Junindar
Sub Displaydata() Try
'Menyimpan jumlah baris Tabel “TbUsaha” pada Objdatatable objDataTable.Clear() StrSQL = "select * from TbUsaha" objCommand = New SqlCommand objCommand.Connection = MyConnection.open objCommand.CommandType = CommandType.Text objCommand.CommandText = StrSQL objDataAdapter = New SqlDataAdapter(objCommand) objDataAdapter.Fill(objDataSet, "MDT_Usaha") MyConnection.close() objDataTable = objDataSet.Tables("MDT_Usaha") Catch ex As Exception MsgBox("Tidak dapat membuat hubungan ke database" _ & vbCrLf & Err.Description) MyConnection.close() End Try End Sub
Sub displaydata2() Try
'Menampilkan Data “IDUsaha” dan “NamaUsaha” berdasarkan posisi Baris yang dicari StrSQL = "select * from TbUsaha" objCommand = New SqlCommand objCommand.Connection = MyConnection.open objCommand.CommandType = CommandType.Text objCommand.CommandText = StrSQL objDataAdapter = New SqlDataAdapter(objCommand) objDataAdapter.Fill(objDataSet, "MDT_Usaha") MyConnection.close() objDataTable = objDataSet.Tables("MDT_Usaha") mPosition = BindingContext(objDataTable).Position With objDataTable.Rows(mPosition) txtID.Text = .Item("IDUsaha") txtNama.Text = .Item("NamaUsaha") End With Catch When Err.Number <> 0 MsgBox("Tidak dapat membuat hubungan ke database" _ & vbCrLf & Err.Description) MyConnection.close() End Try End Sub
Step By Step Menjadi Programmer Handal Dengan VB.Net XIII Junindar
Double Click “btnclose” dan ketik seperti dibawah ini : Double Click “btncancel” dan ketik seperti dibawah ini : Double Click “btnadd” dan ketik seperti dibawah ini : Double Click “btnEdit” dan ketik seperti dibawah ini :
Sub cari() Try
'untuk mengecek apakah IDUsaha yang diinputkan ada pada Tabel “TbUsaha” objDataTable.Clear()
strSQL = "select * from [TbUsaha] where " & _ " IDUsaha = '" & Trim(txtID.Text) + "'" objCommand = New SqlCommand objCommand.Connection = MyConnection.open objCommand.CommandType = CommandType.Text objCommand.CommandText = strSQL objDataAdapter = New SqlDataAdapter(objCommand) objDataAdapter.Fill(objDataSet, "MDT_Usaha") MyConnection.close() objDataTable = objDataSet.Tables("MDT_Usaha") Catch When Err.Number <> 0 MsgBox("Tidak dapat membuat hubungan ke database" _ & vbCrLf & Err.Description) MyConnection.close() End Try End Sub
Step By Step Menjadi Programmer Handal Dengan VB.Net XIII Junindar
Pilih ClassName = txtNama, Seperti dibawah ini Dan Pilih Method Name = Leave. Untuk selanjutnya penulis hanya menyebutkan ClassName dan MethodName saja, untuk visual tidak akan diberikan. Lalu ketik seperti dibawah ini. Double Click Form Usaha, dan ketik seperti berikut :
If mProcess <> "View" Or txtNama.Text = "" Then MsgBox("Lakukan pencarian terlebih dahulu, sebelum proses edit") Else
enabled_on() txtNama.Focus() mProcess = "EDIT" btnsave.Text = "Save Edit" btnsave.Enabled = True End If
Step By Step Menjadi Programmer Handal Dengan VB.Net XIII Junindar
If btnsave.Text = "Save Add" Then Try cari() If objDataTable.Rows.Count >= 1 Then MsgBox(" Kode " & "" & txtID.Text & "" & " sudah ada") txtID.Focus() ElseIf txtID.Text = "" Or txtNama.Text = "" Then MsgBox("Isikan data yang mau di Input terlebih dahulu") txtID.Focus() Else Dim mYes_No As String = MsgBox("Anda yakin data mau disimpan ?", vbYesNo) If mYes_No = vbYes Then myconnectionUsaha.AccessUsahaInsert(txtID.Text, txtNama.Text) enabled_off() btnsave.Enabled = False btnsave.Text = "Save" btnadd.Focus() Displaydata() clear() Else enabled_off() clear() btnadd.Focus() End If End If Catch When Err.Number <> 0 MsgBox("Tidak dapat melakukan proses simpan" _ & vbCrLf & Err.Description) End Try Else Try cari() If objDataTable.Rows.Count = 0 Then MsgBox(" Kode : " & "" & txtID.Text & "" & " tidak ada pada table") Else Dim mYes_No As String = MsgBox("Anda yakin data mau diupdate ?", vbYesNo) If mYes_No = vbYes Then myconnectionUsaha.AccessUsahaUpdate(txtID.Text, txtNama.Text) enabled_off() btnsave.Text = "Save" btnsave.Enabled = False btnadd.Focus() clear() Else enabled_off() clear() btnadd.Focus() End If End If Catch When Err.Number <> 0 MsgBox("Tidak dapat melakukan proses update" _ & vbCrLf & Err.Description) End Try End If objDataTable.Clear()
Step By Step Menjadi Programmer Handal Dengan VB.Net XIII Junindar
Pilih ClassName = txtNama Dan Pilih Method Name = KeyUp Pilih ClassName = txtNama, Seperti dibawah ini Dan Pilih Method Name = KeyUp Double_Click btnakhir Double_Click btnmaju Double_Click btnmundur Double_Click btnawal
If e.KeyCode = Keys.Enter Then btnsave.PerformClick() ElseIf e.KeyCode = Keys.Escape Then btncancel.PerformClick() End If
If mProcess = "View" Then Try cari() If objDataTable.Rows.Count = 0 Then MsgBox("Data yang dicari tidak ada") Else ViewData() btndelete.Focus() End If Catch When Err.Number <> 0 MsgBox("Tidak dapat melakukan proses pencarian" _ & vbCrLf & Err.Description) MyConnection.close() End Try End If
Step By Step Menjadi Programmer Handal Dengan VB.Net XIV Junindar
Sintaks diatas adalah cara untuk membuat file XML, yang disimpan sama dengan file exe
berada, dengan nama sample.xml. Dibawah ini merupakan hasil dari sintaks diatas.
Lalu double click button “Add New Data” dan ketik sintaks dibawah.
Try If File.Exists(Application.StartupPath & "\sample.xml") Then MsgBox("File xml sudah ada") Exit Sub Else Dim Writer As New XmlTextWriter(Application.StartupPath & "\Sample.xml", System.Text.Encoding.Default) ' Write XML with Indent Writer.Formatting = Formatting.Indented 'Tulis deklarasi XML Writer.WriteStartDocument(True) 'Menulis comment di file XML Writer.WriteComment("Contoh XML") ' Root Element Writer.WriteStartElement("dataset") Writer.WriteStartElement("Users") Writer.WriteElementString("Username", "aku") Writer.WriteElementString("Password", "123") Writer.WriteElementString("Joined", "21-06-2008") Writer.WriteEndElement() ' Users End Tag Writer.WriteEndElement() ' Dataset End Tag Writer.WriteEndDocument() Writer.Flush() Writer.Close() MsgBox("File xml berhasil dibuat") End If Catch ex As Exception MsgBox(ex.Message) Exit Sub End Try
Step By Step Menjadi Programmer Handal Dengan VB.Net XIV Junindar
Maksud dari coding diatas adalah bagaimana kita menambah data baru untuk tag “Users”
pada file sample.xml yang kita buat sebelumnya.
Dan double click button “Refresh Datagrid”, ketik sintaks dibawah. Fungsi dari sintaks
dibawah ini adalah bagaiman cara menampilkan data pada file xml ke dalam datagrid.
Coba jalankan project dengan menekan F5, lalu coba klik button-button yang berada pada
form apakah sudah berjalan dengan semestinya?
Try Dim objDataSet As New DataSet Dim objDataRow As DataRow objDataSet.ReadXml(Application.StartupPath & "\Sample.xml") 'buat baris baru pada table user objDataRow = objDataSet.Tables("Users").NewRow objDataRow("username") = "aku2" objDataRow("password") = "456" objDataRow("joined") = DateTime.Now.ToString("dd-MM-yyyy") 'Tambah baris baru pada table users baru objDataSet.Tables("users").Rows.Add(objDataRow) 'Tulis data ke file xml objDataSet.WriteXml(Application.StartupPath & "\Sample.xml") objDataSet.Clear() MsgBox("Data telah berhasil di tambah") Catch ex As Exception MsgBox(ex.Message) Exit Sub End Try
Try Dim objDataSet As New DataSet objDataSet.Clear() DgXML.Refresh() objDataSet.ReadXml(Application.StartupPath & "\Sample.xml") DgXML.DataSource = objDataSet.Tables("Users") Catch ex As Exception MsgBox(ex.Message) Exit Sub End Try
Try Dim jro As JRO.JetEngineClass Dim newConStr As String Dim ConStr As String Dim originalDB As String = "\test.mdb" Dim NewDB As String = "\BackUptest.mdb" jro = New JRO.JetEngineClass 'membuat koneksi untuk database yang original
'Mengcopy database yang sudah di compact kedalam folder yang sama dengan original database
'menimpa isi dari database yang lama dengan yang baru System.IO.File.Copy(Application.StartupPath + NewDB, Application.StartupPath + originalDB, True)
'Terakhir delete database backup yang sudah di compact System.IO.File.Delete(Application.StartupPath + NewDB) MsgBox("Sukses", MsgBoxStyle.Information, "Compact") Catch ex As Exception MsgBox(ex.Message) End Try
Step By Step Menjadi Programmer Handal Dengan VB.Net XV Junindar
newConStr = "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Engine Type=5;Data Source=" + Application.StartupPath + NewDB + ";Jet OLEDB:Database Password=test;" Sedangkan untuk sintaks diatas merupakan koneksi untuk file backup (file hasil dari
compact). Kita simpan pada lokasi yang sama dengan file original.
Catatan : Jika pada koneksi file original menggunakan password maka pada
koneksi file backup harus juga diberikan password yang sama. Dan sebaliknya.
jro.CompactDatabase(ConStr, newConStr)
Mengcompact database original, dan hasilnya adalah database backup.
System.IO.File.Copy(Application.StartupPath + NewDB, Application.StartupPath + originalDB, True) Mencopy database backup hasil dari compact database original, kedalam folder yang
sama dengan database original (overwrite), menimpa file lama dengan yang baru. System.IO.File.Delete(Application.StartupPath + NewDB)
Menghapus file database backup.
Coba jalankan project dengan menekan F5, untuk mengetahui berhasil atau tidak program
ini. Coba cari file access yang size sudah besar, lalu copy kedalam folder bin pada
program ini. Lalu tekan tombol Compact, setelah selesai cek kembali apakah size dari file
tersebut berkurang. Jangan dicoba jika file Access sedang dijalankan oleh program lain.
Fungsi ini dapat berjalan ketika koneksi pada file access tersebut lagi tidak ada.
#Region "Declaration" Dim objConnection As OleDbConnection Dim objCommand As OleDbCommand Dim objDataAdapter As OleDbDataAdapter Dim strSQL As String Dim objDataSet As New DataSet Dim objDataTable As New DataTable Dim MyConnection As New AccessData.DatabaseConnection #End Region
#Region "Declaration" Dim objConnection As OleDbConnection Dim objCommand As OleDbCommand Dim objDataAdapter As OleDbDataAdapter Dim strSQL As String Dim objDataSet As New DataSet Dim objDataTable As New DataTable Dim MyConnection As New AccessData.DatabaseConnection #End Region
Sub View_Data() objDataTable.Clear() strSQL = "select * from [Cat]" objCommand = New OleDbCommand objCommand.Connection = MyConnection.open objCommand.CommandType = CommandType.Text objCommand.CommandText = strSQL objDataAdapter = New OleDbDataAdapter(objCommand) objDataAdapter.Fill(objDataSet, "Mdt_Cat") MyConnection.close() objDataTable = objDataSet.Tables("Mdt_Cat") DataGrid1.DataSource = objDataTable End Sub
Step By Step Menjadi Programmer Handal Dengan VB.Net XVI Junindar
Sub RefreshChart() View_Data() Dim a As String Dim categories(11) For i As Integer = 0 To 11 categories(i) = objDataTable.Columns(i + 1).Tostring a = objDataTable.Columns(i + 1).tostring Next Dim values(11) Dim chConstants 'Menghapus isi dari chart, seluruh chart yang lama dan exist menjadi empty 'buat 1 chart yang baru AxChartSpace1.Clear() AxChartSpace1.Charts.Add() chConstants = AxChartSpace1.Constants
Step By Step Menjadi Programmer Handal Dengan VB.Net XVI Junindar
'tambahkan series, secara dinamis For i As Integer = 0 To objDataTable.Rows.Count - 1 AxChartSpace1.Charts(0).SeriesCollection.Add() Next Dim MaxTotal As Integer = 0 'membuat warna dasar chart menjadi putih AxChartSpace1.Charts(0).PlotArea.Interior.Color = "White" For j As Integer = 0 To objDataTable.Rows.Count - 1 'mengeset categories series AxChartSpace1.Charts(0).SeriesCollection(j).SetData(chConstants.chDimCategories, chConstants.chDataLiteral, categories) For i As Integer = 1 To objDataTable.Columns.Count - 1 values(i - 1) = Val(objDataTable.Rows(j).Item(i).tostring) If values(i - 1) > MaxTotal Then MaxTotal = values(i - 1) End If Next 'mengeset series value AxChartSpace1.Charts(0).SeriesCollection(j).SetData(chConstants.chDimValues, chConstants.chDataLiteral, values) 'membuat caption AxChartSpace1.Charts(0).SeriesCollection(j).Caption = objDataTable.Rows(j).Item(0).ToString Next For i As Integer = 0 To objDataTable.Rows.Count - 1 Dim colors As String Select Case i Case 0 colors = "Red" Case 1 colors = "DarkOrange" Case 2 colors = "Cyan" Case 3 colors = "Yellow" Case 4 colors = "Red" Case 5 colors = "Black" Case 6 colors = "Navy" Case 7 colors = "SkyBlue" Case 8 colors = "SlateGray" 'selanjutnya tambah sendiri ya End Select
#Region "Declaration" Dim objConnection As OleDbConnection Dim objCommand As OleDbCommand Dim objDataAdapter As OleDbDataAdapter Dim strSQL As String Dim objDataSet As New DataSet Dim objDataTable As New DataTable Dim MyConnection As New AccessData.DatabaseConnection Dim AlphaNum As Integer Dim Filename, Alphabets As String Dim chkexcel As Boolean Dim oexcel As Excel.Application Dim obook As Excel.Workbook Dim osheet As Excel.Worksheet #End Region
Sub View_Data() objDataTable.Clear() strSQL = "select * from [Cat]" objCommand = New OleDbCommand objCommand.Connection = MyConnection.open objCommand.CommandType = CommandType.Text objCommand.CommandText = strSQL objDataAdapter = New OleDbDataAdapter(objCommand) objDataAdapter.Fill(objDataSet, "Mdt_Cat") MyConnection.close() objDataTable = objDataSet.Tables("Mdt_Cat") DataGrid1.DataSource = objDataTable End Sub
Step By Step Menjadi Programmer Handal Dengan VB.Net XVII Junindar
Sintaks diatas berfungsi untuk mengkonvert number ke string (kolom pada excel)
Sub Alphabet() Select Case AlphaNum Case 1 Alphabets = "A" Case 2 Alphabets = "B" Case 3 Alphabets = "C" Case 4 Alphabets = "D" Case 5 Alphabets = "E" Case 6 Alphabets = "F" Case 7 Alphabets = "G" Case 8 Alphabets = "H" Case 9 Alphabets = "I" Case 10 Alphabets = "J" Case 11 Alphabets = "K" Case 12 Alphabets = "L" Case 13 Alphabets = "M" Case 14 Alphabets = "N" Case 15 Alphabets = "O" Case 16 Alphabets = "P" Case 17 Alphabets = "Q" Case 18 Alphabets = "R" Case 19 Alphabets = "S" Case 20 Alphabets = "T" Case 21 Alphabets = "U" 'bisa disambung sendiri End Select
Step By Step Menjadi Programmer Handal Dengan VB.Net XVII Junindar
Sub Dbclose() 'mengecek dan tutup excel application If chkexcel = True Then osheet = Nothing oexcel.Application.DisplayAlerts = False obook.Close() oexcel.Application.DisplayAlerts = True obook = Nothing oexcel.Quit() oexcel = Nothing End If ' End End Sub
Sub Generate_Sheet() View_Data() osheet = oexcel.Worksheets(1) 'Menganti nama Sheet osheet.Name = "Excel Charts" osheet.Range("A1:AZ400").Interior.ColorIndex = 2 osheet.Range("A1").Font.Size = 12 osheet.Range("A1").Font.Bold = True osheet.Range("A1:I1").Merge() osheet.Range("A1").Value = "Excel Automation With Charts" osheet.Range("A1").EntireColumn.AutoFit() 'columns heading For i As Integer = 0 To objDataTable.Columns.Count - 1 AlphaNum = i + 1 Alphabet() osheet.Range(Alphabets & "3").Value = objDataTable.Columns.Item(i).ToString osheet.Range(Alphabets & "3").BorderAround(8) osheet.Range(Alphabets & "3").EntireColumn.AutoFit() Next 'format headings osheet.Range("A3:" & Alphabets & "3").Font.Color = RGB(255, 255, 255) osheet.Range("A3:" & Alphabets & "3").Interior.ColorIndex = 5 osheet.Range("A3:" & Alphabets & "3").Font.Bold = True osheet.Range("A3:" & Alphabets & "3").Font.Size = 10 'memasukkan data dari DB Dim R As Integer = 3 Dim x As Integer Dim a, b, c As String
Step By Step Menjadi Programmer Handal Dengan VB.Net XVII Junindar
For Each row As DataRow In objDataTable.Rows R = R + 1 For i As Integer = 0 To objDataTable.Columns.Count - 1 AlphaNum = i + 1 Alphabet() osheet.Range(Alphabets & R).Value = row(i).ToString osheet.Range(Alphabets & R).BorderAround(8) Next i Next 'Membuat object chart Dim oChart As Excel.Chart Dim MyCharts As Excel.ChartObjects Dim MyCharts1 As Excel.ChartObject MyCharts = osheet.ChartObjects 'mensetting lokasi chart MyCharts1 = MyCharts.Add(150, 100, 400, 250) oChart = MyCharts1.Chart 'membuat chart pada default location oChart.Location(Excel.XlChartLocation.xlLocationAsObject, osheet.Name) With oChart 'mengeset range untuk chart Dim chartRange As Excel.Range chartRange = osheet.Range("A3", Alphabets & R) .SetSourceData(chartRange) 'fungsi ini untuk mengeset bentuk dari plot, apakh kolom atau baris .PlotBy = Excel.XlRowCol.xlRows 'mensetting data label .ApplyDataLabels(Excel.XlDataLabelsType.xlDataLabelsShowNone) 'mensetting apakah legend tampil atau tidak .HasLegend = True 'mensetting lokasi legend .Legend.Position = Excel.XlLegendPosition.xlLegendPositionRight 'Pilih tipe chart .ChartType = Excel.XlChartType.xlColumnClustered 'chart title .HasTitle = True .ChartTitle.Text = "Bar Chart" Dim xlAxisCategory, xlAxisValue As Excel.Axes xlAxisCategory = CType(oChart.Axes(, Excel.XlAxisGroup.xlPrimary), Excel.Axes) xlAxisCategory.Item(Excel.XlAxisType.xlCategory).HasTitle = True xlAxisCategory.Item(Excel.XlAxisType.xlCategory).AxisTitle.Characters.Text = "Month" xlAxisValue = CType(oChart.Axes(, Excel.XlAxisGroup.xlPrimary), Excel.Axes) xlAxisValue.Item(Excel.XlAxisType.xlValue).HasTitle = True xlAxisValue.Item(Excel.XlAxisType.xlValue).AxisTitle.Characters.Text = "Category" End With End Sub
Step By Step Menjadi Programmer Handal Dengan VB.Net XVII Junindar
Double click form1 dan ketikkan sintaks dibawah.
Dan double click button export dan ketik sintaks dibawah ini
Try 'Nama File dan path. file akan disimpan di mana file exe brada Filename = Application.StartupPath & "\abc.xls" 'cek apakah file exist jika iya kemudian delete untuk membuat file baru. If File.Exists(Filename) Then File.Delete(Filename) End If If Not File.Exists(Filename) Then chkexcel = False 'Membuat excel aplikasi yang baru oexcel = CreateObject("Excel.Application") 'tambahkan worbook yang baru obook = oexcel.Workbooks.Add 'mensetting application alert oexcel.Application.DisplayAlerts = True 'mengecek total sheet pada workbook Dim S As Integer = oexcel.Application.Sheets.Count() 'delete seluruh sheet kecuali sheet pertama If S > 1 Then oexcel.Application.DisplayAlerts = False Dim J As Integer = S Do While J > 1 oexcel.Application.Sheets(J).delete() J = oexcel.Application.Sheets.Count() Loop End If 'untuk mengecek session dari excel application chkexcel = True oexcel.Visible = True 'ini procedure untuk mengisi data pada excel file Generate_Sheet() 'simapn excel file obook.SaveAs(Filename) 'menutup excel object dan session osheet = Nothing oexcel.Application.DisplayAlerts = False
Try View_Data() Catch ex As Exception MsgBox(ex.Message) Finally MyConnection.close() End Try
Masih banyak lagi referensi yang ada di Intenet. Anda tinggal cari di www.Google.com. Dengan kata kunci “tutorial VB.Net”
Sinopsis buku “Panduan Lengkap Menjadi Programmer“ Setelah mengetahui apa itu Microsoft.NET Framework, Microsoft Visual Basic.NET, ADO.NET, Database dan Microsoft Access, dan fungsi-fungsi serta dasar penggunaannya, ternyata menjadi programmer VB.NET itu mudah! Sebab, dari dasar pengetahuan tesebut, kita sudah bisa membuat suatu program yang kita inginkan. Misalnya, membuat aplikasi toko, seperti form penjualan dan pembelian. Visual Basic.NET (VB.NET) merupakan program generasi selanjutnya dari Visual Basic. VB.NET memungkinkan
kita untuk membangun aplikasi database client atau server dengan performa tinggi. Umumnya, para programmer banyak menggunakan VB.NET untuk membuat aplikasi atau program yang mereka butuhkan. Pasalnya, program ini memiliki kelebihan dan kemudahan tertentu dibandingkan dengan program-program lainnya yang sejenis.
Step By Step Menjadi Programmer Handal Dengan VB.Net XVII Junindar
Selanjutnya, langkah apa saja yang mesti diketahui dan dilakukan agar kita bisa menjadi programmer VB.NET? Mediakita menerbitkan buku Panduan Lengkap Menjadi Programmer yang ditulis oleh Junindar. Buku ini berisi tutorial pembuatan program, pembuatan laporan, sampai dengan melakukan deployment program. Melalui buku ini, Anda bisa menjadi seorang programmer VB.NET yang handal. Sebab, buku ini merupakan buku yang komplit untuk mengantar seseorang dari tidak tahu apa-apa tentang VB.NET menjadi seorang programmer. Memang, saat ini, banyak sekali buku-buku tentang pemrograman VB.NET, tetapi sangat jarang yang menjelaskan secara detail tentang fungsi-fungsi dan pemrograman di dalam VB.NET. Di buku ini, secara terperinci Anda akan dibimbing bagaimana membuat database, membuat program (create program), tampilan login, menu, form, laporan, sampai dengan membuat file setup (installer). Selain itu, buku ini juga dilengkapi CD berisikan source code pembuatan program sehingga lebih memudahkan Anda dalam berlatih. Biografi Penulis.
Junindar Lahir di Tanjung Pinang, 21 Juni 1982. Menyelesaikan
Program S1 pada jurusan Teknik Informatika di Sekolah Tinggi
Sains dan Teknologi Indonesia (ST-INTEN-Bandung). Senang
mengutak-atik computer yang berkaitan dengan bahasa
pemrograman. Keahlian, sedikit mengerti beberapa bahasa
pemrograman seperti : VB.Net, ASP.NET, VBA. Reporting :
Crystal Report (Under Program). Database : Access, paradox dan
SQL Server 2000. Simulation / Modeling Packages: Visio
Enterprise, Rational Rose dan Power Designer. Dan senang
bermain gitar, karena untuk bisa menjadi pemain gitar dan seorang
programmer sama-sama membutuhkan seni. Pada saat ini bekerja
di salah satu Perusahaan Swasta di BATAM sebagai Software
Development. Mempunyai moto hidup : “Jauh lebih baik
menjadi Orang Bodoh yang giat belajar, dari pada orang
Pintar yang tidak pernah mengimplementasikan ilmunya”.