Skip to main content

Cara Cepat CRUD Menggunakan VB.Net Database Ms.Access


Tutorial Visual Basic kali ini akan dibahas mengenai cara cepat membuat CRUD VB.Net menggunakan Database Ms.Access yang merupakan sebuah DBMS (Database Management System) bagian dari Microsoft Office ,jadi ketika melakukan instalasi Ms.Office secara lengkap otomatis Ms.Access pun akan terinstal.

Microsoft database access yang dapat digunakan adalah microsoft Office 2007, 2010, 2013, 2015 ataupun Office 2016.


Membuat Database


Nama Database : pos

Table : penjualan


Dengan kolom – kolom sebagai berikut :

1. kodeBarang > number (Primary Key)

2. namaBarang > text

3. jumlah > number

4. harga > currency

5. diskon >number

6. total > currency

Apa itu CRUD

CRUD adalah singkatan dari Create, Read, Update dan Delete. dengan memahami CRUD akan memeprmudah anda ketika membuat atau mengembangkan aplikasi yang lebih besar.

Menampilkan Data :


untuk menampilkan data kita perlu membuat sebuah prosedur untuk melakukan koneksi terlebih dahulu ke dalam database, kemudian nanti prosedur koneksi tersebut akan dipanggil juga ketika melakukan proses yang lain misalnya ketika melakukan penyimpanan data, ubah data, hapus data serta operasi - operasi query scalar.


Dim conn As OleDbConnection
Dim da As OleDbDataAdapter
Dim ds As DataSet
Dim db As String

Sub Koneksi()
db = My.Settings.posConnectionString
conn = New OleDbConnection(db)
If conn.State = ConnectionState.Closed Then conn.Open()
End Sub

Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Call tampilData()
End Sub

Public Sub tampilData()
Koneksi()
da = New OleDbDataAdapter("select * from penjualan", conn)
ds = New DataSet
ds.Clear()
da.Fill(ds, "penjualan")
dgvPenjualan.DataSource = (ds.Tables("penjualan"))
End Sub

Mencari Data

Pencarian data dilakukan pada textbox kode barang pada event keydown caranya dengan menginputkan kode barang yang di cari kemudian tombol enter ditekan,jika data ditemukan akan dimunculkan pada kolom inputan yang lain, proses pencarian data dapat digunakan juga untuk pemilihan data saat akan melakukan proses edit atau hapus. cara membuat event tersebut yaitu aktfikan terlebih dahulu textbox txtKodeBarang kemudian cari event keydown pada jendela event biasanya sebelah protperties (icon tanda petir) kemudian masukan coding berikut :

Private Sub KodeBarang_KeyDown(sender As System.Object, e As System.Windows.Forms.KeyEventArgs) Handles KodeBarangTextBox.KeyDown
If e.KeyCode = Keys.Enter Then
Call Koneksi()
Dim cmd As OleDbCommand
Dim RD As OleDbDataReader
Dim sqltampil As String
sqltampil = "Select * from penjualan  where KodeBarang=" & KodeBarangTextBox.Text & ""
cmd = New OleDbCommand(sqltampil, conn)
Debug.Print(sqltampil)
RD = cmd.ExecuteReader
RD.Read()
If Not RD.HasRows Then
MsgBox("Kode Barang Tidak ditemukan, Silahkan coba kode yang lain!")
NamaBarangTextBox.Focus()
Else
NamaBarangTextBox.Text = RD.Item("namaBarang")
HargaTextBox.Text = RD.Item("harga")
JumlahTextBox.Text = RD.Item("jumlah")
DiskonTextBox.Text = RD.Item("diskon")
TotalTextBox.Text = RD.Item("total")
NamaBarangTextBox.Focus()
End If
End If
End Sub

Menyimpan Data


Try
Call koneksi()
Dim cmd As OleDbCommand
Dim simpan As String = "insert into penjualan (kodeBarang,namaBarang,jumlah,harga,diskon,total) values ('" & txtKodeBarang.Text & "','" & txtNamaBarang.Text & "','" & txtJumlah.Text & "','" & txtHarga.Text & "','" & txtDiskon.Text & "','" & txtTotal.Text & "')"
cmd = New OleDbCommand(simpan, conn)
cmd.ExecuteNonQuery()
MsgBox("Data Berhasil disimpan")
Call tampildata()
Catch ex As Exception
MsgBox(ex.Message)
End Try

Mengubah Data


Private Sub btnUbah_Click(sender As System.Object, e As System.EventArgs) Handles btnUbah.Click
Call Koneksi()
Dim cmd As OleDbCommand
Dim edit As String = "update penjualan set namaBarang='" & NamaBarangTextBox.Text & "',jumlah='" & JumlahTextBox.Text & "',harga='" & HargaTextBox.Text & "',total='" & TotalTextBox.Text & "' where KodeBarang=" & KodeBarangTextBox.Text & ""
Debug.Print(edit)
cmd = New OleDbCommand(edit, conn)
cmd.ExecuteNonQuery()
MsgBox("Data Berhasil diubah")
Call tampilData()
End Sub

Hapus Data


Untuk mengubah data diperlukan dua langkah yaitu mencari data yang akan dihapus kemudian hapus data dengan menekan tombol hapus:

Private Sub btnHapus_Click(sender As System.Object, e As System.EventArgs) Handles btnHapus.Click
If (MessageBox.Show("Apakah data akan dihapus?", "Pertanyaan", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes) Then
Call Koneksi()
Dim cmd As OleDbCommand
Dim hapus As String = "delete from penjualan where kodeBarang=" & KodeBarangTextBox.Text & ""
cmd = New OleDbCommand(hapus, conn)
cmd.ExecuteNonQuery()
MsgBox("Data Berhasil dihapus")
Call tampilData()
Else
KodeBarangTextBox.Focus()
End If
End Sub


Button Hitung


Private Sub btnHitung_Click(sender As System.Object, e As System.EventArgs) Handles btnHitung.Click
Dim totalDiskon As Double
totalDiskon = CDbl(HargaTextBox.Text) * CDbl(DiskonTextBox.Text) / 100
Dim hargaAsli = CDbl(HargaTextBox.Text) - totalDiskon
TotalTextBox.Text = hargaAsli * CDbl(JumlahTextBox.Text)
End Sub

Scalar Query


Scalar Query digunakan untuk mendapatkan sebuah nilai / Single Value dari beberapa data yang ada pada tabel atau view (data yang digunakan dari beberapa tabel yang direlasikan). Scalar Query digunakan untuk mengeksekusi aggregate function (agregasi) diantaranya terdiri dari


AVG(field)
Fungsi ini digunakan untuk Mendapatkan rata-rata berdasarkan field pilihan.

MIN(field)
Fungsi ini digunakan untuk Mendapatkan nilai terendah pada field pilihan.

MAX(field)
Fungsi ini digunakan untuk Mendapatkan nilai tertinggi pada field pilihan.

SUM(field)
Fungsi ini digunakan untuk Mendapatkan nilai total pada field pilihan.

COUNT(field)
Fungsi ini digunakan untuk Mendapatkan total row terpilih yang field pilihan nilainya bukan null.

COUNT(*)
Fungsi ini digunakan untuk Mendapatkan total row terpilih.

COUNT(DISTINCT field)
Fungsi ini digunakan untuk Mendapatkan total row terpilih pada field pilihan tanpa mengulang nilai yang sama.

Contoh :

Berikut ini adalah contoh struktur query dari perintah-perintah diatas

Menghitung jumlah baris
select count(*) from namaTabel;

Menghitung nilai total
select sum(kolom) from (namaTabel)

Mencari nilai minimal / terkecil
select min(namaKolom) from namaTabel

Mencari nilai maksimal / terbesar
select max(namaKolom) from namaTabel

Mencari rata-rata
select min(namaKolom) from namaTabel


Implementasi Scalar Query VB.Net


Menghitung Total Bayar :

Public Function HitungtotalBayar()
Dim total As Double
Dim cmd As OleDbCommand
Dim sqlTotal As String = "select sum (total) from penjualan" 'where blablabla....=" & blablabla & "" //anda bisa menambahkan filter jika diperlukan misalnya filter berdasarkan no transaksi.
cmd = New OleDbCommand(sqlTotal, conn)
total = cmd.ExecuteScalar
Return total
End Function


Menghitung Jumlah Item :

Public Function HitungTotalItem()
Dim total As Double
Call Koneksi()
Dim cmd As OleDbCommand
Dim sqlTotalItem As String = "select sum(jumlah) from penjualan" 'where blablabla....=" & blablabla & "" //anda bisa menambahkan filter jika diperlukan misalnya filter berdasarkan no transaksi.
cmd = New OleDbCommand(sqlTotalItem, conn)
total = cmd.ExecuteScalar
Return total
End Function


Menghitung Jumlah Baris :


Public Function HitungTotalBaris()
Dim total As Double
Call Koneksi()
Dim cmd As OleDbCommand
Dim sqlTotalBaris As String = "select count(*) from penjualan" 'where blablabla....=" & blablabla & "" //anda bisa menambahkan filter jika diperlukan misalnya filter berdasarkan no transaksi.
cmd = New OleDbCommand(sqlTotalBaris, conn)
total = cmd.ExecuteScalar
Return total
End Function

Implementasi Pada Komponen

Pemanggilan dapat dilakukan saat even load / ketika menampilkan data atau setelah proses simpan/ubah/hapus sehingga fungsi diatas akan selalu mendapatkan nilai terbaru ketika proses tersebut di eksekusi.


lbTotalBayar.Text = HitungtotalBayar()
lbTotalItem.Text = HitungTotalItem()
lbTotalBaris.Text = HitungTotalBaris()

Comment Policy: Silahkan tuliskan komentar Anda yang sesuai dengan topik postingan halaman ini. Komentar yang berisi tautan tidak akan ditampilkan sebelum disetujui.
Buka Komentar
Tutup Komentar
-->