Passing Variables Between Displays in ActiveView

Discussion created by rdube02 Champion on Sep 19, 2013
Latest reply on Sep 26, 2013 by dhollebeek

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?