kapan diperlukannya tabel detail adalah pada saat melakukan transaksi yang mana ID harus diinputkan dua kali dalam sekali menekan tombol simpan
sebagaimana ilustrasi berikut dari PDM penjualan
yang mana terdapat 2 tabel yang pertama berfungsi menampung penyimpanan ke dalam master transaksi penjualan dan tabel kedua berfungsi untuk menampung penyimpanan item-item barang ke dalam detail transaksi
untuk lebih jelasnya ada pada form berikut
disini saya langsung menjelaskan bagaimana memasukkan data item barang ke dalam listview dan simpan ke database.
yang pertama simpan / tampilkan pada listview (pada button simpan) dan ini hanyalah cara untuk menampilkan data pada listview saja.
i = Val(NextLine.Text)
NextLine.Text = Str(Val(NextLine.Text) + 1)
ListView1.Items.Add("")
ListView1.Items(ListView1.Items.Count - 1).SubItems.Add("")
ListView1.Items(ListView1.Items.Count - 1).SubItems.Add("")
ListView1.Items(ListView1.Items.Count - 1).SubItems.Add("")
ListView1.Items(ListView1.Items.Count - 1).SubItems.Add("")
ListView1.Items(ListView1.Items.Count - 1).SubItems.Add("")
ListView1.Items(ListView1.Items.Count - 1).SubItems.Add("")
ListView1.Items(i).SubItems(0).Text = txtKodeIDList.Text
ListView1.Items(i).SubItems(1).Text = txtNamaBarang.Text
ListView1.Items(i).SubItems(2).Text = cbJumlah.Text
ListView1.Items(i).SubItems(3).Text = Format(txtHrgSatuan.Text, "##,##0")
ListView1.Items(i).SubItems(4).Text = Format((txtHrgSatuan.Text * cbJumlah.Text), "##,##0")
berikutnya adalah cara untuk menyimpan kedalam tabel, sekali lagi cara untuk menyimpan ke dalam tabel.
Try
dim no as Integer=0
Do while no <= ListView1.Items.Count-1 dim query, query2 as string query="Insert Into DetailPenjualan Values (" & _
"'" & txtKodeDetailFaktur.Text & "'" & _
",'" & txtKodeFaktur.Text & "'" & _
",'" & ListView1.Items(no).subItems(0).Text & "'" & _
",'" & ListView1.Items(no).subItems(1).Text & "'" & _
",'" & ListView1.Items(no).subItems(2).Text & "'" & _
",'" & ListView1.Items(no).subItems(3).Text & "'" & _
",'" & txtJnsBarang.Text & "'" & _
",'" & ListView1.Items(no).subItems(4).Text & "')"
da=New OracleDataAdapter(query,xcon)
da.Fill(ds,"DetPenj")
no+=1
loop
query2=="Insert Into Penjualan Values (" & _
"'" & txtKodeFaktur.Text & "'" & _
",'" & txtdisc.Text & "'" & _
",'" & txtStlhDisc.Text & "'" & _
",'" & txtGrandTotal.Text & "'" & _
",'" & txtBayar.Text & "'" & _
",'" & txtKembaliUang.Text & "'" & _
",'" & dateTimePicker1.Text & "'" & _
",'" & txtNamaCustomer.Text & "'" & _
da=New OracleDataAdapter(query2, xcon)
da.fill(ds,"Penj")
ds.Clear()
Syntax diatas belum termasuk create koneksi, auto increment ID dan pengecekan validasi
semoga bermanfaat dan selamat mencoba , salam
WAL
7 komentar:
Terima kasih pak atas infonya, sangat membatu sekali dan menjawab pertanyaan di benak saya selama ini tentang tabel detail. Tapi saya mau tanya lagi pak, maklum newbie, bedanya dengan tabel temporary itu apa ya pak? dan kapan diperlukan tabel temp. tersebut?
Bedanya antara database relational dengan yang tidak itu apa ya pak?
Trims,
Miftah Faridl
Temporary Table ya...biasanya banyak teman2 yang memakai temporary table ini hanya untuk menampung sementara saja jadi dia di isi tapi langsung di pindah datanya ke tabel yang sesuangguhnya, dan digunakan untuk memanipulasi redundansi ID (biasanya karena belum paham konsep transaksi-detail transaksi)
moga membantu
Berarti jika kita mengetahui konsep tabel detail, kita tidak perlu membuat temporary tabel, begitu ya pak? CMIIW :)
sebenarnya memang kita tidak perlu membuat temporary tabel cukup menggunakan detail transaksinya saja
dari semester kemaren, lagi nyari masalah tabel transaksi gak ketemu2.. lha disini ada..
salam blogwalking
hmsf08.blogspot.com
salam blogging
sama2 semoga membantu
Meninggalkan jejak :D
Posting Komentar