Help me sort a two - d array

P

Pejo

I need help sorting a multidimensional array.


I have an array myarray(column_no, row_no) it has 5 columns for this
example I have used 4 rows but there will usually be a couple of hundred.
Assuming yhey look something like below



myArray(0,1) = 1.6
myArray(1,1) =71544
myArray(2,1) =chewtoy
myArray(3,1) = 5
myArray(4,1) = 5
myArray(5,1) = 0

myArray(0,2) = 1.9
myArray(1,2) =43124
myArray(2,2) =electricfan
myArray(3,2) = 3
myArray(4,2) = 2
myArray(5,2) = 1

myArray(0,3) = 1.3
myArray(1,3) =8734
myArray(2,3) =login
myArray(3,3) = 5
myArray(4,3) = 4
myArray(5,3) = 1

myArray(0,4) = 1.1
myArray(1,4) =1624
myArray(2,4) =off
myArray(3,4) = 6
myArray(4,4) = 2
myArray(5,4) = 4



Does anyone know of a function I can call that would allow my to resort my
array based on which column I pass it?

Thanks for your help.



There are 10 types of people in this world, those that understand binary,
and those that don't.
 
M

Manohar Kamath [MVP]

You can write your own sort functions for each column type. OR, you could
create a custom recordset, instead of an array, and use it instead.
Recordsets have in-built sort mechanisms you can utilize. I would definitely
recommend that.
 
H

Howard Rothenburg

Try the following to create a recordset on the fly, add data, and sort
the recordset.




Dim myObject
Set myObjects = myObject
Dim myRecordset
Set myRecordset =CreateObject("ADODB.RecordSet")
myRecordset.CursorLocation = 3 'client location
myRecordset.Fields.Append "myField1", 200, 100 'varchar 100 long
myRecordset.Fields.Append "myField2", 200, 400 'varchar 400 long
myRecordset.Open

For Each myObject In myObjects
myRecordset.AddNew
myRecordset.Fields("myField1").Value =
myObject.myCollection("myField1").value
myRecordset.Fields("myField2").Value =
myObject.myCollection("myField2").value
myRecordset.Update
Next

myRecordset.sort = "myField1 " & " DESC"
myRecordset.MoveFirst

While Not myRecordset.EOF
response.write myRecordset.Fields("myField1").Value & ", " &
myRecordset.Fields("myField2").Value & "<br>
myRecordset.MoveNext
Wend
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,903
Latest member
orderPeak8CBDGummies

Latest Threads

Top