Senin, 24 Oktober 2016

Menyimpan Data ke Dalam 2 Tabel Menggunakan Ms. Access dan VB 2012

Sedikit mau share ilmu bukannya keminter, kemaren awal banget masuk kerja di interview sama senior IT kantor tentang pemrograman yang di pelajari. Ternyata sewaktu kuliah saya lebih cenderung ke program basis web daripada aplikasi yang di pakai perkantoran. Dan sayapun diminta untuk mempelajari Visual Basic secara otodidak yang penting program nya jalan tanpa error.

Waktu itu di minta buat bikin suatu transaksi dimana dalam 1 form terdapat 2 penyimpanan di tabel yang berbeda, yang nantinya akan dibuat sebagai laporan. Tabel pertama saya beri nama POHDR yang berarti Purchase Order Header, disini data yang disimpen inti datanya aja kaya kode transaksi, no.PO, tanggal PO. Dan sedangkan tabel satu lagi adalah PODTL yaitu Purchase Order Detail, nah disini isinya lebih detail dan kompleks seperti kode barang, nama barang, qty, satuan dll. Untuk penghubung kedua tabel ini saya menjadikan No. PO sebagai primary di PHDR dan No.PO di PODTL. Konsepnya disini adalah sebelum mengisi data PO saya sudah terlebih dahulu mengisi data Permohonan Pembelian Barang (PBO) yang tidak saya jelaskan disini. Yang nantinya tabel PBO dan tabel POHDR ini akan saling berelasi menggunakan kode PPB. Di form POHDR nanti akan ada combobox yang berisi kode PPB yang ketika kita pilih salah satu kode akan secara otomatis muncul di textbox dan kita tinggal mengisi data PHDR saja

Berikut coding untuk menyimpan kedua data yang berbeda tadi :
1. Import dulu beberapa modul yang diperlukan

Imports System.Data.OleDb
Public Class PengeluaranBrgGudang // Nama Form Kita
    Dim cmd As New OleDbCommand
    Dim adapt As New OleDbDataAdapter
    Dim dt As New DataTable
    Dim cnn As New ADODB.Connection
    Dim rs As New ADODB.Recordset
    Dim Koneksi, msql As String

Sebelum memulai program jangan lupa atur Libraries nya, caranya
Pilih PROJECT > Add Reference > COM > Type Libraries > Microsoft ActiveX Data Object 6.1 Library. Mungkin untuk Librarynya berbeda-beda ya.

2.Karena saya pake Binding source untuk tombol simpan saya menggunakan icon save yang ada di Item Binding Sourcenya. ini Kode untuk menyimpannya



Private Sub SaveToolStripButton_Click(sender As Object, e As EventArgs) Handles SaveToolStripButton.Click

        msql = "Select * from PengeluaranBarangGudangHDR where No_PPB='" & cboPPB.Text & "'"
        rs = cnn.Execute(msql)
        msql = "Select * from PengeluaranBarangGudangDTL where No_PPB='" & cboPPB.Text & "'"
        rs = cnn.Execute(msql)
        If rs.EOF Then
            msql = "Insert Into PengeluaranBarangGudangHDR(No_PPB,Kode_Transaksi,Tanggal_Keluar)" & _
            " values('" & cboPPB.Text & "','" & txtkode.Text & "','" & tglkeluar.Value & "')"
            cnn.Execute(msql)
            msql = "Insert Into PengeluaranBarangGudangDTL(No_PPB,kode_barang,nama_barang,qty,harga_satuan,jumlah)" & _
            " values('" & cboPPB.Text & "','" & txtkodebar.Text & "','" & txtnamabar.Text & "','" & txtqty.Text & "','" & txthargasatuan.Text & "','" & txtjumlah.Text & "')"
            cnn.Execute(msql)
            MsgBox("Success !")
        End If
    End Sub


Keterangan :

  • txt itu merupakan textfield untuk mengisi data yang akan kita simpan. Di rename sesuai data yang akan diinput
  • cbo itu adalah combobox untuk menampilkan kode PO tadi
  • tgl itu adalah tanggal, kita buat value supaya saat tersimpan di ms. access angka-angka tersebut dapat terbaca dan tersusun sesuai format yang sudah kita atur di Ms. Access.
Sekian sharingnya semoga bermanfaat, Tengkyuuuuu

 

2 komentar:

  1. Komentar ini telah dihapus oleh pengarang.

    BalasHapus
  2. Terima kasih byk, artikelnya bermanfaat sekali. Tugas saya yg mandek, jd bisa lanjut.

    BalasHapus