Fun with VB6 Collections: How to find an index


  For Each oReq In oCol
        If oReq.FindSingleDetailByDbField("Freeze_Date") Is Nothing Then
            oUnFCol.Add oReq

            At this point can is there a way to tell the index of oReq in the collection oCol
            So that i can perform :


            Or alternatly is there another good way to identify the item an removing it at this point?

        End If
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Hi ExtremeFitness,

You could have a function given the oReq, find the index in oCol.
Or you could change add a little counter in there.
// Before your For Each Loop
Dim counter as Integer;
counter = -1;
// First Line In Your For Each Loop

Joe P

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
ExtremeFitnessAuthor Commented:
Im not sure that in a for each loop the order is  gauranteed to be in the same order of indexing though.....
ExtremeFitnessAuthor Commented:
I guess along those lines I could do:

    For I = 1 To oCol.count
        Set oReq = oCol.Item(I)
        ' Is this item an unfreeze (No Freeze date detail)?
        If oReq.FindSingleDetailByDbField("Freeze_Date") Is Nothing Then
            oUnFCol.Add oReq
            oCol.Remove I
        End If
Will simply oCol.Remove oReq work?

I think it does!

It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Visual Basic Classic

From novice to tech pro — start learning today.