adding to an array

This should be real easy, i just cant figure it out.


user enter 2 values. (example, 10001 and 15000)
program will create and array with all the number from 10001-15000.

I need to store these all into an array.

----- Begin Code ------

dblCurrentFLN = dblFLNbegin
Do Until dblFLNbegin > dblFLNEnd
    strArray = Array(dblCurrentFLN)
    dblCurrentFLN = dblCurrentFLN + 1

----- End Code --------

That Array function isnt what i am looking for. it will jsut write the 1st line, then write the 2nd one over top of the 1st, and so on. I need the user to be able to put in another set of number after that and continue to write to the end of the array.  I will then write that whole array to a text file (i got that part down packed.)

Any ideas?

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.

Dim strArray()

Dim i as integer
dblCurrentFLN = dblFLNbegin
Do Until dblFLNbegin > dblFLNEnd

    strArray(i) = Array(dblCurrentFLN)
    dblCurrentFLN = dblCurrentFLN + 1

Sorry. Hit tab at the wrong time.

Dim iArray() as integer

Dim i as integer
dblCurrentFLN = dblFLNbegin
Do Until dblFLNbegin > dblFLNEnd
    Redim Preserve iArray(i)
    iArray(i) = Array(dblCurrentFLN)  
     dblCurrentFLN = dblCurrentFLN + 1

& even that's not right.
iArray(i) = Array(dblCurrentFLN)  
should be
iArray(i) = dblCurrentFLN

I've used integers but you may want to use longs
Big Business Goals? Which KPIs Will Help You

The most successful MSPs rely on metrics – known as key performance indicators (KPIs) – for making informed decisions that help their businesses thrive, rather than just survive. This eBook provides an overview of the most important KPIs used by top MSPs.


Option Explicit

Private Sub Command1_Click()
Dim arr() As Long

arr = getArr(10001, 10002)
End Sub

Private Function getArr(ByVal start As Long, ByVal endN As Long) As Long()
    Dim arr() As Long, I As Long
    On Error Resume Next
    I = endN - start + 1
    ReDim Preserve arr(I)
    For I = start To endN
        arr(I - start) = I
    getArr = arr
End Function
kmorris1186Author Commented:
EDDYKT,  you code comes back with an Overflow error.  I did leave one thing out, but delclaring these are Long, sould fix this problem and doesnt.  I just the FLN vars are actualy like this.  #############. ex, 9100331512345, all the way up to 9100331512349.  But that last 5 digits are the only ones that change.

I have to be doing somthing wrong, because i cant get any of this code to work.  It will just store the last number in the sequence into the array and that is it.
kmorris1186Author Commented:
ok. i figured out my problem.  I had to declare the array as a Double instead of a Long.  But i still need to add on to that array later in the program.  When i try to add onto it, it starts overwriting the old data in that array.
kmorris1186Author Commented:
ok i have changed the whole program..... instead of having that whole number stored as a double, i split it in half (as the 1st 8 numbes will not be changing. only the last 5 will)  i again, can get it it add to the array now problem.  this is actually using brand new code..

--------- Begin Code-------------
Dim I As Long
'Counter is initially 0 on program 1st run.
If Counter = 0 Then
    ReDim strArray(lngFLNEnd - lngFLNBegin)
    For I = 0 To lngFLNEnd - lngFLNBegin
        strArray(I) = lngCurrentFLN
        lngCurrentFLN = lngCurrentFLN + 1
    Next I
ElseIf Counter > 0 Then
    ReDim Preserve strArray(UBound(strArray))
    For I = UBound(strArray) + 1 To UBound(strArray) + lngFLNEnd - lngFLNBegin + 1
        strArray(I) = lngCurrentFLN
        lngCurrentFLN = lngCurrentFLN + 1
    Next I
End If
--------End Code---------

It blows up on the "strArray(I) = lngCurrentFLN" statement...
Subscript out of range.

so i am back to square one, and still cant add to an array...

If you tell your array index to explicitly exceed the array bounds, then it will do so:

in " UBound(strArray) + lngFLNEnd - lngFLNBegin + 1"

is greater than UBound(strArray) unless lngFLNEnd is less than lngFLNBegin.

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
i want to store the field values in the single recordset to
an array and check if any of the field is null in the recodset
how to do it
kmorris1186Author Commented:
It was actually a combination of all of GrahamSkan answers.

 EDDYKT,  yours sorta worked, but i found that GrahamSkan's was much easier to work with.

Thanks guys!
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.