Easiest way to Import csv file without dataport?

The problem with the empty Values can be solved … it isn’t nice but it works. I also tried the nice way using the Variant DataType for the result of Field.ActualSize. But the “Empty Value”-Fields give back an abnormal character which occurs an Error in Navision if you want to use the Variants-Content. So, this is my sample which also works with “empty” Fields in CSV-Files: Name DataType Subtype Length lau_ADOConnection Automation 'Microsoft ActiveX Data Objects 2.7 Library'.Connection lau_ADORecordset Automation 'Microsoft ActiveX Data Objects 2.7 Library'.Recordset lau_ADOFields Automation 'Microsoft ActiveX Data Objects 2.7 Library'.Fields lau_ADOField Automation 'Microsoft ActiveX Data Objects 2.7 Library'.Field CREATE(lau_ADOConnection); ltx_ConnectionStr := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + gcu_AddCtrlFunctions.GetTempPath() + ';Extended Properties="text;HDR=No;FMT=Delimited;"'; lau_ADOConnection.Open(ltx_ConnectionStr); CREATE(lau_ADORecordset); lau_ADORecordset.Open('SELECT * FROM ' + ltx_TempFileName, ltx_ConnectionStr); lau_ADORecordset.MoveFirst; IF NOT lau_ADORecordset.EOF THEN BEGIN lau_ADOFields := lau_ADORecordset.Fields; REPEAT FOR lin_Counter := 0 TO lau_ADOFields.Count-1 DO BEGIN lau_ADOField := lau_ADORecordset.Fields.Item(lin_Counter); ltx_Dummy := FORMAT(lau_ADOField.ActualSize); IF EVALUATE(lin_FieldSize, ltx_Dummy) THEN IF lin_FieldSize > 0 THEN MESSAGE('Feld: %1\Value: %2\Size: %3', lin_Counter, FORMAT(lau_ADORecordset.Fields.Item(lin_Counter).Value), lin_FieldSize); END; lau_ADORecordset.MoveNext UNTIL lau_ADORecordset.EOF; END; lau_ADORecordset.Close; lau_ADOConnection.Close; CLEAR(lau_ADOFields); CLEAR(lau_ADORecordset); CLEAR(lau_ADOConnection);