Untuk menampilkan data ke dalam datagridview/listview/combobox atau menginginkan data yang di-double click dari grid tampil ke textbox, biasanya anda menulis sintak sql query-nya di coding dan menyimpannya dalam variable, contoh saya punya query yang cukup panjang seperti dibawah ini:
Dim v_sql As String
v_sql = "SELECT A.kd_cab, D.cabang, A.user_id, "
+ _
"A.user_name,
A.dept_id, B.dept_name, A.jabatan_id, " +_
"C.jabatan_name,
A.descr" + _
"FROM
dbo.MS_USER AS A INNER JOIN dbo.MS_DEPARTEMEN " + _
"AS B ON
A.dept_id = B.dept_id INNER JOIN dbo.MS_JABATAN " + _
"AS C ON
A.jabatan_id = C.jabatan_id AND B.dept_id = C.dept_id " + _
"INNER
Join dbo.im_branch AS D ON A.kd_cab = D.kd_cab" +_
"WHERE
(A.kd_cab = '" + TxtCabang.Text + "') AND
" + _
"(A.dept_id
= '" + TxtDepartemen.Text +"') AND
" + _
"(A.rec_status = 1)"
Yang membuat lama adalah melakukan formating-nya kan? anda harus menambahkan kutip dua (") lalu plus (+) lalu Underscore (_) lalu Enter dan seterusnya.. banyangkan jika sql query-nya lebih panjang lagi?
bisa 1/2 jam anda melakukan hal yang sama. sql query diatas memerlukan parameter/kondisi yaitu : kode cabang=TextCabang.Text, kode departemen=TextDepartemen.Text. Salah satu cara untuk mengatasi ini adalah membuat VIEW maupun STORED PROCEDURE di Database-nya, sehingga pemanggilan di program/coding akan sangat pendek. Contoh anda telah membuat view dan stored procedure :
1.VIEWbisa 1/2 jam anda melakukan hal yang sama. sql query diatas memerlukan parameter/kondisi yaitu : kode cabang=TextCabang.Text, kode departemen=TextDepartemen.Text. Salah satu cara untuk mengatasi ini adalah membuat VIEW maupun STORED PROCEDURE di Database-nya, sehingga pemanggilan di program/coding akan sangat pendek. Contoh anda telah membuat view dan stored procedure :
Dim v_sql As String
v_sql = "SELECT * FROM (SELECT * FROM VIEW_DATA) AS DJIESOFT
WHERE kd_cab = '" + TxtCabang.Text + "'
AND dept_id = '" + TxtDepartemen.Text + "'"
2.STORED PROCEDURE
Dim v_sql As String
v_sql = "EXEC SP_DATA '" + TxtCabang.Text + "','" + TxtDepartemen.Text + "'"
Selain dua cara tersebut, saya mempunyai cara yang simple yaitu Copy-Paste sql query yang panjang itu langsung ke sebuah textbox kosong dengan property .MultiLine=True , .Visible=False (agar tidak tampil di form) dan .Name=TxtSQL.Text. Jadi Anda tidak perlu membuat VIEW atau STORED PROCEDURE lagi.
Setelah itu saya ubah bagian yang ingin dijadikan parameter/kriteria dengan format string yang sudah saya jelaskan di-SINI. Untuk memasukan ke variable-nya pun sangat pendek/mudah, contoh :
Dim v_sql As String
v_sql = String.Format(TxtSQL.Text, TxtCabang.Text, TxtDepartemen.Text)
Semoga apa yang saya tulis dapat bermanfaat untuk anda dalam programming Visual basic.NET khusunya. Terimakasih
tips mempercepat membuat coding vbnet, cara mudah memaut sintak di bent, tutorial vbnet, dasar dasar vbnet, solusi untuk sql query yang panjang, panduan mudah belajar sql vbnet ,solusi menulis sql query yang panjang pada coding vbnet


permisi gan, maf ya saya mau nanya n perlu bantuan untuk belajar. bagaimana sintax supaya klik data di datagridview lalu muncul semua data ke textbox, combobox, dll tp form nya terpisah.
BalasHapuscontoh : kita mau edit data. kita tinggal klik ja data yang ada di datagridview maka semua data akan muncul di form terpisah dan yang telah kita sediakan. mohon bantuan banget. trmksh sblmnya
oya, low bisa contohnya di kirim ja ke emailku toni-setiawan@hotmail.co.id
mksh bgt gan n di tunggu bntuannya
contoh sederhanya seperti ini :
HapusPrivate Sub DataGridView1_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellClick
Dim dgv As DataGridView = TryCast(sender, DataGridView)
With Form2
.TextBox1.Text = dgv.CurrentRow.Cells(0).Value
.ComboBox1.Text = dgv.CurrentRow.Cells(1).Value
End With
End Sub
selanjutnya tinggal sesuaikan saja dengan sikon disana ok
Truss kalo untuk nampilin form2 nya dengan klik button edit gimana mas??
Hapuscontoh diatas kan tnpa klik button..
bentar mas saya kurang faham nih, contoh di atas kan gmana caranya nulis/bikin sql dengan cepat, nah klo masalah nampilin form2 ya beda lagi ceritanya. hehehe
Hapusklo untuk nampilih form di button_edit_click() misalnya:
dim v_form as new form1
dim v_form2 as new from2
v_form.show
v_form.show
gitu bukan? atau maksudnya apa?
Saya nymbung pertnyaan dari anak bangsa indonesia mas..
Hapussaya pinginnya, ketika saya klik 1x salah satu cell pada datadrid, trus saya tekan button edit, maka akan tampil form edit, dan textbox pada form edit sudah terisi secara otomatis sesuai dengan cell yang saya klik paad datagrid..
gmn donk mas..
ia makasih mas atas penjelasan, skrg dah ketemu solusinya.
BalasHapusmaaf jg ya pertanyaan nya gk sesuai dengan judul soalxa butuh bgt.
thank very much
ok
HapusMas padji.. saya kan mau buat sistem perpustakaan, tapi kasusnya seperti ini,
BalasHapussaya ada tabel master:
1.tblbuku_pelajaran [kd_bukupel, judul, dst...]
2.tblbuku_umum [kd_bukuumum, judul, dst...]
nah, gimana buat tabel detailnya mas..??
Trus, saya kan mau nampilin gabungan keduanya misalnya
hasilnya seperti ini :
kd_buku | judul | jenis_buku |
1 abc pelajaran
2 xyx umum
mohon pencerahannya mas..
maaf sabtu minggu libu, jadi baru kebuka sekarang.
Hapussebenarnya bisa dijadikan 1 table
tbl_buku (kd_buku, type, dst...)
contoh :
abc, P, dst...
xyx umum, U,dst ..
P=Pelajaran, U=Umum
klo tetap dengan dua table, jika ingin menampilkannya pake UNION , contoh :
SELECT kd_bukupel AS kd_buku, judul ,jenis_buku FROM tblbuku_pelajaran
UNION
SELECT kd_bukuumum AS kd_buku, judul ,jenis_buku FROM tblbuku_umum
oh gitu mas..
Hapusjdi yg sebaikya dibuat satu tabel aja atau gimana mas??
kalo satu tabel aja, ntar pada transaksi peminjaman nya bisa itu mas, and ribet gak??
soal nya, kalo buku pelajaran lama pinjamnya max 1 tahun untuk semua bku pelajaran, kalo buku umum lama pinjamnya max 3 hari hanya untuk 2 buku..
kalo dibuat 1 tbel aja sperti kata mas bisa itu yaa??
klo hemat saya 1 table, kan yg membedakan ada field type (P=Pelajaran, U=Umum) jadi semua tidak akan tertukar.
Hapustrus pas ditable transaksi peminjamnya pun tidak riber karena cukup join ke 1 table aja,
klo dua table nnti joinnya agak ribet, jadi harus cek kedua table, kecuali memang di transaksinya ada dua filed kode lagi... tapi itu tidak efisien
makasih ya mas..
Hapussangat membantu sekali..
moga sukses selalu..
oya, satu lagi supaya form child tampil sekali gimana mas?
yg kyak BringToFront itu, kyk mana penggunaanya..
mkasih mas sebelumnya
menu_1_click()
Hapusif frm_satu.Visible = true then
frm_satu.BringToFront
else
frm_satu.Show
end if