Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

Appending records in a fixed length text file

Posted on 2004-09-04
2
Medium Priority
?
134 Views
Last Modified: 2010-05-18
I have a fixed length text file named AMCK_GL2 with two columns of data e.g.

3.00      1492.00        
3.00      975.00        
3.00      959.00        
3.00      1150.00        
3.00      1175.00        
3.00      771.00        
3.00      708.00        
3.00      1323.00        
3.00      538.00        
3.00      993.00

What I want to do is capture the file name (AMCK_GL2) in a variable and append each record in the text file so the final product is as follows;

AMCK_GL2      3.00      1492.00        
AMCK_GL2      3.00      975.00        
AMCK_GL2      3.00      959.00        
AMCK_GL2      3.00      1150.00        
AMCK_GL2      3.00      1175.00        
AMCK_GL2      3.00      771.00        
AMCK_GL2      3.00      708.00        
AMCK_GL2      3.00      1323.00        
AMCK_GL2      3.00      538.00        
AMCK_GL2      3.00      993.00

There is probably a very simple answer to the challenge.  For me, however, the challenge is not simple.  I need to solve this problem as soon as possible. Any assistance will be appreciated.        
0
Comment
Question by:indywebteam
2 Comments
 
LVL 18

Expert Comment

by:JR2003
ID: 11980144
Private Sub Command1_Click()
    Set fso = CreateObject("Scripting.FileSystemObject")
    Dim ReadFile, WriteFile, sTextLine
    Set ReadFile = fso.OpenTextFile("c:\AMCK_GL2.txt", ForReading)
    Set WriteFile = fso.OpenTextFile("c:\AMCK_GL2.~txt", ForWriting, True)
    With ReadFile
        While Not .AtEndOfStream
            WriteFile.WriteLine "AMCK_GL2      " & RTrim(.ReadLine)
        Wend
        .Close
    End With
    WriteFile.Close
    With fso
        .CopyFile "c:\AMCK_GL2.~txt", "c:\AMCK_GL2.txt", True
        .DeleteFile "c:\AMCK_GL2.~txt", True
    End With    
End Sub
0
 
LVL 5

Accepted Solution

by:
KarcOrigin earned 1000 total points
ID: 11986895
Try this:

Private Sub Command1_Click()
    Dim i, j As Integer
    Dim LineText, NewText, Filename As String
    Dim SourceFile, TempFile As String
   
    ' Source text file
    SourceFile = "C:\My_Space\Test.txt"
   
    ' Temporary file
    TempFile = "C:\My_Space\TempTest.txt"
   
    ' The extract filename
    Filename = "AMCK_GL2"
   
    ' Opening the source file to read
    i = FreeFile
    Open SourceFile For Input As i
   
    ' Opening the temporary file to write
    j = FreeFile
    Open TempFile For Output As j
     
    ' Loop until the end of file not found in the source file
    Do While Not EOF(i)
   
        ' Read a line
        Line Input #i, LineText
       
        ' Prepare the text of line for the temporary file
        NewText = Filename & Space(15 - Len(Filename)) & LineText
       
        ' Insert the new line in temporary file
        Print #j, NewText
    Loop
   
    ' Closing both original and temporary file
    Close #i
    Close #j
   
    ' Copy the temporary file to the original file
    Call FileCopy(TempFile, SourceFile)
   
    ' Delete the temporary file
    Call Kill(TempFile)
   
End Sub

Cheers!
0

Featured Post

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Most everyone who has done any programming in VB6 knows that you can do something in code like Debug.Print MyVar and that when the program runs from the IDE, the value of MyVar will be displayed in the Immediate Window. Less well known is Debug.Asse…
Enums (shorthand for ‘enumerations’) are not often used by programmers but they can be quite valuable when they are.  What are they? An Enum is just a type of variable like a string or an Integer, but in this case one that you create that contains…
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…

971 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question