Kita dapat membuat fungsi sendiri yang digunakan untuk membuka sekumpulan recordset. Sekumpulan recordset itu mungkin bisa berasal dari sebuah tabel atau query yang dibentuk dari satu atau beberapa tabel sekaligus.
Dalam posting ini, kita dapat memberi nama fungsi itu membukaRecordset, menggunakan metode pada VBA yang disebut OpenRecordset. Jadi, fungsi membukaRecordset digunakan untuk membuka sekumpulan record yang berasal dari sebuah tabel atau query. Sekumpulan recordset yang terbuka itu kemudian bisa ditampilkan di layar komputer, Selain itu, kita juga bisa mengatur recordset yang terbuka sebagai sekumpulan record yang hanya bisa dibaca saja atau sekaligus bisa diedit.
Ada dua parameter yang digunakan pada fungsi membukaRecordset. Kedua parameter itu adalah strSql dan boolUntukEdit. Parameter strSql adalah pernyataan SQL yang bertipe data string, sifatnya wajib untuk diisi. Sedangkan parameter boolUntukEdit bersifat opsional, dengan nilai defaultnya False. Artinya, sekumpulan record yang terbuka ditampilkan hanya untuk dibaca saja. Jika sekumpulan record itu ingin dibaca dan diedit, maka kita memberi nilai True untuk parameter boolUntukEdit.
Fungsi membukaRecordset adalah sebagai berikut:
Kita dapat mengaplikasikan fungsi membukaRecordset di database front-end yang tidak memiliki sebuah tabel atau query di dalamnya. Contoh berikut ini adalah fungsi membukaRecordset yang digunakan untuk menampilkan sepuluh record pertama dari field yang bernama KodeRek pada tabel tblRekUtama.
Ingat, sebelum membuka recordset dengan menggunakan fungsi membukaRecordset, database harus dibuka lebih dahulu dengan menggunakan fungsi membukaDbs seperti contoh di atas.
Dalam posting ini, kita dapat memberi nama fungsi itu membukaRecordset, menggunakan metode pada VBA yang disebut OpenRecordset. Jadi, fungsi membukaRecordset digunakan untuk membuka sekumpulan record yang berasal dari sebuah tabel atau query. Sekumpulan recordset yang terbuka itu kemudian bisa ditampilkan di layar komputer, Selain itu, kita juga bisa mengatur recordset yang terbuka sebagai sekumpulan record yang hanya bisa dibaca saja atau sekaligus bisa diedit.
Ada dua parameter yang digunakan pada fungsi membukaRecordset. Kedua parameter itu adalah strSql dan boolUntukEdit. Parameter strSql adalah pernyataan SQL yang bertipe data string, sifatnya wajib untuk diisi. Sedangkan parameter boolUntukEdit bersifat opsional, dengan nilai defaultnya False. Artinya, sekumpulan record yang terbuka ditampilkan hanya untuk dibaca saja. Jika sekumpulan record itu ingin dibaca dan diedit, maka kita memberi nilai True untuk parameter boolUntukEdit.
Fungsi membukaRecordset adalah sebagai berikut:
Function membukaRecordset(strSql As String, Optional boolUntukEdit As Boolean) As DAO.Recordset 'OK ' Parameter: ' strSql = merupakan query SELECT (SELECT query) yang digunakan untuk membuka recordset ' boolUntukEdit = Opsional, ekspresi boolean yang menunjukkan apakah ' SELECT query hanya digunakan untuk membaca record ' atau untuk mengedit dan menyimpan record. ' ' Jika boolUntukEdit = True maka record bisa diedit atau disimpan. Dim rst As DAO.Recordset On Error GoTo Err_Msg If boolUntukEdit Then Set rst = daoDbs.OpenRecordset(strSql, dbOpenDynaset) Else Set rst = daoDbs.OpenRecordset(strSql, dbOpenSnapshot) End If Set membukaRecordset = rst Exit_Function: Exit Function Err_Msg: MsgBox "Function membukaRecordset, Error # " & str(Err.Number) & ", source: " & Err.Source & _ Chr(13) & Err.description Resume Exit_Function End FunctionFungsi membukaRecordset hanya bisa dijalankan bila fungsi membukaDbs dijalankan terlebih dahulu. Jadi, kita harus memastikan bahwa fungsi membukaDbs sudah dijalankan. Dengan demikian, urutannya adalah sebagai berikut:
- membukaDbs
- membukaRecordset
Implementasi:
Kita dapat mengaplikasikan fungsi membukaRecordset di database front-end yang tidak memiliki sebuah tabel atau query di dalamnya. Contoh berikut ini adalah fungsi membukaRecordset yang digunakan untuk menampilkan sepuluh record pertama dari field yang bernama KodeRek pada tabel tblRekUtama.
Function contohMembukaRecordset() Dim strSql As String Dim rst As DAO.Recordset Dim fld As DAO.Fields strSql = "SELECT * FROM tblRekUtama" membukaDbs Set rst = membukaRecordset(strSql) Do While Not rst.EOF Debug.Print "Record Number: " & rst.AbsolutePosition + 1 & ", " & _ rst.Fields(0).name & ": " & rst.Fields(0).Value If rst.AbsolutePosition = 9 Then Exit Function rst.MoveNext Loop rst.Close Set rst = Nothing menutupDbs End FunctionSaat dijalankan di Immediate Window, hasilnya adalah sebagai berikut:
Gambar 2 Simulasi membuka recordset |
Ingat, sebelum membuka recordset dengan menggunakan fungsi membukaRecordset, database harus dibuka lebih dahulu dengan menggunakan fungsi membukaDbs seperti contoh di atas.
Comments
Post a Comment