Showing posts with label Visual Basic Programming. Show all posts
Showing posts with label Visual Basic Programming. Show all posts

Database Application Using SQL Statement in Visual Basic 6

Friday, May 9, 2008

Pada tutorial kali ini saya akan menjelaskan bagaimana cara memanipulasi data menggunakan SQL Statement di Visual Basic. Tujuan tutorial ini adalah agar pembaca bisa memahami bagaimana cara menggunakan SQL Statement untuk memanipulasi data di Visual Basic oleh karena itu tutorial ini dibuat se-jelas dan se-sederhana mungkin tetapi tidak mengesampingkan pemahaman pokok tentang operasi DML dengan SQL Statement.



  • Buat sebuah File Database menggunakan Microsoft Access, simpan di c:\Sample dengan nama DBSample.mdb

  • Buat sebuah table dengan nama Products dengan struktur sebagai berikut :


    • ProductID Text(20)

    • Description Text(50)

    • Price number(Double)


  • Masuk ke Visual Basic, buat sebuah project Standard.EXE simpan di c:\Sample dengan nama SQLDML.vbp

  • Tambahkan tiga buah Textbox : txtPid, txtDesc, dan txtPrice

  • Tambahkan tiga buah Label : lblPid, lblDesc, dan lblPrice

  • Tambahkan tiga buah Button : cmdSave, cmdUpdate, cmdDelete, cmdSearch

  • Tambahkan lagi empat buah button untuk navigasi record : cmdFirst, cmdPrev, cmdNext, cmdLast



  • Application Interface


    Koneksi dengan Database MS Access



  • Masuk code editor, deklarasikan dua buah variabel untuk koneksi Database dan Recordset



  • Dim AccessConn As New ADODB.Connection

    Dim rsProduct As New ADODB.Recordset


  • Dobel klik Form1, tambahkan kode program berikut :



  • Set AccessConn = New ADODB.Connection

    AccessConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _

    "Data Source=" & App.Path & "\DBSample.mdb;Persist Security Info=False"


    'kode program App.Path akan menghasilkan path dari file .exe aplikasi ini

    'yaitu C:\Sample



    'buka koneksi

    AccessConn.Open



    SQLStr = "select * from products"



    Set rsProduct = New ADODB.Recordset

    rsProduct.Open SQLStr, AccessConn, adOpenDynamic, adLockOptimistic, adCmdText




    Menambah Data dengan SQL Insert Statement



  • Dobel klik button cmdSave, tambahkan kode program berikut :



  • Dim SQLStr As String

    'deklarasi variabel SQLStr

    'yang nantinya akan digunakan untuk perintah SQL



    SQLStr = "insert into products (productid,description,price) " & _

    "values('" & txtPid & "','" & txtDesc & "','" & txtPrice & "')"



    'Execute SQL Command

    AccessConn.Execute SQLStr, , cmdtypetext



    'tampilkan pesan

    MsgBox "Data telah tersimpan", vbInformation, "Informasi"


    'refresh dataset rsproduct agar record baru langsung terlihat

    rsProduct.Requery



    'clear textbox

    txtPid = ""

    txtDesc = ""

    txtPrice = ""

    txtPid.SetFocus



    Retrieving data in Visual Basic using SQL Select Statement

    Mencari Data dengan SQL Select Statement


    Karena SQL Select Statement menghasilkan/mengembalikan satu atau lebih record maka perlu dideklarasikan sebuah variabel recordset baru yaitu rsproductsCari untuk menampung recordset hasil query pencarian



  • Dobel klik button cmdSearch, tambahkan kode Program berikut :




  • Dim SQLStr As String

    Dim rsproductsCari As New ADODB.Recordset



    'mencari product berdasarkan productid

    SQLStr = "select * from products where productid = '" & txtPid & "'"



    Set rsproductsCari = New ADODB.Recordset

    rsproductsCari.Open SQLStr, AccessConn, adOpenDynamic, adLockOptimistic, adCmdText



    If Not rsproductsCari.BOF And Not rsproductsCari.EOF Then

    'jika data ada, tampilkan record pada textbox

         txtPid = rsproductsCari!productid

         txtDesc = rsproductsCari!Description

         txtPrice = rsproductsCari!price

    Else

    'jika tidak ada, tampilkan pesan

         MsgBox "Data tidak ditemukan", vbInformation, "Informasi"

         'clear textbox

         txtPid = ""

         txtDesc = ""

         txtPrice = ""

         txtPid.SetFocus

    End If


    Search Data in Visual Basic using SQL Select Statement


    Mengedit Data dengan SQL Update Statement


  • Dobel klik button cmdUpdate, tambahkan kode Program berikut :




  • Dim SQLStr As String



    SQLStr = "update products set description='" & txtDesc & "'," & _

    "price='" & txtPrice & "' where productid='" & txtPid & "'"



    Set rsProduct = AccessConn.Execute(SQLStr, , cmdtypetext)



    'refresh dataset rsproduct agar record baru langsung terlihat

    rsProduct.Requery



    'tampilkan pesan

    MsgBox "Perubahan telah tersimpan", vbInformation, "Informasi"



    'clear textbox

    txtPid = ""

    txtDesc = ""

    txtPrice = ""

    txtPid.SetFocus


    Update Data in Visual Basic using SQL Update Statement in Visual Basic

    Menghapus Data dengan SQL Delete Statement


  • Dobel klik button cmdDelete, tambahkan kode Program berikut :




  • Dim SQLStr As String

    Dim msgresult As Byte

    'deklarasi variabel msgresult

    'digunakan untuk menangkap result dari pesan konfirmasi delete



    msgresult = MsgBox("Hapus Data produk " & txtPid, vbYesNo + vbQuestion, "Confirm")



    If msgresult = vbYes Then

         SQLStr = "delete from products where productid='" & txtPid & "'"

         Set rsProduct = AccessConn.Execute(SQLStr, , cmdtypetext)

         'refresh dataset rsproduct agar record baru langsung terlihat

         rsProduct.Requery


         'clear textbox

         txtPid = ""

         txtDesc = ""

         txtPrice = ""

         txtPid.SetFocus

    End If


    Delete Data in Visual Basic using SQL Delete Statement


    Navigasi Record Dengan Kode Program


    Ini adalah kode Program untuk navigasi record ke posisi record pertama.


  • Dobel klik button cmdFirst, tambahkan kode Program berikut :



  • On Error Resume Next

    rsProduct.MoveFirst

         'menampilkan data

         txtPid = rsProduct!productid

         txtDesc = rsProduct!Description

         txtPrice = rsProduct!price





    Kode Program untuk navigasi record ke posisi record sebelumnya. jika record sudah di posisi record pertama, maka pointer tetap akan diarahkan ke record pertama. kamu bisa ganti kode Program rsproduct.MoveFirst dengan rsproduct.MoveLast agar navigasi kembali ke record terakhir setelah berada pada record pertama.


  • Dobel klik button cmdPrev, tambahkan kode Program berikut :



  • On Error Resume Next

    rsProduct.MovePrevious



    If rsProduct.BOF Then

         rsProduct.MoveFirst

    End If

         'menampilkan data

         txtPid = rsProduct!productid

         txtDesc = rsProduct!Description

         txtPrice = rsProduct!price



    Kode Program untuk navigasi record ke posisi record berikutnya. jika record sudah di posisi record terakhir, maka pointer tetap akan diarahkan ke record terakhir. kamu bisa ganti kode Program rsproduct.MoveLast dengan rsproduct.MoveFirst agar navigasi kembali ke record pertama setelah berada pada record terakhir.


  • Dobel klik button cmdNext, tambahkan kode Program berikut :



  • On Error Resume Next

    rsProduct.MoveNext



    If rsProduct.EOF Then

         rsProduct.MoveLast

    End If

         'menampilkan data

         txtPid = rsProduct!productid

         txtDesc = rsProduct!Description

         txtPrice = rsProduct!price



    Kode Program untuk navigasi record ke posisi record terakhir.



  • Dobel klik button cmdLast, tambahkan kode Program berikut :



  • On Error Resume Next

    rsProduct.MoveLast

         'menampilkan data

         txtPid = rsProduct!productid

         txtDesc = rsProduct!Description

         txtPrice = rsProduct!price



    Kamu bisa Download Source Code Aplikasi ini disini. Semoga bermanfaat

    Beberapa Cara Untuk Menghubungkan Visual Basic Dengan Database MS SQL Server

    Monday, May 5, 2008

    Ada beberapa metode untuk menghubungkan Visual Basic dengan Database MS SQL Server saya akan memberikan penjelasan 2 metode diantaranya yaitu koneksi dengan menggunakan komponen DataEnvironment dan koneksi dengan menggunakan kode Program. untuk tutorial ini saya menggunakan Visual Basic 6 dan MS SQL Server 2000.



    1. Koneksi menggunakan DataEnvironment




    1. Buat Project Standard EXE

    2. Klik menu Project | Add Data Environment, maka akan ditampilkan jendela Data Environment seperti ini :




    3. Data Environment

    4. Untuk membangun koneksi dengan Database SQL Server, Klik kanan objek Connection1 kemudian pilih Properties maka akan muncul jendela Data Link Properties.

    5. Pada jendela Data Link Properties pilih driver untuk koneksi ke MS SQL Server, yaitu Microsoft OLE DB Provider for SQL Server. kemudian klik Next

    6. Isi dengan nama server MS SQL Server kamu pada textbox "Select or enter a server name" (nama server adalah nama komputer kamu)

    7. Pilih radio button "use a specific username and password" pada bagian 2.Enter information to log on to the server.

    8. pada textbox username dan password isi dengan username dan password yang terdaftar di Database SQL Server kamu misalnya "sa" (user sa defaultnya tidak memiliki password). pada contoh ini saya menggunakan username 'yanadoe' dengan password 'bebas'.

    9. sebagai tambahan, user sa adalah user yang mempunyai kewenangan penuh terhadap system di MS SQL Server atau disebut system administrator. user ini dibuat secara otomatis oleh MS SQL Server ketika proses instalasi.

    10. setelah kamu lakukan langkah diatas, centang Checkbox "Allow saving password" agar kamu tidak perlu menginputkan lagi username dan password setiap kali aplikasi akan dijalankan.

    11. Pilih database Northwind pada textbox "Select the database on the server". klik tombol Test Connection untuk mengetahui apakah koneksi sudah berhasil atau tidak jika sukses klik tombol OK untuk menutup window dialog Data Link Properties


    Data Link Properties

    Setelah tahap diatas, koneksi dari Visual Basic ke Database MS SQL Server sudah terbentuk selanjutnya untuk mengambil data dari sebuah table di Database pertama kamu harus menambahkan sebuah Command pada DataEnvironment, Caranya sebagai berikut :



    Mengambil Data dari Database



    1. Klik kanan pada jendela DataEnvironment, pilih Add Command. maka akan dibuat sebuah object dengan nama Command1


    2. Klik kanan Command1, pilih Properties. setelah muncul jendela Command1 Properties, pilih Table pada bagian Database Object, dan pilih sebuah table pada bagian Object Name misalnya table Customers. kemudian klik OK


    Database Object

    Menampilkan Data dengan DataGrid



    1. Pertama kamu harus menambahkan komponen DataGrid pada ToolBox caranya : klik menu Project | Components, pada jendela Components pilih Microsoft DataGrid Control 6.0

    2. Setelah objek DataGrid ditambahkan pada Toolbox, klik komponen DataGrid tersebut kemudian Click and Drag pada Form1.

    3. Set Properties DataSource menjadi DataEnvironment1, dan Properties DataMember menjadi Command1

    4. Klik kanan pada DataGrid, pilih Retrieve Fields klik OK pada Message Dialog yang muncul

    5. Data pada table tidak akan langsung ditampilkan pada saat Design, untuk melihat datanya kamu harus Run Program dengan menekan F5.


    DataEnvironment Final


    2. Koneksi Menggunakan Kode Program



    Pada metode yang kedua ini kita tidak akan menggunakan Komponen Visual untuk mengakses Database SQL Server dari Visual Basic. kita akan menggunakan kode program untuk melakukannya. inilah langkah-langkahnya :



    1. Masuk ke Code Editor

    2. Deklarasikan variabel untuk koneksi ke Database SQL Server


    3. Public SQLServerConn As ADODB.Connection



    4. Karena koneksi ke Database harus sudah tersedia ketika aplikasi akan dijalankan, maka kita harus menambahkan kode Program pada event OnLoad Form1. Caranya dobel klik Form1, kemudian tambahkan kode Program dibawah ini :



      • Set variable SQLServerConn sebagai sebuah ADO Database Connection.

      • Set SQLServerConn = New ADODB.Connection



      • Set Parameter String Koneksi variable SQLServerConn agar terhubung dengan Database SQL Server




      • SQLServerConn.ConnectionString = "Provider=SQLOLEDB.1;" & _

        "Password=bebas;Persist Security Info=false;" & _

        "User ID=yanadoe;Initial Catalog=Northwind;Data Source=siberat"



      • Buka koneksi

      • SQLServerConn.Open





    Coba kamu Stop Service Database SQL Server menggunakan SQL Server Service Manager, dan Run Porgram, maka akan tampil Error message seperti ini :


    Connection Error Message

    Kita akan menambahkan kode program untuk memeriksa status Service Database SQL Server apakah berjalan atau tidak. jika tidak maka akan ditampilkan error message versi kita jika service Database SQL Server tidak berjalan. untuk melakukannya, gunakan kode program dibawah ini :


    On Error Resume Next



    'memeriksa status Database

    'pesan error yang akan muncul jika Database SQL Server

    'dalam keadaan mati (service dalam status stop)

    If Err.Number = -2147467259 Then

       MsgBox "Tidak dapat menghubungi Database SQL Server." & vbCrLf & _

       "Pastikan Service Database SQL Server sudah berjalan", vbCritical , "Koneksi Gagal"

       End     'Tutup Aplikasi

    End If


    SQL Server Database Connection Failed

    Tips : Kamu bisa gunakan komponen ADODC untuk mendapatkan parameter ConnectionString seperti diatas, caranya sebagai berikut:

    • tempatkan sebuah komponen ADODC pada form

    • Klik kanan, pilih ADODC Properties, Klik Build, akan muncul jendela Property Pages.

    • Lakukan langkah 4 s/d langkah 10 pada Koneksi menggunakan DataEnvironment diatas. setelah itu Copy string koneksi yang ada bagian "Use Connection String" jendela Property Pages. metode ini bisa juga digunakan untuk mendapatkan parameter ConnectionString untuk jenis Database yang lain




    Itulah Tutorial singkat Pemrograman Visual Basic untuk menghubungkan Visual Basic dengan Database SQL Server. Semoga bermanfaat.

    Spelling Money Amount using Visual Basic Script

    Saturday, March 22, 2008


    Scroll To English Version

    Membilang Nominal Uang Menggunakan Script Visual Basic



    Untuk aplikasi yang menangani penjumlahan uang seperti aplikasi accounting, aplikasi penjualan dan sebagainya akan lebih menarik jika ditambahkan 'fitur' untuk mengeja nilai nominal uang misalnya untuk jumlah uang 1525500 aplikasi akan mengeja-nya sebagai berikut :



    "Satu Juta Lima Ratus Dua Puluh Lima Ribu Lima Ratus"


    Disini aku akan sharing sebuah script visual basic untuk melakukan hal tersebut. biar lebih jelas aku akan buat sebuah aplikasi sederhana dengan Visual Basic, berikut ini langkah-langkahnya :




    • Masuk ke Visual Basic, buat sebuah project standar.EXE

    • tambahkan sebuah komponen CommandButton, sebuah TextBox dan beberapa label, sehingga tampilannya seperti gambar berikut ini :





    • buat sebuah function dengan nama SpellAmount(), sebagai berikut :




    Function SpellAmount(Amount As Currency) As String

    Dim satuan As Variant

    satuan = Array("", "Satu", "Dua", "Tiga", "Empat", "Lima", "Enam", "Tujuh", "Delapan", "Sembilan", "Sepuluh", "Sebelas")



    Select Case Amount

    Case 0 To 11

    SpellAmount = " " & satuan(Fix(Amount))

    Case 12 To 19

    SpellAmount = SpellAmount(Amount Mod 10) & " Belas"

    Case 20 To 99

    SpellAmount = SpellAmount(Fix(Amount / 10)) & " Puluh" + SpellAmount(Amount Mod 10)



    Case 100 To 199

    SpellAmount = " Seratus" & SpellAmount(Amount - 100)

    Case 200 To 999

    SpellAmount = SpellAmount(Fix(Amount / 100)) & " Ratus" + SpellAmount(Amount Mod 100)



    Case 1000 To 1999

    SpellAmount = " Seribu" & SpellAmount(Amount - 1000)

    Case 2000 To 999999

    SpellAmount = SpellAmount(Fix(Amount / 1000)) & " Ribu" + SpellAmount(Amount Mod 1000)



    Case 1000000 To 999999999

    SpellAmount = SpellAmount(Fix(Amount / 1000000)) & " Juta" & SpellAmount(Amount Mod 1000000)

    Case 1000000000 To 2147482999

    SpellAmount = SpellAmount(Fix(Amount / 1000000000)) & " Milyar" + SpellAmount(Amount Mod 1000000000)


    Case Else

    SpellAmount = "Tidak dapat menghitung"

    End Select



    End Function



    • dobel klik komponen CommandButton, tambahkan kode perintah berikut :




    Private Sub Command1_Click()

    Dim value As Variant



    value = SpellAmount(Text1.Text)

    Label1.Caption = "Terbilang : " & Chr(10) & value



    End Sub


    Tampilan pada saat Runtime :





    Function ini akan mengeja/membilang nilai nominal dengan range 1 - 2147482999. Untuk kondisi Amount > 2147482999, aku gunakan string kalimat "Tidak dapat membilang" karena jika tidak aplikasi akan mengalami Error karena terjadi overflow (nilai diluar jangkauan dari tipe data yang digunakan). tetapi walaupun begitu menurutku script ini sudah cukup untuk disertakan dalam sebuah aplikasi penjualan. semoga bermanfaat.













    Scroll To Indonesia Version


    For application that handle arithmetic operation (for money) such as accounting application, sales application would be more interesting if you add 'Spelling feature' for Amount of money. For example for the amounts of moneys of 1525500 the application will spell it as follows :




    "One Million Five Hundreds Twenty Five Thousands Five Hundreds"



    Here I will share a visual basic script to do that. to be clearer I will make a simple application with Visual Basic, following is the steps :




    • Make a new Standar.EXE Project in Visual Basic

    • Add a CommandButton, TextBox and some label, so the appearance will be like this :






    • Create a function SpellAmount(), as follows :



    Function SpellAmount(Amount As Currency) As String

    Dim unit As Variant

    unit = Array("", "One", "Two", "Three", "Four", "Five", "Six", "Seven", _

    "Eight", "Nine", "Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", _

    "Sixteen", "Seventeen", "Eighteen", "Nineteen", "Twenty")



    Select Case Amount


    Case 0 To 20

    SpellAmount = " " & unit(Fix(Amount))



    Case 21 To 29

    SpellAmount = " Twenty" & SpellAmount(Amount Mod 10)



    Case 30 To 30

    SpellAmount = " Thirty"



    Case 31 To 39

    SpellAmount = " Thirty" & SpellAmount(Amount Mod 10)



    Case 40 To 49

    SpellAmount = " Fourty" & SpellAmount(Amount Mod 10)



    Case 50 To 50

    SpellAmount = " Fifty"



    Case 51 To 59

    SpellAmount = " Fifty" & SpellAmount(Amount Mod 10)


    Case 60 To 79

    SpellAmount = SpellAmount(Fix(Amount / 10)) & "ty" & SpellAmount(Amount Mod 10)



    Case 80 To 89

    SpellAmount = SpellAmount(Fix(Amount / 10)) & "y" & SpellAmount(Amount Mod 10)



    Case 90 To 99

    SpellAmount = SpellAmount(Fix(Amount / 10)) & "ty" & SpellAmount(Amount Mod 10)




    Case 100 To 999

    SpellAmount = SpellAmount(Fix(Amount / 100)) & " Hundreds" & SpellAmount(Amount Mod 100)



    Case 1000 To 999999

    SpellAmount = SpellAmount(Fix(Amount / 1000)) & " Thousand" & SpellAmount(Amount Mod 1000)



    Case 1000000 To 999999999

    SpellAmount = SpellAmount(Fix(Amount / 1000000)) & " Million" & SpellAmount(Amount Mod 1000000)



    Case 1000000000 To 2147482999

    SpellAmount = SpellAmount(Fix(Amount / 1000000000)) & " Billion" & SpellAmount(Amount Mod 1000000000)



    Case Else

    SpellAmount = "Cannot Spelling"

    End Select



    End Function



    • Double Click on CommandButton component, add the following code :




    Private Sub Command1_Click()

    Dim value As Variant



    value = SpellAmount(Text1.Text)

    Label1.Caption = "Amount : " & Chr(10) & value



    End Sub


    Runtime Screenshot :





    This function will spell the value within range 1 - 2147482999. For the condition of Amount more than 2147482999, i use "Cannot Spelling" string
    for the return of the function because if i don't use it, the application will experience an
    overflow Error (value out of reach). Although it was so,  but i think this
    script is powerfull enough to use in a sales application software or accounting
    aplication.


    Visual Basic - Menulis data ke Fixed Width Text File

    Monday, February 18, 2008

    scroll to Indonesian Version


    Fixed-Width text file sometimes we needed as temporary media for transfering data from one database type to another. For example you wish to transfer data from MySQL database at your office computer to your Microsoft Access database at your home PC for back up or certain purpose. before you tranfering the data to microsoft access database, first you need to export it to text file format with Fixed-Width type and then import it from your microsoft access database.



    the reason why i choose this type of text file is because it is not only more simple, but Fixed-Width text file are will be more easy if we will export it to other file format for example to microsoft excel file format.



    the following is a short tutorial about how to writing data to fixed-width text file in visual basic 6 :




    • Create a database in Microsoft access named sales.mdb and create a table inside em named tbarang and fill the table with data like in my Belajar syntax dasar statement sql article.

    • Step into Visual Basic, create a new project with Standard EXE type.

    • Add a CommandButton, and a Label component.

    • Change Caption property of Command1 component (CommandButton component) to "Export to Fixed Width text File", and AutoSize propery of label1 component to True.

    • Step into Code Editor by clicking View and then select Code menu. empty the text in the Code Editor if any, then add the following line of code :





    Dim koneksi As New ADODB.Connection

    Dim rsteks As New ADODB.Recordset



    Private Sub Form_Load()

    Set koneksi = New ADODB.Connection

    koneksi.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Password=; & _
    Persist Security Info=True;User ID=Admin;Data Source=" & app.path & "\sales.mdb"

    koneksi.Open

    End Sub



    Private Sub Command1_Click()

    Dim strsql As String

    Dim i As Integer



    Set rsteks = New ADODB.Recordset


    strsql = "select * from tbarang"


    rsteks.Open strsql, koneksi, adOpenDynamic, adLockOptimistic



    i = 0

    Label1.Caption = CStr(rsteks.RecordCount)

    Label1.Refresh


    Open App.Path & "\tes.txt" For Output As #1



    If Not rsteks.BOF Then

    rsteks.MoveFirst

    While Not rsteks.EOF

    i = i + 1

    Label1.Caption = "Writing data no " & CStr(i)

    Label1.Refresh


    Print #1,rsteks!kodeitem;

    Tab(11); rsteks!deskripsi;

    'if the field data type is number

    'then the values must be converted to string type using cstr() function

    Tab(61); CStr(rsteks!harga);

    Tab(71); rsteks!kategori;

    Tab(77); CStr(rsteks!diskon);

    Tab(79); rsteks!statusjual

    rsteks.MoveNext

    Wend

    End If


    Close #1



    Exit Sub

    End Sub










    scroll to English Version

    Fixed-Width text file atau file teks yang mempunyai ukuran kolom/field yang tetap, terkadang dibutuhkan sebagai media sementara jika kita akan melakukan transfer data dari satu jenis database ke jenis database yang lain. Misalnya anda ingin mentransfer data dari database MySQL di kantor anda ke database Microsoft Access di komputer di rumah anda untuk keperluan tertentu atau untuk keperluan backup data. Sebelum anda mentransfernya ke microsoft access anda terlebih dahulu mengeksportnya ke format file teks dengan tipe Fixed-Width kemudian baru mentransfernya ke microsoft access.



    Saya memilih tipe file teks jenis ini karena selain lebih simpel, fixed-width text file ini akan lebih mudah jika kita akan mengekspornya ke format file yang lain misalnya ke format file microsoft excel.



    berikut ini adalah tutorial singkat tentang cara menulis data ke file teks fixed-width di visual basic 6 :




    • Buat sebuah database di microsoft access dengan nama penjualan.mdb dan sebuah tabel didalamnya dengan nama tbarang dan isi datanya seperti pada artikel Belajar syntax dasar statement sql.

    • Masuk ke Visual Basic, buat project baru dengan tipe Standard EXE.

    • Tambahkan sebuah komponen CommandButton, dan sebuah label.

    • Set property Caption dari komponen Command1 (komponen CommandButton) menjadi "Export Ke Fixed Width text File", dan propery AutoSize dari komponen label1 menjadi True.

    • Masuk ke Code Editor dengan cara klik menu View kemudian pilih Code kosongkan teks dalam Code Editor, kemudian tambahkan baris perintah berikut ini :





    Dim koneksi As New ADODB.Connection

    Dim rsteks As New ADODB.Recordset



    Private Sub Form_Load()

    Set koneksi = New ADODB.Connection

    koneksi.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Password=; & _
    Persist Security Info=True;User ID=Admin;Data Source=" & app.path & "\penjualan.mdb"

    koneksi.Open

    End Sub



    Private Sub Command1_Click()

    Dim strsql As String

    Dim i As Integer



    Set rsteks = New ADODB.Recordset


    strsql = "select * from tbarang"


    rsteks.Open strsql, koneksi, adOpenDynamic, adLockOptimistic



    i = 0

    Label1.Caption = CStr(rsteks.RecordCount)

    Label1.Refresh


    Open App.Path & "\tes.txt" For Output As #1



    If Not rsteks.BOF Then

    rsteks.MoveFirst

    While Not rsteks.EOF

    i = i + 1

    Label1.Caption = "Menulis data ke " & CStr(i)

    Label1.Refresh


    Print #1,rsteks!kodeitem;

    Tab(11); rsteks!deskripsi;

    'jika tipe data fieldnya adalah number

    'maka nilai harus dikonversi dahulu ke string dengan fungsi cstr()

    Tab(61); CStr(rsteks!harga);

    Tab(71); rsteks!kategori;

    Tab(77); CStr(rsteks!diskon);

    Tab(79); rsteks!statusjual

    rsteks.MoveNext

    Wend

    End If


    Close #1



    Exit Sub

    End Sub


    Menampilkan Dua Baris Pesan pada Messagebox di Delphi dan Visual Basic

    Friday, February 15, 2008

    Terkadang kita ingin agar teks dalam sebuah messagebox atau message dialog dalam aplikasi kita menjadi beberapa baris karena teks yang akan kita tampilkan cukup panjang dan kurang indah jika pesan tersebut ditempatkan dalam satu baris.



    Berikut ini adalah cara menampilkan teks dua baris pada messagebox di Delphi :





    application.MessageBox('Ini adalah baris pertama pesan'+chr(10)+
    'Ini adalah baris kedua pesan','Informasi',mb_ok)



    Berikut ini adalah cara menampilkan teks dua baris pada messagebox di Visual Basic :





    MsgBox "Ini adalah baris pertama pesan" & Chr(10) & "Ini adalah baris kedua pesan", vbOKOnly, "Informasi"

    Tips Untuk Path Database dan File di Visual Basic dan Delphi

    Thursday, February 7, 2008


    Jika aplikasi mengalami masalah pada saat dirubah nama foldernya atau pada saat
    dipindahkan ke folder lain, mungkin itu karena anda memberikan path absolute
    ke file-file atau database yang digunakannya.



    Untuk menghindari masalah seperti yang saya sebutkan diatas, anda harus
    membuat path ke file-file yang digunakannya menjadi path relative. Misalnya anda mempunyai aplikasi yang disimpan di
    "F:\APP\VB\PathRelative\Contoh.exe" dan databasenya disimpan di "F:\APP\VB\PathRelative\Sample.mdb".



    Visual Basic Syntax



    Berdasarkan contoh diatas, berikut ini syntax Visual Basic agar path ke database "Sample.mdb" menjadi relative :





    koneksi_ado.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Password=;Data Source=" & app.path & "\sample.mdb;Persist Security Info=True"


    Property Path dari App.path digunakan untuk menghasilkan path ke aplikasi .exe berada.
    pada contoh diatas aplikasi .exe anda berada di "F:\APP\VB\PathRelative", sehingga kode app.path & "\sample.mdb" akan menghasilkan
    "F:\APP\VB\PathRelative\sample.mdb".





    Delphi Syntax


    dan dibawah ini adalah syntax Delphi agar path ke database "Sample.mdb" menjadi relative :




    koneksi_ado.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Password=;Data Source=sample.mdb;Persist Security Info=True"



    Apabila anda menggunakan komponen seperti Adodc di Visual Basic atau Adoconnection di Delphi
    untuk koneksi ke database, maka setting Data Sourcenya adalah seperti gambar dibawah ini :



    RelativePath.jpg

    Path yang tadinya adalah path lengkap (absolute) => "F:\APP\VB\PathRelative\sample.mdb"

    anda rubah menjadi => "sample.mdb"





    Dengan cara seperti ini maka, aplikasi akan mencari file-file yang telah dideklarasikan sebelumnya
    di folder manapun aplikasi tersebut ditempatkan.

    Mengeksport Data ke MS Excel Dengan Visual Basic - Part 4

    Sunday, February 3, 2008

    Coding



    Klik kanan pada DataGrid1 pilih Retrieve Fileds untuk memasukan
    field-field dari tabel karyawan ke komponen DataGrid1 secara otomatis.
    Sehingga tampilannya akan seperti gambar dibawah ini :



    Interface2.jpg


    Langkah selanjutnya adalah mengisikan kode program ke dalam masing-masing komponen.
    klik di sembarang tempat di pada komponen Form1 kemudian tekan tombol F7
    ini akan memunculkan "Code Window".
    Isikan beberapa baris kode program berikut pada bagian paling atas sebelum kode Private Sub Form_Load().





    Option Explicit

    Dim koneksi_ado As ADODB.Connection

    Dim rskaryawan As ADODB.Recordset



    Kode diatas mendeklarasikan variabel koneksi_ado sebagai adodb conection dan rskaryawan sebagai adodb recordset.
    Dobel Klik Komponen Form1, kemudian ketik kode berikut :





    Dim SQLStr As String


    Set koneksi_ado = New ADODB.Connection

    Set rskaryawan = New ADODB.Recordset



    koneksi_ado.ConnectionString= & _

    "Provider=Microsoft.Jet.OLEDB.4.0; & _

    Password=;Data Source=" & App.Path & "\sample.mdb" & _
    ";Persist Security Info=True"



    koneksi_ado.Open

    Adodc1.Enabled = True



    SQLStr = "select * from karyawan order by nama"

    rskaryawan.Open SQLStr, koneksi_ado, adOpenDynamic, adLockOptimistic

    DataGrid1.Refresh

    Label1.Caption = "Status :"



    Kode diatas akan dieksekusi pada event form_load sehingga kode diatas akan dieksekusi ketika sebuah aplikasi pertama dijalankan.



    Langkah selanjutnya, mengisikan kode program utama yang akan di picu oleh komponen CommandButton1. Dobel klik CommandButton1, kemudian ketik kode berikut :





    Dim EXCELAPPKU As Excel.Application

    Dim excelbookku As Excel.Workbook

    Dim excelsheetku As Excel.Worksheet



    Dim baris, datake As Integer



    Label1.Caption = "Status : Prosesing Data...."



    Set EXCELAPPKU = New Excel.Application

    Set excelbookku = EXCELAPPKU.Workbooks.Add

    With EXCELAPPKU

    .StandardFontSize = "10"

    End With


    EXCELAPPKU.Visible = True



    Set excelsheetku = excelbookku.Worksheets(1)

    excelsheetku.Select


    Range("A1:C1").Select

    Selection.MergeCells = True

    Selection.HorizontalAlignment = xlCenter

    ActiveCell.FormulaR1C1 = UCase("Data Karyawan")

    Selection.Font.Bold = True

    Selection.Font.Name = "Verdana"



    With excelsheetku

    .Cells(2, 1).Value = "NIK"

    .Cells(2, 2).Value = "Nama"

    .Cells(2, 3).Value = "Jabatan"



    Label1.Caption = "Status : Prosesing Data..."

    baris = 3

    datake = 0



    If Not rskaryawan.BOF Then

    rskaryawan.MoveFirst

    While Not rskaryawan.EOF

    Label1.Caption = "Status : Exporting Data ke " & datake

    Label1.Refresh

    datake = datake + 1

    .Cells(1, 5).Value = "Fetching data ke " & datake

    .Cells(baris, 1) = rskaryawan![NIK]

    .Cells(baris, 2) = rskaryawan![nama]

    .Cells(baris, 3) = rskaryawan![jabatan]

    baris = baris + 1

    rskaryawan.MoveNext

    Wend

    End If

    .Cells(1, 5).ClearContents

    .Columns("A:A").EntireColumn.AutoFit

    .Columns("B:B").EntireColumn.AutoFit

    .Columns("C:C").EntireColumn.AutoFit

    End With

    rskaryawan.Close


    Label1.Caption = "Status : Selesai."

    On Error GoTo 0

    Set excelsheetku = Nothing

    Set excelbookku = Nothing

    EXCELAPPKU.Quit

    MsgBox "Export data selesai", vbInformation, "Informasi"




    Sekarang anda pilih menu Run | Start untuk menjalankan aplikasi. Tekan tombol "Eksport" untuk melihat outputnya.



    Berikut ini gambar aplikasi pada saat runtime :



    runtime.jpg

    Dan gambar dibawah ini adalah gambar hasil outputnya :


    output.jpg


    << Interface Aplikasi dan Database Path (Part 3)

    Mengeksport Data ke MS Excel Dengan Visual Basic - Part 3

    Friday, February 1, 2008

    Interface Aplikasi



    Sekarang kita mulai dengan interface. Tambahkan sebuah CommandButton, DataGrid, Adodc dan sebuah label. Set nilai property masing-masing komponen sesuai dengan gambar dibawah ini :

    component properties.jpg

    Sehingga tampilannya seperti gambar dibawah ini :

    interface.jpg



    Setting Database Path



    Dalam men-set ConnectionString pada komponen adodc kita menggunakan path relative sebagai berikut :

    "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=sample.mdb;Persist Security Info=False" . tidak menggunakan path absolute sebagai berikut :
    "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\ToExcel\sample.mdb;Persist Security Info=False".
    Cara pertama (dengan path relative) akan membuat aplikasi lebih fleksibel. Maksudnya, meskipun aplikasi ini dipindahkan ke folder lain asalkan databasenya (.mdb) juga ditempatkan di folder yang sama dengan aplikasi (.exe) tersebut, aplikasi ini tidak akan mengalami error dan tidak perlu merubah source code dari aplikasi tersebut.





    << Pembuatan Aplikasi (Part 2)
        
    Coding (Part 4) >>

    Mengeksport Data ke MS Excel Dengan Visual Basic - Part 2

    Pembuatan Aplikasi


    Jalankan MS Visual Basic : klik Start Menu | Program | Microsoft Visual Basic 6.0 | Microsoft Visual Basic 6.0. Setelah masuk ke Visual Basic IDE, kita akan melihat window yang mempunyai tiga tab dengan title "New Project".




    VB new project window.jpg



    Pilih "Standard EXE", kemudian akan muncul Project1 – Form1. klik menu File | Save Project As untuk menyimpan project ini. Simpan Form dengan nama FtoExcel.frm dan dengan projectnya dengan nama ExcelExport.vbp.



    Agar visual basic dapat menggunakan library untuk microsoft excel, maka kita harus mengaktifkan Library microsoft excel ini dengan cara : klik menu Project | References. Ini akan memunculkan window "References – Project1". Di dalam window ini terdapat banyak object library yang bisa digunakan untuk visual basic IDE. Kemudian centang object library yang berlabel "Microsoft Excel 11.0 Object Library" atau library "Microsoft Excel 10.0 Object Library" untuk pengguna Microsoft Office 2000 dan "Microsoft Excel 12.0 Object Library" untuk pengguna Microsoft Office 2007.



    Project References.jpg


    Ini akan memberitahukan kepada visual basic bahwa kita akan menggunakan object library dari Microsoft Office Excel 11.0 atau versi microsoft office excel yang anda gunakan.




    << Persiapan (Part 1)    
    Interface dan Setting Database Path (Part 3) >>

    Mengeksport Data ke MS Excel Dengan Visual Basic - Part 1

    Bagi anda para software developer baik itu yang menggunakan database seperti MS Access ataupun database RDBMS seperti MS SQL Server, Oracle, MySQL dll, tentu anda pernah menginginkan agar data anda bisa dieksport ke format MS Excell untuk tujuan lainnya seperti ingin mempercantik format tampilan, sebagai bahan pembuatan laporan dan lain sebagainya. Walaupun ada banyak tool yang tersedia di internet untuk melakukan hal ini, tetapi mungkin saja anda ingin mengintegrasikan kemampuan ini dalam aplikasi yang anda buat.



    dalam artikel ini saya akan sharing salah satu cara untuk mengeksport data ke MS Excel dengan menggunakan kode program di Visual Basic. Adapun versi Visual Basic yang saya gunakan adalah Visual Basic versi 6.0 dan microsoft office yang saya gunakan adalah Microsoft Office 2003 (MS Office 11).



    Persiapan


    Aplikasi ini akan kita gunakan untuk mengeksport data dari database microsoft access. Buat sebuah folder baru di drive C dan beri nama "ToExcel". Kemudian kita akan membuat sebuah database microsoft access langkahnya sebagai berikut : Klik Start Menu | Program | Microsoft Office Access 2003. Setelah masuk ke IDE microsoft access, klik menu File | New. Di menubar sebelah kanan pilih "Blank Database". Kemudian sebuah kotak dialog "File New Database" akan muncul. Simpan file tersebut di folder "ToExcel" yang telah kita buat tadi dan beri nama sample.mdb.



    Buat sebuah tabel dengan struktur data seperti dibawah ini :

    NIK text(10),Nama text(50),Jabatan text(30). Simpan tabel tersebut dan beri nama Karyawan. Kemudian isi beberapa data kedalam table tersebut.



    Pembuatan Aplikasi (Part 2) >>

    Recent Comments

    Tags Cloud

    Blogumulus by Roy Tanck and Amanda Fazani