10 January 2017

VB6: Temporary Recordset


Temporary recordset bisa digunakan sebagai tempat penyimpanan sementara sebelum data disimpan ke database. Dengan menggunakan recordset ini kita dapat mengolah, memfilter, dan menampilkan ke datagrid tanpa koneksi langsung dengan database.

Di awal kita perlu menambahkan reference ADO library.


Pilih salah satu versi, saya menggunakan versi 2.7. Centang kemudian klik OK.

Persiapkan UI sebagai berikut:
Code berikut untuk mengatur caption dan text UI yang ditempatkan pada event form_load:
'Setting UI Controls
Label1.Caption = "Kode"
Label2.Caption = "Nama"
Text1.Text = ""
Text2.Text = ""
Command1.Caption = "Add"


Pada even form_load juga dipanggil sub untuk setting awal recorset dan menampilkannya dalam grid, jangan lupa untuk mendeklarasikan recordset (rsTemp) di luar sub agar dapat dipanggil dari seluruh event/sub/function yang ada dalam form:
Dim rsTemp As ADODB.Recordset

Sub Data_Temp()

Set rsTemp = New ADODB.Recordset

rsTemp.Fields.Append "kode", adVarChar, 10, adFldIsNullable
rsTemp.Fields.Append "nama", adVarChar, 50, adFldIsNullable

rsTemp.Open
Set DataGrid1.DataSource = rsTemp

End Sub


Jadi code yang ada di event form_load adalah sebagai berikut:
Private Sub Form_Load()
'Setting UI Controls
Label1.Caption = "Kode"
Label2.Caption = "Nama"
Text1.Text = ""
Text2.Text = ""
Command1.Caption = "Add"

'panggil setting data temporary
Data_Temp
End Sub


Untuk menambahkan record/data pada temporary recordset menggunakan code sebagai berikut:
With rsTemp
    .AddNew
    !kode = Text1.Text
    !nama = Text2.Text
    .Update
End With


Proses menambahkan record ada di event Command1_Click, dimana setelah menambahkan record melalui input textbox maka kita perlu menambahkan code untuk membersihkan textbox-textbox tersebut.
Kita buat dalam sub tersendiri.
Sub Clear_Control()
Text1.Text = ""
Text2.Text = ""
End Sub


Jadi code yang ada di event command1_click yaitu:
Private Sub Command1_Click()
With rsTemp
    .AddNew
    !kode = Text1.Text
    !nama = Text2.Text
    .Update
End With

'mengapus kontrol input setelah penambahan data
Clear_Control
End Sub


Setelah selesai dengan UI dan code, kita coba run program yang baru saja kita buat.

Data yang ditambahkan akan ditampilkan di grid.


Kode selengkapnya:
Option Explicit
Dim rsTemp As ADODB.Recordset

Sub Data_Temp()

Set rsTemp = New ADODB.Recordset

rsTemp.Fields.Append "kode", adVarChar, 10, adFldIsNullable
rsTemp.Fields.Append "nama", adVarChar, 50, adFldIsNullable

rsTemp.Open
Set DataGrid1.DataSource = rsTemp

End Sub

Sub
Clear_Control()
Text1.Text = ""
Text2.Text = ""
End Sub

Private Sub
Form_Load()
'Setting UI Controls
Label1.Caption = "Kode"
Label2.Caption = "Nama"
Text1.Text = ""
Text2.Text = ""
Command1.Caption = "Add"

'panggil setting data temporary
Data_Temp
End Sub


Private Sub Command1_Click()
With rsTemp
    .AddNew
    !kode = Text1.Text
    !nama = Text2.Text
    .Update
End With

'mengapus kontrol input setelah penambahan data
Clear_Control
End Sub




Click here if you like this article.


0 comments: