Bill Benson
bensonforums at gmail.com
Thu Dec 25 18:34:43 CST 2014
I have form code running on form1, which has a subform Form2. I am disturbed that although I wish to set a variety of other controls on subform when the listindex of that listbox changes, using the AfterUpdate event, it is not firing. I thought at first it was because I locked it (I want to set it in code and not allow the user to make changes). However, I specifically unlock it and still the AfterUpdate event is not firing. That despite the fact that a very similar listbox's afterupdate on this very same subform is firing, when I set the Selected property in it. The code is here. Anyone see anything amiss? SQL = "Select FKProductID from OrderProduct where FKOrderID = " & txtOrderID Set R = D.OpenRecordset(SQL) If Not R.EOF Then R.MoveFirst iProductID = R!FKProductID Set R = Nothing Set Ctrl = Subfrm.Form.Controls("lstProducers") iProducerID = DLookup("FKCompanyID", "Product", "ProductID=" & iProductID) Ctrl.Locked = False For i = 0 To Ctrl.ListCount - 1 Ctrl.Selected(i) = False If CLng(Ctrl.Column(0, i)) = iProducerID Then Ctrl.Selected(i) = True 'The AfterUpdate event for this listbox does fire Ctrl.Locked = True Exit For End If Next Set Ctrl = Subfrm.Form.Controls("lstProduct") Ctrl.Locked = False For i = 0 To Ctrl.ListCount - 1 Ctrl.Selected(i) = False If CLng(Ctrl.Column(0, i)) = iProductID Then Ctrl.Selected(i) = True 'The AfterUpdate event for this listbox does not fire even though this value changes from False to True Ctrl.Locked = True Exit For End If Next End If