Avatar billede puppetmaster Nybegynder
06. december 2004 - 15:56 Der er 8 kommentarer og
1 løsning

Variabel størrelse array

Hvordan laver man et array, så det har en variabel størrelse pladser? Følgende virker jo ikke...
Dim myArray(0 To rst.EOF) As String
Avatar billede tofte Juniormester
06. december 2004 - 15:59 #1
Avatar billede madschristensen Nybegynder
06. december 2004 - 15:59 #2
Et variabelt størrelse array erklæres:
dim myArray() as string
Avatar billede tofte Juniormester
06. december 2004 - 15:59 #3
ja, referencen er godt nok til noget VBScript, men melodien er den samme
Avatar billede puppetmaster Nybegynder
06. december 2004 - 16:00 #4
Det prøvede jeg også, Mads, med denne:
Dim sngMulti(0 To rst2.EOF) As String
Avatar billede puppetmaster Nybegynder
06. december 2004 - 16:01 #5
tofte, jeg ønsker jo ikke at redimensionere arrayet, bare sætte det "med det samme", udfra hvor mange resultater der kommer tilbage fra SQL'en.
Beklager fejlen i ovenstående, jeg mente jo selvfølgelig:
Dim myArray(0 To rst.RecordCount -1) As String
Avatar billede madschristensen Nybegynder
06. december 2004 - 16:02 #6
Declaring a Dynamic Array
By declaring a dynamic array, you can size the array while the code is running. Use a Static, Dim, Private, or Public statement to declare an array, leaving the parentheses empty, as shown in the following example.

Dim sngArray() As Single

Note  You can use the ReDim statement to declare an array implicitly within a procedure. Be careful not to misspell the name of the array when you use the ReDim statement. Even if the Option Explicit statement is included in the module, a second array will be created.

In a procedure within the array's scope, use the ReDim statement to change the number of dimensions, to define the number of elements, and to define the upper and lower bounds for each dimension. You can use the ReDim statement to change the dynamic array as often as necessary. However, each time you do this, the existing values in the array are lost. Use ReDim Preserve to expand an array while preserving existing values in the array. For example, the following statement enlarges the array varArray by 10 elements without losing the current values of the original elements.

ReDim Preserve varArray(UBound(varArray) + 10)

Note  When you use the Preserve keyword with a dynamic array, you can change only the upper bound of the last dimension, but you can't change the number of dimensions.
06. december 2004 - 16:02 #7
Private sub DinProc
Dim MyArray() As Integer 
...
...
Redim MyArray(0 to rst2.recordcount)   
...
End sub
Avatar billede madschristensen Nybegynder
06. december 2004 - 16:04 #8
Nemlig....
Avatar billede puppetmaster Nybegynder
09. december 2004 - 13:24 #9
Takker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester