Microsoft KB Archive/94417

= ACC: Unable to Import Portion of Fixed-Width Text Files =

Article ID: 94417

Article Last Modified on 1/18/2007

-

APPLIES TO


 * Microsoft Access 1.0 Standard Edition
 * Microsoft Access 1.1 Standard Edition
 * Microsoft Access 2.0 Standard Edition
 * Microsoft Access 95 Standard Edition
 * Microsoft Access 97 Standard Edition

-



This article was previously published under Q94417



Novice: Requires knowledge of the user interface on single-user computers.



SYMPTOMS
You are unable import any portion of a fixed-width text file.



CAUSE
Each record in a fixed-width text file must be separated from the next by a carriage return or line feed, and all the records must contain the same number of characters. The text file you are trying to import does not meet these criteria.



RESOLUTION
Modify the text file to ensure that all records meet these requirements:


 * Each record is on a different line.
 * Each record contains the same number of characters.



STATUS
This behavior is by design.



MORE INFORMATION
Microsoft Access cannot import fixed-width text records that are not delimited by a carriage return or line feed.

Mainframe users may be familiar with long strings of data where the first x number of characters are the first record, the next x number of characters are the second record, and so on. In order to import these records into Microsoft Access, you must ensure that each record is on its own line with a carriage return or line feed at the end of each record.

For example, consider the following string of characters:

  lastnamefirstnameagelastnamefirstnameagelastnamefirstnameage

You cannot import these records into Microsoft Access without modification. If you try to import this string as a fixed-width text file, you will either create an empty table, or you will be unsuccessful and may need to repair your database.

To modify the file using code, follow these steps:


 * 1) Read in the file in Binary mode with a fixed-length string that is the same length as the record.
 * 2) Write each string to a new file that is open for sequential output.
 * 3) Repeat steps 1 and 2 until you reach the end of file.

Microsoft Access can import the following records:

  lastnamefirstnameage lastnamefirstnameage lastnamefirstnameage

To import a file containing records like these, follow these steps:

In Microsoft Access 97 and 7.0
 On the File menu, point to Get External Data, and then click Import. In the Import dialog box, change Files Of Type to Text Files. Select the text file that you want to import and click Import. This will start the Text Import Wizard. In the Import Text Wizard, click the Advanced button.</li>  Enter the following settings for Field Information:

<pre class="fixed_text">     Field Name   Data Type   Start   Width --     Last         Text        1       8 First       Text        9       9 Age         Number      18      3 </li> Click Save As and save this specification as Test. Then, click OK.</li> Continue through the wizard by clicking Next and click Finish to import the file.</li></ol>

In Microsoft Access 2.0 and 1.x
<ol> From the File menu, choose Imp/Exp Setup.</li> Under Text Delimiter, change the Text Delimiter from &quot; to {none}.</li>  Enter the following settings for Field Information:

<pre class="fixed_text">     Field Name   Data Type   Start   Width --     Last         Text        1       8 First       Text        9       9 Age         Number      18      3 </li> Choose OK, and save this specification as TEST.</li> From the File menu, choose Import.</li> Select Text (Fixed-Width), and then choose OK.</li> Select the text file you want to import, and then choose Import.</li> In the Import Text Options dialog box, select the TEST specification. Choose OK.</li></ol>

<div class="references_section">