We have a dashboard that we've developed in Processbook, and I'm trying to migrate it over to ActiveView.
One of the solutions we came up with to have a dashboard with few displays to dynamically build themselves is to pass the display the machine number upon opening. I'm just not sure how to get this to work with ActiveView.
We have three displays inside of a Workbook - MAIN, OEE, and CHARTS
From MAIN, which displays all of the machines, we have a button that opens a new display to show all of the OEE values for that machine. Upon clicking to open the OEE display, we pass it the machine number with the following code:
Private Sub btnOEE363_Click(ByVal lvarX As Long, ByVal lvarY As Long) Dim oBook As ProcBook Dim oEntry As Entry Dim strAction As String Dim d1 As Display Set oBook = Application.ProcBooks.Application.ActiveProcBook Application.ActiveProcBook.Title = "363" Set oEntry = oBook.Entries.Item(4) strAction = oEntry.Action oEntry.Execute (True) End Sub
In the Display.Open event of the OEE screen we have the following code to pick up the data.
ThisDisplay.lblMachine.Caption = Application.ActiveProcBook.Title strSelectedMachine = ThisDisplay.lblMachine.Caption
Two problems I'm having right now - I can't seem to change displays via VBA in ActiveView using the above code, which works great in ProcessBook. But, if I create a non-VBA button in ProcessBook to navigate to <LOCAL>:OEE, that translates over to Activeview fine. The problem is that the variable isn't passed, so the opened display doesn't load right.
My question is - how do people pass information between displays in Activeview, typically?