Menjalankan Query Paramater di Dalam VBA

Menjalankan query parameter di dalam VBA tidak bisa secara langsung. Untuk menjalankan query parameter langsung di dalam VBA, dimana criteria untuk parameter tersebut berasal dari dalam control pada suatu form, maka kita harus mendefinisikan parameternya secara langsung di dalam VBA. Marilah kita bahas sama-sama caranya.

MENDEFINISIKAN PARAMETER DI DALAM VBA DENGAN PARAMETER DARI DALAM CONTROL PADA SUATU FORM

Dim dbSample As Database
Dim qdfSample As QueryDef
Set dbSample = CurrentDB()
Set qdfSample = dbSample .QueryDefs(“qryParameterQuery”)
‘Disinilah parameter tersebut didefinisikan:
qdfSample![Forms!FormName!ControlName] = _
   Forms![FormName]![ControlName]

MENDEFINISIKAN PARAMETER DI DALAM VBA DENGAN PARAMETER DARI DALAM INPUT BOX

Dim dbSample As Database, qdfSample As QueryDef
Set dbSample = CurrentDb()
Set qdfSample = dbSample.QueryDefs(“qryParameterQuery”)
‘Disinilah parameter tersebut didefinisikan:
qdfSample![Tolong input Tgl:] = #7/9/2006#

INI CONTOH LENGKAPNYA YAH…

Misal kita sudah membuat query sbb:

SELECT Orders.OrderID, Orders.CustomerID, Orders.OrderDate

FROM Orders

WHERE (((Orders.CustomerID)=[Forms]![frmSearch]![txtCustomerToFind]));

Perhatikan kriteria pada query diatas, ia berasal dari form yang bernama frmSearch, yakni pada text box “txtCustomerToFind”.

Maka saat menjalankan query diatas di dalam VBA, procedurenya adalah:

Function ParameterQuery()

Dim dbSample As Database

Dim qdfMyQuery As QueryDef

Dim rstCountOrders As Recordset

Dim strSearchName As String

Set dbSample = CurrentDb()

Set qdfMyQuery = dbSample.QueryDefs(“qryCustomerOrdersParameter”)

If Not IsNull(Forms![frmSearch]![txtCustomerToFind]) Then

strSearchName = Forms![frmSearch]![txtCustomerToFind]

qdfMyQuery![Forms!frmSearch!txtCustomerToFind] = strSearchName

Set rstCountOrders = qdfMyQuery.OpenRecordset()

If rstCountOrders.RecordCount = 0 Then

MsgBox “Tidak ada order untuk Customer ID ” & strSearchName

Else

rstCountOrders.MoveLast

MsgBox “Jumlah order untuk Customer ID ” & strSearchName & ” sebanyak ” & rstCountOrders.RecordCount & ” kali.”

End If

rstCountOrders.Close

Else

MsgBox “Harap input dahulu nama customernya!”

End If

qdfMyQuery.Close

dbSample.Close

End Function

Demikianlah penjelasan lengkap mengenai query parameter yang diakses secara langsung melalui VBA.

Beri Nilai Artikel Ini:

Leave a Reply

Do NOT follow this link or you will be banned from the site!
%d bloggers like this: