Improve company productivity with a Business Account.Sign Up

  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 906
  • Last Modified:

Reading Applied Solutions .DAT and .IDX files

I need help converting ASI .dat and .idx files to a readable format. A similar post to this from 1/2004 failed to mention that this software was developed by Fred Smith (ASI's owner) as a powersports dealer management and inventory control software- This is NOT the same ASI which is currently a security software company today. Fred Smith's ASI company went out of business in the early 90's and originally ran on a THEOS operating system. Fred ported the software for us in the late 90's to run in the windows environment through an emulator. I think Fred may have passed away as there have been no replies from him since April 2008. I desperately need to update price files, but first I have to be able to understand the format. I hope someone can help.

The price updates consist of a .dat file and a .idx file. I will include the first few lines from the files:
First from the .dat file:
0NH622212000HD SHOCK SPRING,  7602A
0NH623141000HD FORK SPRING    7200A
101811111000BRUSH             1488A
102111810000S/S 102111810100     4D
102111810100GASKET,CYL HEAD    430A
102113610000S/S 109113610000     4D
102114000000S/S 102114000100  2915A
102114220000S/S 102114220100  1307A
102116330100S/S 102116330200   102A

The entire file looks like above.
Now from the .idx file:

  þSÿ   (                   ÖÙ  .  ÖÚ                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           ÿ~  "30X1163101Y0  æ30X1163101Y0  ç                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             ò0NH622212000   0NH623141000   0WG390801010   0WG411311300   0WG413555100   0WG413625010   0WG413625110   0WG4A2460000   0WK811311000         0WK811351300  
0WK811631200   0WK8250EG010   101156360000  
101156370000   101161340000   101163110000   101163210000   101163280000   101181370000   101212770000   101212790000   101217900000   101241870000   101243560000   101245150000   101247230000   101254120000   101272160000   101283230000   101811111000   102111810000                  r4ES2173F2000  ÖÓ4ES2173F2100  ÖÔ4ES2173F3000  ÖÕ4ES2173F4000  ÖÖ4ES2173F5000  Ö×4ES2173L0000  ÖØ4ES2173L0100  ÖÙ                                  

Some of the file is readable and some uses special characters. Does anyone know this files format? can you recommend a software product to read the contents of these files or better, upconvert ascii files to the correct format?

Thanks in advance!
  • 3
1 Solution
Jim P.Commented:
It looks like the .dat files are the ones you have to worry about, and not the index files.

Are you trying to continue using the software, or are you just trying to extract it to use in a new application. If just trying to extract it, you can probably build a data importer using VBA and an Access DB and extract it that way. If you're trying to edit data that gets into a much messier issue.
J_ConawayAuthor Commented:
I am just trying to extract data at this time, however if possible, we would like to continue using the app.
The price files are designed to import to the application to update pricing in the database. If I can determine the format used, I thought that I could recreate the files with new data. I am very familiar with Access, but not so with VBA import. Could you describe the process?

Jim P.Commented:
Just so you know what I'm seeing, the special characters render oddly in Firefox.

Anyway, the code below is something I'm using to read a normal text file output from a vbscript. You would have to adapt it for your table and filed names but this is the general method to get it done.
Public Function Import_DLL_Info_From_File()
'Declare variables
Dim FileNum As Integer
Dim InputFile As String
Dim InputString As String
Dim StringArray() As String
Dim TableName As String
Dim DB As Database
Dim RS As Recordset
Dim SQL As String
'I work with a sample or "base" table that is empty and I copy the structure _
 and load the data into the new table. That way I don't have to constantly _
 empty the results table.
TableName = "DLL_Attributes_PreRemove"
DoCmd.SetWarnings False
DoCmd.DeleteObject acTable, TableName
DoCmd.CopyObject , TableName, acTable, "DLL_Attributes_Base"
DoCmd.SetWarnings True
'Opening the table to write to
Set DB = CurrentDb()
Set RS = DB.OpenRecordset(TableName)    '<-- Change to your tablename
'Opening the file to read from
FileNum = FreeFile()
InputFile = "C:\Temp\dll_attributes1_12_18.txt"        '<-- Change to your folder and path
Open InputFile For Input Access Read Shared As #FileNum
Line Input #FileNum, InputString   '<-- get rid of the header line
Do Until EOF(FileNum) = True
    Line Input #FileNum, InputString            'Read the data in
    'Figure out what the ASCII number of the character(s) that separate _
     the columns and use the line below to replace them. If it is two _
     characters you can replace them both. Uncomment the line as needed.
    'InputString = Replace(InputString, Chr(128), Chr(9))
    StringArray() = Split(InputString, Chr(9)) '<-- split the InputString on the tab character
    With RS
        !File_Name = Lowest_Dir(StringArray(0))
        !File_Name_Path = StringArray(0)
        !File_Type = StringArray(1)
        !File_Size = StringArray(2)
        !File_Version = StringArray(3)
        !Manufacturer = StringArray(4)
        !Readable_Attr = StringArray(5)
        !Writeable_Attr = StringArray(6)
        !Hidden_Attr = StringArray(7)
        !System_Attr = StringArray(8)
        !Archive_Attr = StringArray(9)
        !Encrypted_Attr = StringArray(10)
        !Compressed_Attr = StringArray(11)
        !Created_Date = StringArray(12)
        !Installed_Date = StringArray(13)
        !Last_Accessed_Date = StringArray(14)
        !Last_Modified_Date = StringArray(15)
    End With
Close #FileNum
Set RS = Nothing
Set DB = Nothing
End Function

Open in new window

Jim P.Commented:
What could I have done to make this a an A grade?

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Get 10% Off Your First Squarespace Website

Ready to showcase your work, publish content or promote your business online? With Squarespace’s award-winning templates and 24/7 customer service, getting started is simple. Head to and use offer code ‘EXPERTS’ to get 10% off your first purchase.

  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now