Tuesday, May 8, 2012

Cara Menampilkan Database ke Textbox VB6

Kali ini, Tutorial Cara menampikan Data dari Database ke Textbox VB 6 Beserta Tombol Navigasinya. disini saya menggunakan Database SQL SERVER 2000. langkah pertama yaitu membuat Database, anda bisa liat langkahnya di Cara Membuat Database, selanjutnya Membuat koneksi Database di VB6, bisa dilihat di Cara Membuat Koneksi VB6. setelah Koneksi Selesai, kita lanjut di formnya, Terlebih dahulu buatlah Design form dan susun text box, Ini contoh: Design form saya :





Dalam tutorial Kali ini, yang dibutuhkan hanyalah yang ada di kotak merah, Kotak merah besar berisi Textbox-Textboxnya, dan kotak merah kecil meruakan Tombol-Tombol Navigasi. Sebaiknya anda memberi nama pada setiap Textbox dan Tombol navigasi. Selanjutnya buka dialog code pada form tersebut.
Disini Saya membuat Form Barang, untuk menampikan data barang :

'Pertama Deklarasikan variable buka tabel
Dim RsBarang As New ADODB.Recordset  ' selama form terbuka

Buat Procedure menampilkan Data Contoh :

Sub tampil()
With RsBarang
'fungsi IIF ini berfungsi jika Field bernilai Null maka difanti dg ""
    txtkodeBrg.Text = IIf(IsNull(!KodeBrg), "", !KodeBrg)
    txtnamaBrg.Text = IIf(IsNull(!NamaBrg), "", !NamaBrg)
    txtHBeli.Text = IIf(IsNull(!HBeli), "", !HBeli)
    txtHjual.Text = IIf(IsNull(!Hjual), "", !Hjual)
    txtStok.Text = IIf(IsNull(!Stok), "", !Stok)
    cmbSatuan.Text = IIf(IsNull(!Satuan), "", !Satuan)
End With
End Sub

Penjelasan : RsBarang adalah variable buka tabel dengan Recordset.
Fungsi IIF(IsNull(!namafield), "", !namafield) digunakan Untuk mengecek Data pada field Jika data Null atau kosong pada field maka isi textbox digantikan atau diisikan dengan kosong atau "", jika tidak salah penulisan name field ada 3 jenis, tetapi yang saya ingat adalah dengan (!namafield) tanda seru kemudian namafield, itu menurut saya lebih mudah. Prinsipnya untuk mengisi "Nama textbox.Text"=diisikan dengan data dari Databse (!namafield). Selanjutnya pada Form Load:

 Private Sub Form_Load()
'Buka koneksi
If cn.State <> 1 Then KoneksiDB
'Buka tabel Barang
RsBarang.Open "Select * from Barang", cn, adOpenDynamic, adLockOptimistic
'tampilkan Data --> panggil Procedure
call tampil

End Sub

Penjelasan :  cn.state <> 1 digunaka untuk mengecek apakah koneksi telah terhubung jika tidak buka koneksi dengan memanggil procedure koneksi yaitu Procedur keneksi saya KoneksiDB. Cara membuka Tabel gunakan Variable Buka tebel RsBarang.Open "Select * from nama tabel", cn ("cn adalah nama variable koneksi "Public cn As New ADODB.Connection" di modul saat membuat koneksi), adOpenDynamic adalah tipe cursor dan adLockOptimistic dalah tipe Lock atau penguncian terhadap Recordset, Tunggu artike Tipe Cursor dan Tipe Lock. kemudian "call tampil", yaitu memanggil procedur Tampil data yang kita buat diatas. code selesai untuk tampildata, selanjutnya tombol navigasi :

Private Sub cmdFirst_Click() ' Kode untuk memindahkan cursor pada posisi awal
    RsBarang.MoveFirst
    tampil
End Sub

Private Sub cmdLast_Click() ' Kode untuk memindahkan cursor pada posisi Akhir
    RsBarang.MoveLast
    tampil
End Sub

Private Sub cmdNext_Click() ' Kode untuk memindahkan cursor maju satu kedepan
    RsBarang.MoveNext
    If RsBarang.EOF Then
        MsgBox "Data Paling Akhir"
        RsBarang.MoveLast
    End If
    tampil
End Sub

Private Sub cmdPrev_Click()  'Kode untuk memindahkan cursor Mundur satu keBelakang
    RsBarang.MovePrevious
    If RsBarang.BOF Then
        MsgBox "Data Paling Awal"
        RsBarang.MoveFirst
    End If
    tampil
End Sub

Penjelasan : Tombol Navigasi terdapat 4 tombol, Yaitu Tombol First, Next, Previous, dan Last. untuk tombol First dan Last, cukup diketik nama recordset. "movefirst" pertama "movelast" terakhir, kemudia panggil procedure tampil. sedangkan untuk Next dan Prev harus ditambahkan rsbarang.EOF / rsbarang . BOF maksudnya jika data berada pada paling awal ("BOF, Begining of File") maka munculkan pesan "Data Paling Awal. jika data berada pada paling akhir ("EOF, End of File") maka munculkan pesan "Data Paling Akhir" karena jika tidak akan terjadi error. Selesai

Tutorial Selanjutnya Cara Menampilkan Database ke Listview. Ikuti Terus Tutorial VB6, pada akhir Tutorial saya akan Upload project Tutorial lengkap.

UPDATE Note : ini dia source code Project tutorial lengkap dengan database, file ini adalah materi sewaktu saya kuliah, saya harap file nya benar yg ini. Untuk sekarang saya sudah dan tidak sedang menggunakan vb6 dan  mengupdate blog ini. jadi mohon maaf untuk tidak bisa menjawab pertanyaan yang disampaikan, semoga tutorial di blog ini bermanfaat bagi mereka yg sedang dan akan belajar pemrograman vb6.

Terima kasih Telah Berkunjung, mohon maaf jika ada kesalahan.
Semoga infonya bermanfaat,!!

21 comments:

  1. alow, mohon bantuannya, saya lagi nyoba bkin aplikasi kamus gitu saya sedikit kesulitan buat manggil data yang ada di database untuk ditampilkan di textbox,,ini skripnya:

    Private Sub cbterjemahindojep_Click()
    Dim strCon As ADODB.Connection

    Dim rs As New ADODB.Recordset


    If tbindo.Text = " " Then
    MsgBox "Kata kunci belum dimasukkan", vbCritical, "Info"
    tbindo.SetFocus

    Else


    SQL = "SELECT romaji, hiragana, katakana, kanji FROM kamusjepang" & " WHERE bindo LIKE '%" & tbindo.Text & "%' "

    Set rs = New ADODB.Recordset
    rs.Open SQL, strCon


    If rs.EOF And rs.BOF Then
    MsgBox "Maaf, kata yang anda cari tidak ada", vbCritical, "Info"
    Exit Sub

    Else

    tbromaji.Text = rs!romaji
    tbhiragana.Text = rs!hiragana
    tbkatakana.Text = rs!katakana
    tbkanji.Text = rs!kanji

    End If
    End If
    End Sub


    pas aku run, muncul pesan:
    Run-time error '3709':
    the connection can't be used to perform this operation. it is either closed or invalid in this context.


    tolong bantu sayah yah,,terima kasih,,

    ReplyDelete
  2. Hai! Semoga ini membantu.
    menurut saya kesalahan terdapat pada koneksi, silahkan lihat Koneksi Database VB6

    Saya telah buatkan Perbaikan kode diatas Silahkan Anda Download langsung di Sample Source
    khusus sesui kasus diatas. disaya itu bisa, Semaga itu membantu.

    ReplyDelete
    Replies
    1. sample sourcenya eror terus, gabisa didownload.
      Mohon bantuannya

      Delete
  3. makasih yah mas,, udah saya coba skrip yg mas kasih dan saya sesuaikan akhirnya bisa jalan programnya,,,

    ReplyDelete
  4. iya sama-sama, senang bisa membantu!

    ReplyDelete
  5. oh yah mas, ada yg mau saya tanyakan lagi,
    saya kan buat form terjemahannya ada 2, form pertama itu indo-jepang yg ke2 form jepang-indo, itu kan koneksi di modul open, pas saya run kmudian saya buka form indo-jep ataupun jep-indo terlebih dahulu kemudian saya ingin ganti form itu ada error mas, karena koneksinya msh open
    saya coba taruh program tutup koneksi di saat unload form di kedua form tersebut tetap saja msh error,,
    itu dimana yg harus saya perbaiki mas?
    mohon bantuannya,,

    ReplyDelete
  6. oh mas, sudah saya tambahin dikit di koneksinya,,sekarang udah jalan mulus programnya,,
    hehehe....

    ReplyDelete
  7. Baguslah kalau promramnya berjalan mulus.
    Semoga sukses dengan programnya!^^

    ReplyDelete
  8. mas, saya kan udah bkin setupnya trus pas di instal muncul notif gini:

    [Microsoft][ODBC Driver Manager] Data Source Name not found and no defult driver specified.

    padahal databasenya udah aku maskin di setup itu tpi masih error,,,mohon bantuannya mas itu salahnya dimana,,

    ReplyDelete
  9. Kamu menggunakan Koneksi ODBC/DSN.
    Pastikan membuat dulu Setup ODBC pada Windows.

    Error tersebut menunjukan tidak ada nama DSN atau ODBC Yang kamu panggil pada procedure Tersebut.

    Coba Cek ODBC. Caranya : Buka Control Panel > jika di win7 bisa langsung search ODBC, ODBC ada di Administrative tool. Klik ODBC, maka Muncul jendela ODBC Data Source administrator.

    pada tab User DSN > klik Add jika menggunakan SQL server 2000 pilih SQL Server klik Finish.

    Nah,, selanjutnya muncul jendela Create new Data Source ke SQL Server nah Pada Name diisi dengan nama yang akan dipanggil pada Procedure Koneksi kita > pada Server > isikan dengan nama server SQL / local(.), Selanjtnya Next > Next > Centang Change the Default database to : , nah di kotak itu pilih Database yang akan kamu gunakan > next > finish.

    nah pada Procedure Koneksi:
    Sub KoneksiDB()
    Dim Koneksi As String
    Koneksi = "DSN=ININAMAODBC/DSN"
    cn.Open Koneksi
    End Sub

    nah pada ININAMAODBC/DSN diganti dengan nama ODBC yg dibuat tadi.

    untuk lebih lengkap lihat Cara Membuat Koneksi SQL Server 2000 ke VB6

    Semoga Berhasil!! ^^

    ReplyDelete
  10. oh ya mas, kejadian itu pas saya instal di leptop tmen saya win7, klo saya instal di leptop saya bisa jalan mas,,,

    ReplyDelete
  11. oo begitu!

    iya jika ingin mengistall atau memindahkan program pada komputer lain, kamu harus Attach databasenya dan membuat kembali ODBCnya.!!

    ReplyDelete
  12. jadi klo mau diinstal ke komp laen sebelom nginstal programnya mesti nginstal driver odbc dulu mas ke komp tujuan?
    iksss,,,klo gitu jadi ribet yah mas,,,

    ReplyDelete
  13. mas mau tanya run time error 3709 itu selain terjadi karena konflik antar database. apa lagi y masalahnya ? mohon di bantu mas..
    saya menggunakan fingerprint untuk absensi dan ada runtime erorr 3709 mas trimakahsih..

    ReplyDelete
  14. mohon bantuannya,,, saya punya masalah di perhitungan DateADD di vb6..
    Contoh : Date : 01-01-2011, ditambahkan 3 Tahun 11 Bulan,, dan saya pengen menghasilkan 01-12-2014.. jika berkenan sintak perhitungan itu di kirim ke imel saya : fery_isniady@yahoo.co.id

    Terima kasih y bang...

    ReplyDelete
  15. mas mau tanya,saya kan mau membuat aplikasi,saya mau mengoneksikan database saya yang ada di in ternet dengan text box di aplikasi saya,bagaimana caranya?

    ReplyDelete
    Replies
    1. bisa menggunakan koneksi odbc, tinggal isi server atau hostingnya dengan ip adress database server atau domain db servernya,! hanya saja pastikan anda memiliki driver odbc dari database yang digunakan misalnya mysql, thx

      Delete
  16. permisi numpang tanya dan minta bantuannya,saya mau menampilkan data dari database ke dalam textbox tapi dengan acuannya combobox,jadi kalo saya mau ngerubah panggilannya cukup klik combobox lalu txtbox dibawahnya ikut kerubah itu gimana ya caranya?
    thx sebelumnay

    ReplyDelete
  17. gan tolong kirimkan source codenya ke email saya adhityaerdhin11@gmail.com terima kasih . :)

    ReplyDelete
  18. gan mau minta tolong.. sy sedang iseng2 buat program multimedia untuk pembelajaran program nya sdh oke tapi ada sedikit yg saya ingin rubah.. yaitu sewaktu saya memanggil database nya untuk di tampilkan di listbox.. saya ingin hanya 10 list data saja di tampilkan dan jika saya klik commad buton (next) maka dia akan menampilkan 10 list data berikut nya.. itu caranya gimana ya gan.. sebelumnya makasih banyak

    ReplyDelete
  19. Terima Kasih banyak, sebelumnya saya kesulitan menggunakan listview. akhirnya bisa juga..

    ReplyDelete