[2 days left] What’s wrong with your cloud strategy? Learn why multicloud solutions matter with Nimble Storage.Register Now

x
Solved

Posted on 2003-10-28
Medium Priority
229 Views
I am getting an overflow message when loading a list box with 32000 records can someone help please.
For i = 0 To arrsize
combinedarray(i) = frmsort.List2.List(i)
Next

Thanks
0
Question by:running32
[X]
###### Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

• Help others & share knowledge
• Earn cash & points

LVL 10

Expert Comment

ID: 9635120

Hi there.

Try

For i = 0 To arrsize - 1
combinedarray(i) = frmsort.List2.List(i)
Next

As you are using zero-based arrays, the start index being 0, you must use the '- 1' at the end of the For i = 0 line.

Hop this helps.
Jas.
0

LVL 9

Expert Comment

ID: 9635151
Your code sample does not match the problem description
>  combinedarray(i) = frmsort.List2.List(i)

This code doesn't load a listbox, it assigns a value to an array.

0

LVL 28

Expert Comment

ID: 9635208
Have you tried:

For i = 0 To arrsize
ReDim Preserve combinedarray(i)
combinedarray(i) = frmsort.List2.List(i)
Next
0

Author Comment

ID: 9635495
dancebert is correct I had loaded my list box with the values I am writing them out to an array.  So that would mean my array is not big enough?

below is my  code to make the array the same size at the list box

i = i - 1
x = i
Dim arrsize As Long
arrsize = i
Do

If i = "10" Then
MsgBox ("here")
End If
i = i - 1
Loop While (i <> 0)
Dim probelistvariable
' write to array from list

ReDim combinedarray(frmsort.List2.ListCount )
For i = 0 To arrsize
combinedarray(i) = frmsort.List2.List(frmsort.List2.ListCount)
Next

0

LVL 9

Expert Comment

ID: 9635640
I don't see where you original dim combinedarray.  What data type are you using?  If you did

dim combinedarray() as integer

You'd get an overflow error if you attempted to assign a value that was larger than the largest integer.
0

LVL 28

Accepted Solution

vinnyd79 earned 2000 total points
ID: 9635667

Dim i As Integer, combinedarray() As String

For i = 0 To frmsort.List2.ListCount - 1
ReDim Preserve combinedarray(i)
combinedarray(i) = frmsort.List2.List(i)
Next i
0

LVL 8

Expert Comment

ID: 9636093
Is the record count exactly 32k or is it going over integer limit, hence making i to overflow.
0

LVL 9

Expert Comment

ID: 9636353
What was combinedarray dim'd as before you changed it to string?
What datatypes are you storing in the array?

If you're storing numbers into a string that will cure your overflow error.  So would have my solution, which was offered first.
0

## Featured Post

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction While answering a recent question about filtering a custom class collection, I realized that this could be accomplished with very little code by using the ScriptControl (SC) library.  This article will introduce you to the SC library a…
Background What I'm presenting in this article is the result of 2 conditions in my work area: We have a SQL Server production environment but no development or test environment; andWe have an MS Access front end using tables in SQL Server but we a…
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…
###### Suggested Courses
Course of the Month13 days, 21 hours left to enroll