Question : Missing ActiveX Control ??

I will appreciate any help in figuring out any ACTIVE X control I may be missing here.

I have recently re-installed, Microsoft Access 2003. After installation I opened my db and  suddenly discovered my switchboard code displaying

compile error - Run-time error '438':
"Object support this object of property method.

on...

      .Redraw = False

from the code below:

' ..........................
' .........................
 If gfDebug Then
      'Print some info to the debug-window
      rsItems.MoveLast: rsItems.MoveFirst
      Debug.Print GetUserLogon & " (" & getUserLevel & " / " & getUserLevel_Title & "): " & _
         rsItems.RecordCount & " item(s) accessible"
   End If
         .Redraw = False

   With vsfg
      mfSkip_RowColChange = True
      .Redraw = False                                                                  ' <<<------ Error line.
      .Clear
      .Rows = 0: .FixedRows = 0: .Cols = 4: .FixedCols = 0
      .ExtendLastCol = True
      .OutlineBar = flexOutlineBarSimpleLeaf 'flexOutlineBarSymbolsLeaf flexOutlineBarComplete
      .GridLines = flexGridNone
      .AutoSearch = flexSearchFromCursor
      .ScrollTrack = True
      .AllowSelection = False 'no selection of more than a single cell!
      .AllowBigSelection = False
      .SelectionMode = flexSelectionByRow ' flexSelectionFree
      .AllowUserResizing = flexResizeNone
      .Ellipsis = flexEllipsisEnd
      .HighLight = flexHighlightAlways 'flexHighlightWithFocus
      .FocusRect = flexFocusLight ' flexFocusSolid ' flexFocusNone
      .MergeCells = flexMergeNever
      '.TreeColor =
     
      .ColWidth(0) = 0        '1st Column:   Item-ID (as in L_tbl_Switchboard_Items)
      .ColWidth(1) = 0        '2nd Column:   Whether or not a node contains children
      .ColWidth(2) = 0        '3rd Column:   Descriptive text that is being shown in the
                              '              Switchboard's right section
      .ColWidth(3) = 400      '4th Column:   Caption being shown in the treeview
      .OutlineCol = 3
     
      'Add the "Home"-node
      vsfg.AddItem "0" & vbTab & "" & vbTab & "" & vbTab & "Home"
      vsfg.IsSubtotal(0) = True

      With rsNodes
         'Default: Add all items
         fAdd = True
         
         'Loop through all switchboard-items, adding them to the treeview
         While Not .EOF
            'Assemble a key for this node, consisting of four arguments:
            '
            '  1. The ID - required to find a child-node's parent
            '  2. Whether or not this is a node with items on it (True=Items present, False=None)
            '  3. A node's description, to be shown in the SB's top-label
            'If !SB_ID = 9 Then Stop
            rsItems.FindFirst "SI_ParentID = " & CStr(!SB_ID) & " AND SI_MinPermissionLevel >= " & CStr(lngAccessLevel)
            strItem = !SB_ID & vbTab & CStr(Not rsItems.NoMatch) & vbTab & !SB_NodeDescription & vbTab & !SB_NodeTitle
           
            If rsItems!SI_Requires_AllowChangingBE Then
               'Additionally check whether the current user has an active AllowChangingBE-flag
               fAdd = getUserFlag_AllowChangingBE
            End If
           
            If fAdd Then
               If !SB_Parent > 0 Then
                  'This node is a child-node of some other node;
                  'Find the parent node and add it below that node's last child
                  lngRow = getNodeIndex(!SB_Parent) + 1
                  vsfg.AddItem strItem, lngRow
                  vsfg.IsSubtotal(lngRow) = True
                  vsfg.RowOutlineLevel(lngRow) = vsfg.RowOutlineLevel(lngRow - 1) + 1
               Else
                  'There is no parent - add this node to the treeview's root (being the Home-node)
                  vsfg.AddItem strItem
                  vsfg.IsSubtotal(vsfg.Rows - 1) = True
                  vsfg.RowOutlineLevel(vsfg.Rows - 1) = vsfg.RowOutlineLevel(0) + 1
               End If
            End If
           
            .MoveNext
         Wend
      End With
     
      .RowHeight(-1) = 350
      .Row = 0
   End With

   '*** Bill:
   'While adding nodes, there might be branches without any children due to the fact that the current user
   'may not access any object on that hierarchy-level.
   'Hence, remove all nodes that have neither children nor a value within the Object-Type (making them parent-nodes)
   For lngCounter = vsfg.Rows - 1 To 1 Step -1
      'Debug.Print "Row " & lngCounter & ": " & Replace(vsfg.Cell(flexcpText, lngCounter, 0, lngCounter, 3), vbCrLf, "")
      If vsfg.GetNodeRow(lngCounter, flexNTFirstChild) < 0 _
            And (Not CBool(vsfg.TextMatrix(lngCounter, mconTV_Col__1_HasChildren))) Then
         vsfg.RemoveItem lngCounter
      End If
   Next lngCounter
   
   'Add an Exit-entry to the tree (last item);
   'See the vsfg_RowColChange-sub to learn how this is used!
   vsfg.AddItem "0" & vbTab & "" & vbTab & "" & vbTab & "Exit"
   vsfg.RowOutlineLevel(vsfg.Rows - 1) = 1
   vsfg.IsSubtotal(vsfg.Rows - 1) = True
   
   vsfg.Redraw = True
   ShowPage True
   
   'Clean up
   Set rsNodes = Nothing
   Set rsItems = Nothing
   mfSkip_RowColChange = False
   vsfg_RowColChange
End Sub

Answer : Missing ActiveX Control ??

Thats not an ActiveX control is it? thats just a image control. This is what Access puts for unknown/unregisterd Active X controls.


Taking an educated guess, were you using some kind of grid? something like a MSFlexGrid?

If so then what I suggest u do is this

Go to vba window, go to Tools/References
click on Browse
select filetype OCX
find msflxgrd.ocx
click OK
it should come back with Microsoft Flexgrid Control checked

There is another flexgrid control, but Im hoping its this one
Random Solutions  
 
programming4us programming4us