Joseph, if you know just a little bit od programming, then use this script (and modify to your needs):
In paradox:
File - New Script
method run(var eventInfo Event)
var nameDB, nameCSV String
ARfields Array[] String
typ, name string
i, j smallint
TS TextStream
TC TCursor
line string
separator string
tmp string
DA DynArray[] AnyType
ch string
endVar
nameDB = "c:\\temp\\table.db" ; input table
nameCSV= "c:\\temp\\file.csv" ; output file
separator = "," ; separator between columns in CSV. ; or ,
; which fields to export to CSV and how to format them
ARfields.AddLast("Order ID,String")
ARfields.AddLast("Qty,Number")
ARfields.AddLast("Item,String")
ARfields.AddLast("Price,Number")
ARfields.AddLast("Delivery,Date")
if not TC.Open(nameDB) then errorshow() return endIf
if not TS.Create(nameCSV) then errorshow() return endIf
; create first line in CSV
line = ""
for i from 1 to ARfields.Size()
tmp = ARfields[i]
if not tmp.match("..,..",name, typ) then
MsgStop("Err","Incorrectly define field\n"+tmp)
return
endIf
line = line + name
if i < ARfields.Size() then line = line + separator endIf ; there is no separator after last field
endFor
TS.WriteLine(line)
; now data lines
scan TC :
line = ""
TC.CopyToArray(DA)
for i from 1 to ARfields.Size()
tmp = ARfields[i]
tmp.match("..,..",name, typ)
if not DA.Contains(name) then MsgStop("Err","There is no field "+name+" in table") return endIf
switch
case lower(typ) = "string" : ; oh those double quotes
tmp = DA[name]
line = line+"\"" ; starting quote
for j from 1 to tmp.size()
ch = tmp.SubStr(j,1)
line = line+ch
if ch = "\"" then line = line+"\"" endIf ; double inline quote
endFor
line = line+"\"" ; ending quote
case lower(typ) = "number" : line = line + format("W.2,EZ,EDW",DA[name]) ; european style numbers
case lower(typ) = "logical" : line = line + string(DA[name])
case lower(typ) = "date" : line = line + format("DD2M2Y3O(%D.%M.%Y)",DA[name]) ; european style date
otherwise : MsgStop("err","Unknown type of field "+name+":"+typ)
endSwitch
if i < ARfields.Size() then line = line + separator endIf ; there is no separator after last field
endFor
TS.WriteLine(line)
endScan
TC.Close()
TS.Close()
endMethod
Just change name of files and fields.
Jure