Database problems should be solved with database tools (ADO, ODBC, Schema.ini, SQL, IIF). As in this demo (64 Bit, Access driver):
Option Explicit
Const adClipString = 2
Dim oFS : Set oFS = CreateObject("Scripting.FileSystemObject")
WScript.Echo oFS.OpenTextFile("schema.ini").ReadAll()
WScript.Echo "--------------------------"
Dim oDb : Set oDb = CreateObject("ADODB.Connection")
Dim sCS : sCS = Join(Array( _
"Driver=Microsoft Access Text Driver (*.txt, *.csv)" _
, "Dbq=" & oFS.GetAbsolutePathName(".") _
, "Extensions=asc,csv,tab,txt" _
), ";")
WScript.Echo sCS
WScript.Echo "--------------------------"
oDb.Open sCS
Dim sSQL
For Each sSQL In Array( _
"SELECT * FROM [48669323.csv]" _
, "SELECT * FROM [48669323.csv] ORDER BY Brand, Color, Price" _
, "SELECT * FROM [48669323.csv] ORDER BY Brand, Color, IIF(Color='red', Price * -1, Price)" _
)
WScript.Echo sSQL
WScript.Echo "--------------------------"
WScript.Echo oDb.Execute(sSQL).GetString(adClipString, , ",", vbCrLf, "<NULL>")
WScript.Echo "--------------------------"
Next
oDb.Close
output:
cscript 48669323.vbs
[48669323.csv]
Format=Delimited(;)
ColNameHeader=False
Col1=Brand Text
Col2=Color Text
Col3=Price Long
Col4=WTF Text
--------------------------
Driver=Microsoft Access Text Driver (*.txt, *.csv);Dbq=C:\Users\eh\tmp;Extensions=asc,csv,tab,txt
--------------------------
SELECT * FROM [48669323.csv]
--------------------------
VW,blue,20000,link
VW,blue,21000,link
VW,blue,29000,link
VW,blue,28000,link
VW,blue,22000,link
VW,red,20000,link
VW,red,28000,link
VW,red,30000,link
VW,red,21000,link
VW,red,26000,link
MERCEDES,blue,30000,link
MERCEDES,blue,38000,link
MERCEDES,blue,40000,link
MERCEDES,blue,31000,link
MERCEDES,blue,37000,link
MERCEDES,red,40000,link
MERCEDES,red,40000,link
MERCEDES,red,47000,link
MERCEDES,red,41000,link
MERCEDES,red,44000,link
--------------------------
SELECT * FROM [48669323.csv] ORDER BY Brand, Color, Price
--------------------------
MERCEDES,blue,30000,link
MERCEDES,blue,31000,link
MERCEDES,blue,37000,link
MERCEDES,blue,38000,link
MERCEDES,blue,40000,link
MERCEDES,red,40000,link
MERCEDES,red,40000,link
MERCEDES,red,41000,link
MERCEDES,red,44000,link
MERCEDES,red,47000,link
VW,blue,20000,link
VW,blue,21000,link
VW,blue,22000,link
VW,blue,28000,link
VW,blue,29000,link
VW,red,20000,link
VW,red,21000,link
VW,red,26000,link
VW,red,28000,link
VW,red,30000,link
--------------------------
SELECT * FROM [48669323.csv] ORDER BY Brand, Color, IIF(Color='red', Price * -1, Price)
--------------------------
MERCEDES,blue,30000,link
MERCEDES,blue,31000,link
MERCEDES,blue,37000,link
MERCEDES,blue,38000,link
MERCEDES,blue,40000,link
MERCEDES,red,47000,link
MERCEDES,red,44000,link
MERCEDES,red,41000,link
MERCEDES,red,40000,link
MERCEDES,red,40000,link
VW,blue,20000,link
VW,blue,21000,link
VW,blue,22000,link
VW,blue,28000,link
VW,blue,29000,link
VW,red,30000,link
VW,red,28000,link
VW,red,26000,link
VW,red,21000,link
VW,red,20000,link
--------------------------
See also: A, B, C.