Learn Microsoft Access Advanced Programming Techniques, Tips and Tricks.

Thursday, December 7, 2006

CREATE TEXT FILE FROM MSACCESS

Creating Text File from Microsoft Access

The FileSystemObject Object provides access to the computer's file system.

The following code illustrates how the FileSystemObject is used to return a TextStream object that can be read from or written to:

Syntax: Scripting.FileSystemObject

Example:

Sub CreateTextFile()
Dim fs As Object, txt
On Error goto CreateTextFile_Err
Set fs = CreateObject("Scripting.FileSystemObject")
Set txt = fs.CreateTextFile("C:\mytest.txt", True)
txt.writeline ("This is a test.")
txt.Close

CreateTextFile_Exit:
Exit Sub

CreateTextFile_Err:
Msgbox Err.Description,,"CreateTextFile"
Resume CreateTextFile_Exit
End Sub 

In the code shown above, the CreateObject function returns the FileSystemObject (fs). The CreateTextFile method then creates the file as a TextStream object txt, and the WriteLine method writes a line of text to the created text file. The Close method flushes the buffer and closes the file.


Reading From Text File

Reading Text File using FileSystemObject Example:

Sub ReadTextFile()
Dim fs As Object, txt, txtline

On Error Goto ReadTextFile_Err

Set fs = CreateObject("Scripting.FileSystemObject")
Set txt = fs.opentextfile("C:\mytest.txt")
txtline = txt.readline
txt.Close

MsgBox "C:\mytest.txt File contents : " & txtline

ReadTextFile_Exit:
Exit Sub

ReadTextFile_Err:
Msgbox Err.Description,,"ReadTextFile"
Resume ReadTextFile_Exit
End Sub 

Next >> Rename File

5 comments:

  1. This post is invaluable, I completely liked it, I will be back for much more!

    ReplyDelete
  2. Can you use this same a.writeline to write more than one line of code. I am trying to make a text file and merge in values from a form into the text document im creating. I wanted to use reports as its easier, but i cant find a function to spit out a .txt file of the document. All im trying to do is create a html page based on table values and save it to location on my C:drive

    ReplyDelete
  3. Yes, you can repeat the a.Writeline() statement with values to write into the text file as many times as you like. Each item will be written on a separate line.

    ReplyDelete
  4. this is a stupid webssiteeeee, if ur gunna make a website atleast make it useful,u freakss..
    this did not help at all....
    ill make sure no one sees this site again
    all i wanted to kno is how to create a textfile step by step and u cant even show me that
    uselessss!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    ReplyDelete
  5. If you are trying write a text file based on information in a form:
    Go to the form design view
    Insert a new button
    Right-click the button, go to the event tab and select the ... for "On Click"
    Select the code builder option and enter the code:

    Dim fs As Object, a, txtline
    On Error Goto ReadTextFile_Err
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set a = fs.opentextfile("C:\mytest.txt")
    txtline = a.writeline
    a.Close
    MsgBox "C:\mytest.txt File contents : " & txtline

    ReadTextFile_Exit:
    Exit Sub

    ReadTextFile_Err:
    Msgbox Err.Description,,"ReadTextFile"
    Resume ReadTextFile_Exit
    End Sub

    The line txtline = a.writeline is where you would but the body of your message enclosed in parenthesis (). You can then insert text inside of " " or field using the & Field Name &. If you want a new line enter vbCrLf _ at the end of the line. Each new line must start with &

    For Example:
    & "This survey was completed by " & Contact & " (" & Contact_Title & ") on: " & Date_Called & vbCrLf & vbCrLf _

    ReplyDelete

Comments subject to moderation before publishing.

Powered by Blogger.