Public Sub createProductCommandBar()
Const conBarName = "cbProducts"
Dim rsCat As DAO.Recordset
Dim rsProducts As DAO.Recordset
Dim rsOrders As DAO.Recordset
Dim strSql As String
Dim catCaption As String
Dim catValue As Long
Dim prodCaption As String
Dim prodValue As Long
Dim cbCat As Office.CommandBar
Dim cbCatCtrl As Office.CommandBarControl
Dim cbProdCtl As Office.CommandBarControl
Dim ctl As CommandBarControl
Dim cb As CommandBar
Set rsCat = CurrentDb.OpenRecordset("qryCategories", dbReadOnly)
If isCommandBar(conBarName) Then
Application.CommandBars(conBarName).Delete
End If
Set cbCat = CommandBars.Add(conBarName, msoBarPopup, False, False)
Do While Not rsCat.EOF
catCaption = rsCat!CategoryName
catValue = rsCat!CategoryID
strSql = "Select * from qryProducts where CategoryID = " & catValue
Set cbCatCtrl = cbCat.Controls.Add(msoControlPopup)
cbCatCtrl.caption = catCaption
Set rsProducts = CurrentDb.OpenRecordset(strSql, dbReadOnly)
Do While Not rsProducts.EOF
Set cbProdCtl = cbCatCtrl.Controls.Add()
prodCaption = rsProducts!ProductName
prodValue = rsProducts!productID
cbProdCtl.caption = prodCaption
cbProdCtl.Tag = prodValue
cbProdCtl.OnAction = "subFilterOrders"
rsProducts.MoveNext
Loop
rsCat.MoveNext
Loop
End Sub