[AccessD] Array questions
Stuart McLachlan
stuart at lexacorp.com.pg
Mon Jan 16 18:09:30 CST 2023
On 16 Jan 2023 at 18:16, Arthur Fuller wrote:
> 1. How can I dimension an array to a given size?
DIM myArray( 1 to 10) AS STRING
> 2. How to search an array for a given element? (Returning the element
> number or 0 if not found)
Dim lArrPtr as Long
DIm i as long
For i = LBound(myArray()) to UBOUND(myArray)
If myArray(i) = sTestString then l = i
Next
3. How to determine the length of an array?
You mean the number of elements?
UBOUND(myArray) - LBOUND(myArray) + 1
> 4. Can I prefill an array when I declare it, I.e. fill it with zeroes
> on the same line as its Dim?
No.
You have to do it in two steps.
Nor can you assign a collection of values to multiple array elements. in one statement.
A numeric array is autofilled with zero, a string array is "autofilled" with zero length strings.
If you want to populate then with anything else, you can do it in a loop
For i = LBound(myArray()) to UBOUND(myArray)
myArray(i) = " "
Next
5. Given 2 arrays of equal length, can I
> create a 2D array with 2 rows and assign an array to each?
You can create an array with two COLUMNS
> Given two arrays a1 and a2, both populated;
For i = LBound(myArray()) to UBOUND(myArray)
a3(i,1) = a1(i)
a3(i,2) = a2(i)
Next
>
> Dim a3( a1, a2)
>
> Why not?
Because that is nonsense? That's not what DIM does.
More information about the AccessD
mailing list