Heenan, Lambert
Lambert.Heenan at AIG.com
Mon Oct 3 10:00:32 CDT 2005
First of all, here's a better way to check if a file exists... Function FileExists(strFile As String) As Boolean ' Comments : Determines if the file exists ' Works for hidden files and folders ' Parameters: strFile - file to check ' Returns : True if the file exists, otherwise false Dim intAttr As Integer Dim errnum As Long On Error Resume Next 'GET THE FILE ATTRIBUTE INSTEAD OF THE LENGTH OF THE FILE NAME intAttr = GetAttr(strFile) errnum = Err.Number FileExists = (Err.Number = 0) End Function It's better in that it works for hidden filed and folder too. As for why Dir() on a non-existent folder/drive gives you the Error 52, I'm just as clueless as you are. On my (Access 2002) system Dir("G:\BHCRecorder\Scripts\chkfile.ozx") just returns an empty string (no G drive here either) - as it should do. Lambert -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Greg Smith Sent: Monday, October 03, 2005 10:26 AM To: accessd at databaseadvisors.com Subject: [AccessD] DIR Command Failing-but not everywhere... Hi everyone! Hope you all are having a GREAT day! I've got a real puzzle here. I'm using the Dir() command (Access 2003 module) to find if a filename exists in a specific directory, or not. The exact syntax is shown below. The code is checking for a specific file in two different directories (one exists at work, and one at the customer's), and if it can't find that file in either location, the application warns the user that it's not available right now and closes automatically. The code is: strFileName = Dir("c:\MyData\chkfile.ozx") strFileNameBHC = Dir("G:\BHCRecorder\Scripts\chkfile.ozx") If strFileName <> "chkfile.ozx" And strFileNameBHC <> "chkfile.ozx" ... This code works perfectly at work and at the customer's. So, you may ask, what's the big deal? Well, I also work on this at home, and I just (within the last 3 weeks) reformatted my home computer (winXP), reinstalled everything (supposedly...), and service packed everything up to date. When I run this application at home, it fails on the Dir() command where the directory doesn't exist. Since I'm at home, for example, I don't have a "G" drive and it fails on that one with the message "Bad Filename or Number", and the error number is 52. The application is identical in both places...that is, I take a copy home and put it on my computer, relink all the tables to the BE and everything else is the same. Either I've not installed something correctly at home, or I've not installed something I need to have. Or both. The references are all the same and none are missing at either location. Anyone else see this before? TIA!! Greg Smith -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com