• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 353
  • Last Modified:

VB6 - Count records based on 2 column issue

Hello all

I have this code bellow that looks at 2 columns in my grid and based on 3 criteria, it counts the number of records.

But my problem is that it takes about 5 minutes to count when i only have 14 rows in my grid.
That should take seconds to count.

Would you know why?

Can i improve that code to run faster?

Thanks again



 Dim lngRow1 As Long
    Dim lngRow2 As Long

    ' MSHFlexGrid1.WordWrap = True
    LockWindowUpdate Me.hWnd


    For lngRow1 = 1 To MSHFlexGrid1.Rows - 1
        'PO planned without a personnal rate
        If MSHFlexGrid1.TextMatrix(lngRow1, 7) = "S" And MSHFlexGrid1.TextMatrix(lngRow1, 20) = "0" Then
            po_plan_without_rate = po_plan_without_rate + 1
        End If

        'PO not planned with rate
        If MSHFlexGrid1.TextMatrix(lngRow1, 7) <> "S" And MSHFlexGrid1.TextMatrix(lngRow1, 20) <> "0" Then
            Text3 = po_plan_without_rate + 1
        End If

        'PO not planned with no rates
        If MSHFlexGrid1.TextMatrix(lngRow1, 7) <> "S" And MSHFlexGrid1.TextMatrix(lngRow1, 20) = "0" Then
            Text4 = po_plan_without_rate + 1
        End If
    Next

Open in new window

0
Wilder1626
Asked:
Wilder1626
  • 5
  • 4
1 Solution
 
Martin LissOlder than dirtCommented:
Is that all the code in the procedure? I ask because that shouldn't even take 1 second with just 14 records.
0
 
Wilder1626Author Commented:
Hi MartinLiss

Yes, just that code.

That's what is strange.
0
 
Martin LissOlder than dirtCommented:
Is this new code or a new problem? By that I mean did it ever run faster? If it did then try rebooting.
0
Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

 
Wilder1626Author Commented:
no, this is a new code. I have other code, bigger and it run faster that the one that cause me issue.

Pretty weird i would say.
0
 
Martin LissOlder than dirtCommented:
Yes I agree. Can you attach your project and tell me how to trigger that code?

Also I assume that po_plan_without_rate is a variable and not a Function or Private Property, right?
0
 
Wilder1626Author Commented:
So weird

Just removed LockWindowUpdate Me.hWnd and it takes a second to run.
0
 
Martin LissOlder than dirtCommented:
That's good. Try this which should be faster.

    Dim lngRow1 As Long
    Dim lngRow2 As Long

    ' MSHFlexGrid1.WordWrap = True
    LockWindowUpdate Me.hWnd


    For lngRow1 = 1 To MSHFlexGrid1.Rows - 1
        Select Case True
            'PO planned without a personnal rate
            Case MSHFlexGrid1.TextMatrix(lngRow1, 7) = "S" And MSHFlexGrid1.TextMatrix(lngRow1, 20) = "0"
                po_plan_without_rate = po_plan_without_rate + 1
            'PO not planned with rate
            Case MSHFlexGrid1.TextMatrix(lngRow1, 7) <> "S" And MSHFlexGrid1.TextMatrix(lngRow1, 20) <> "0"
                Text3 = po_plan_without_rate + 1
            'PO not planned with no rates
            Case MSHFlexGrid1.TextMatrix(lngRow1, 7) <> "S" And MSHFlexGrid1.TextMatrix(lngRow1, 20) = "0"
                Text4 = po_plan_without_rate + 1
        End Select
    Next

Open in new window


Try putting the LockwindowUpdate back in and adding this at the end

LockWindowUpdate &0
0
 
Wilder1626Author Commented:
Yes!!!
This is good now.

It take a second to run

Thanks again for your help
0
 
Martin LissOlder than dirtCommented:
You're welcome and I'm glad I was able to help.

Select the 'About Me' tab in my profile and you'll find links to some articles I've written that may interest you.
Marty - MVP 2009 to 2013
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

  • 5
  • 4
Tackle projects and never again get stuck behind a technical roadblock.
Join Now