Solved

Chr(34) function not working in MS Access 2010

Posted on 2013-05-21
9
1,274 Views
Last Modified: 2013-05-21
The following code works in MS Access 2007 but not 2010. "Compile Error: Can't find project or library.

Dim path As String
Dim dir As String
Dim wdpath As String

dir = MFunctions.ReadFile("CL_FileDir.txt")
path = "C:\" & dir & "\" & fn & ".docx"
wdpath = "WinWord.exe" & " " & Chr(34) & path & Chr(34)
0
Comment
Question by:jbotts
  • 4
  • 2
  • 2
  • +1
9 Comments
 
LVL 81

Expert Comment

by:byundt
ID: 39186180
Have you set a reference to MFunctions?
Have you declared fn and provided it a value?

Absent those issues, your code is compiling in my copy of Access 2010
0
 

Author Comment

by:jbotts
ID: 39186200
In the Tools/References I do not find MFunctions. I have not declared fn and provided a value. I don't understand. Below is the code for the sub:
Public Sub OpenDoc(fn As String)
On Error GoTo PROC_ERR
    Dim path As String
    Dim dir As String
    Dim wdpath As String

    dir = MFunctions.ReadFile("CL_FileDir.txt")
    path = "C:\" & dir & "\" & fn & ".docx"
       
    wdpath = "WinWord.exe" & " " & Chr(34) & path & Chr(34)

    Shell wdpath, vbNormalFocus
PROC_EXIT:
    Exit Sub
PROC_ERR:
    MsgBox Err.Description & ": " & Err.Number
    Resume PROC_EXIT
End Sub
0
 
LVL 81

Expert Comment

by:byundt
ID: 39186207
When I put sub OpenDoc in a module sheet of a new database, the compiler rejects the statement using MFunctions--saying "Variable not defined"

Given the rest of that statement, I speculated that MFunctions might be an object in a library that you had set a reference to in Access 2007, but which you had not done so for Access 2010.
0
Ransomware: The New Cyber Threat & How to Stop It

This infographic explains ransomware, type of malware that blocks access to your files or your systems and holds them hostage until a ransom is paid. It also examines the different types of ransomware and explains what you can do to thwart this sinister online threat.  

 

Author Comment

by:jbotts
ID: 39186212
byundt, my apology. MFunctions is a module and ReadFile a defined function. The code is below:

Public Function ReadFile(FName) As String
On Error GoTo PROC_ERR

    Dim fso As FileSystemObject
    Dim tso As TextStream
    Dim result As String
    Dim fpath As String
       
    fpath = MFunctions.GetDBPath & FName
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set tso = fso.OpenTextFile(fpath, ForReading)
    result = tso.ReadLine()
    ReadFile = result
PROC_EXIT:
    Exit Function
PROC_ERR:
    MsgBox Err.Description
    Resume PROC_EXIT
   
End Function
0
 

Author Comment

by:jbotts
ID: 39186216
I also got an error for the declaration:

Dim fso as FileSystemObject

Thanks
0
 
LVL 29

Accepted Solution

by:
IrogSinta earned 500 total points
ID: 39186233
To use FileSystemObject, I believe you need to set a reference to Microsoft Scripting Runtime in Tools/References.
0
 

Author Comment

by:jbotts
ID: 39186249
I don't find that reference. I tried Microsoft Script 1.0 and Microsoft Scriptlet but still ge the same compile error for Chr()
0
 
LVL 84
ID: 39186267
Almost certainly a Reference issue. You might try unchecking a reference, then closing the REf dialog, reopen it and re-check that reference.

You should also try a Debug - Compile (from the VBA Editor window). Fix any errors you find there, and continue doing that until the Compile menuitem is disabled.
0
 
LVL 29

Expert Comment

by:IrogSinta
ID: 39186273
Well instead of adding the reference, you could use late binding like so:

Dim fso As Object
Dim fsoStream As Object
'initialise the FileSystemObject
Set fso = CreateObject("Scripting.FileSystemObject")
0

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Question has a verified solution.

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

This article will show you how to use shortcut menus in the Access run-time environment.
This article will guide you to convert a grid from a picture into Excel format using Microsoft OneNote and no other 3rd party application.
Learn how to make your own table of contents in Microsoft Word using paragraph styles and the automatic table of contents tool. We'll be using the paragraph styles in Word’s Home toolbar to help you create a table of contents. Type out your initial …
This is Part 3 in a 3-part series on Experts Exchange to discuss error handling in VBA code written for Excel. Part 1 of this series discussed basic error handling code using VBA. http://www.experts-exchange.com/videos/1478/Excel-Error-Handlin…

792 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