27 January 2016


Pada artikel sebelumnya kita sudah mengetahui bagaimana menampilkan data dari database access ke datagrid, sekarang kita akan mencoba membuat fitur filter dengan keyword.

UI dan data masih lanjut dari artikel sebelumnya.

Code pun masih menggunakan code sebelumnya dengan menambahkan beberapa baris code yang ditandai dengan highlight kuning.
Option Explicit
Dim oConn As New ADODB.Connection
 
Dim rsData As New ADODB.Recordset 
Dim strConn As String 
Dim SQL As String

Sub Open_Connection()
Set oConn = New ADODB.Connection
oConn.ConnectionString = strConn
oConn.Open
End Sub

Sub Load_Data(Optional strFilter As String)
On Error GoTo errHandler

Open_Connection
Set rsData = New ADODB.Recordset
SQL = "SELECT * FROM Category " & strFilter
With rsData
    .CursorLocation = adUseClient
    .Open SQL, oConn, adOpenDynamic, adLockOptimistic
    .ActiveConnection = Nothing
End With
Set
grdData.DataSource = rsData
oConn.Close

Exit Sub
errHandler:
MsgBox Err.Number & ":" & Err.Description
End Sub

Private Sub
Form_Load()
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
          "Data Source=" & App.Path & "\latihan.mdb;" & _
          "Persist Security Info=False"
Load_Data
End Sub


Private Sub cmdFilter_Click()
Load_Data "WHERE CategoryCode LIKE '%" & txtFilter.Text & "%' " & _
          "OR CategoryName LIKE '%" & txtFilter.Text & "%' "

End Sub


!!! Jangan lupa untuk menambahkan spasi pada SQL setelah Category.

Runtime:
Kemudian bagaimana dengan proses input, edit dan delete?
Mari kita mulai pembahasan dengan proses inpu data baru.


Click here if you like this article.


3 comments:

hijram mahjura said...

setelah project saya make..exe trs saya coba jalankan muncul error 3704 gmn ya bu? saya cek lagi pakai f8, ada masalah di form_load nya...saya otak=atik lagi eeee gagal maning, gagal maning...mumet jaya??//

rani irsan said...

klo error mah mesti di cek langsung di code nya, ga bisa di kira2.
error 3704 biasanya karena recordset digunakan tapi blom open.

hijram mahjura said...

maaf ya bu guru bukannya gak manut atao sok pinter itu private sub cmdfilter_click() klo saya ganti private sub txtfilter_change() bermasalah apa gak ya?