Solved

MS Access Create external File

Posted on 2011-03-23
14
244 Views
Last Modified: 2012-05-11
I have the below code.  I am trying to create a file and write to it and its not working.  Any ideas?
Dim fns As String
fns = "c:\List.txt"

Dim fso As FileSystemObject
Dim a As Object

Set fso = CreateObject("Scripting.FileSystemObject")
Set a = fso.CreateTextFile(fns, True)
a.WriteLine ("This is a test.")
a.Close

  Open fns For Output As #3
  Write #3, "TEST"
  Close #3

Open in new window

0
Comment
Question by:CipherIS
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 7
  • 5
  • 2
14 Comments
 
LVL 75
ID: 35204222
Although I have been known to read minds, this is not one of those times.  Can you define "It's not working in detail" ?

mx
0
 
LVL 75
ID: 35204231
And actually, it seems to work for me. It created that text file and when I open it, I see TEXT.

mx
0
 
LVL 75

Accepted Solution

by:
DatabaseMX (Joe Anderson - Microsoft MVP, Access and Data Platform) earned 250 total points
ID: 35204265
btw ... this can be simplified to this:

    Dim fns As String
    fns = "c:\List.txt"
   
    Dim fso As FileSystemObject
   
    Set fso = CreateObject("Scripting.FileSystemObject")
    With fso.CreateTextFile(fns, True)
       .WriteLine ("This is a test.")
       .Close
    End With
  Open fns For Output As #3
  Write #3, "TEST this is working"
  Close #3
 
... with the added advantage that you get Intellisense after typing the DOTS ...

btw ... when I say working, it writes the 'This is a test" first ... then TEST this is working ...

mx
Capture1.gif
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 1

Author Comment

by:CipherIS
ID: 35204403
When I say its not working I mean that C:\List.txt is not being created and as a result no text is in the file.

That is the problem I'm experiencing.  I am using MS Access 2007 on Win7 computer.
0
 
LVL 75
ID: 35204407
Well ... it is certainly working for me.  I have noticed however that if ... some error occurs (like the file is already open) ... the error seems to be 'silent'. So, apparently some error is occurring on your system.  Not sure why it's not being rendered (the error that is).  Maybe some permissions / UAC issue with Win 7 ... or, is your db in a Trusted Location ?

mx
0
 
LVL 1

Author Comment

by:CipherIS
ID: 35204411
db is on my client.

I put set warnings = true but no errors are being generated and error handling is not catching anytghing.,
0
 
LVL 1

Author Comment

by:CipherIS
ID: 35204427
ok - it is creating the file but it is storing it at

C:\Users\Admin\AppData\Local\VirtualStore

Any idea how to get it to create on the "C:\" Drive?
0
 
LVL 75
ID: 35204434
Actually, it appears there is no error if the file is open ... it actually replaces the text (I changed the text). So far, I cannot really force an error.

mx
0
 
LVL 1

Author Comment

by:CipherIS
ID: 35204435
So it seems if I have a dir "C:\Test\" it will create it there but not on C:\ drive

any ideas?
0
 
LVL 75
ID: 35204437
wow.  let me try this on my Win 7 machine ...

mx
0
 
LVL 75
ID: 35204494
Well, on my Win 7 System (A2010), it puts the file in C:\ .... so ...

mx
0
 
LVL 77

Expert Comment

by:peter57r
ID: 35205286
The default position for Win7 (as it was for Vista) is that you can't save into c:\.  End-users would normally be running machines with this restriction in place.


Developers tend to disable any security settings, or run with sufficient admin rights to overcome things that stop them doing what they want so we don't see the problem.

To broaden the issue you will find that in WIn 7 there are lots of folders that could be accessed directly in previous versions of windows which are now inaccessible and map to virtual locations.

0
 
LVL 1

Author Comment

by:CipherIS
ID: 35206519
ok - so I will save to another location can you tell me how to modify the code so it opens the file once its done writing to it?
0
 
LVL 77

Assisted Solution

by:peter57r
peter57r earned 250 total points
ID: 35208861
Assuming fns contains the full path then you can just do..

Application.Followhyperlink fns

This will open the file in whatever is the associated applicaton for .txt files (usually Notepad)
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

Suggested Solutions

Introduction The Visual Basic for Applications (VBA) language is at the heart of every application that you write. It is your key to taking Access beyond the world of wizards into a world where anything is possible. This article introduces you to…
Phishing attempts can come in all forms, shapes and sizes. No matter how familiar you think you are with them, always remember to take extra precaution when opening an email with attachments or links.
Familiarize people with the process of utilizing SQL Server stored procedures from within Microsoft Access. Microsoft Access is a very powerful client/server development tool. One of the SQL Server objects that you can interact with from within Micr…
In Microsoft Access, learn the trick to repeating sub-report headings at the top of each page. The problem with sub-reports and headings: Add a dummy group to the sub report using the expression =1: Set the “Repeat Section” property of the dummy…

696 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