Actually, I use the zero level of each element, so I want them to be 0 to nn.
Here is the pertinent code:
Public arrFile() As String - this is in Module 1
Public FldrNo0 As Integer - this is in Module 1; FldrNo1-6 are the same as 0
The following ReDim statement is in Module 3:
ReDim arrFile(FldrNo0, FldrNo1, FldrNo2, FldrNo3, FldrNo4, FldrNo5, (FldrNo6
+ 10))
(The array is not a passed parameter, and there is no other ReDim before
this.)
Currently, when the code gets to the ReDim, these are the values of FldrNon:
FldrNo0=30; FldrNo1=19; FldrNo2=51; FldrNo3=70;
FldrNo4=83; FldrNo5=168; FldrNo6=202
If I stop the run immediately after the ReDim statement, and check the
UBound of any of the elements, it shows 'Subscript out of Range'.
If I continue running until I populate the array, it executes the statement
(see below) that places a value into the array without giving any error, but
if I check the value in the array immediately after that statement, it shows
'Subscript out of Range'.
arrFile(FldrNo0, FldrNo1, FldrNo2, FldrNo3, FldrNo4, FldrNo5, FldrNo6) =
f0.Name
As I mentioned, it does exactly the same with 6 and 5 dimensions, but when I
get to 4 dimensions, it works fine.
Extremely frustrating.
--
Bill @ UAMS
"Jim Cone" wrote:
Array element numbering starts at zero unless you specify otherwise.
So declaring arrFile(100) is the same as arrFile(0 to 99) and that means
there is no element 100.
Declare your array like this...
ReDim arrFile(1 to Var0, 1 to Var1, 1 to Var2...)
--
Jim Cone
Portland, Oregon USA
"BillCPA" <Bill @ UAMS
wrote in message
Public arrFile() as String
ReDim arrFile(Var0, Var1, Var2, Var3, Var4, Var5, Var6) - variables may be
up to 500
arrFile(Var0, Var1, Var2, Var3, Var4, Var5, Var6) = datastring
--
Bill @ UAMS
"Jim Cone" wrote:
Dim arrBill() as Long
ReDim arrBill(1 to 100, 1 to 7)
The above is a two dimensional array.
What is the structure of your 7 dimensional array?
How are you accessing the elements?
--
Jim Cone
Portland, Oregon USA
"BillCPA" <Bill @ UAMS
wrote in message
Is there a limit on how many dimensions an array can have? VB Help seems to
indicate it is only limited by memory (I have a 4GB machine), and even then
actually has no limit because data is written to and read from disc as needed.
I cannot get an array of larger than four dimensions to work (I want seven).
I have it defined as dynamic. The code will initially ReDim the array
without showing any error. It will allow me to assign values to it. But if
I am monitoring the code and look at the array after a value has been
assigned, it indicates 'subscript out of range', even though the index values
for each dimension are well within the values at the time of the ReDim.
I reduced the number of dimensions down by one from 7, and when I got to
four, it worked.
Any thoughts?
--
Bill @ UAMS