MartyConnelly
martyconnelly at shaw.ca
Thu Aug 12 15:47:16 CDT 2004
If you need more detail, this gives you last write,creation and last access date Option Compare Database Option Explicit Private Declare Function FindFirstFile Lib "kernel32" Alias _ "FindFirstFileA" (ByVal lpFileName As String, lpFindFileData As _ WIN32_FIND_DATA) As Long Private Declare Function FileTimeToLocalFileTime Lib "kernel32" _ (lpFileTime As FILETIME, lpLocalFileTime As FILETIME) As Long Private Declare Function FileTimeToSystemTime Lib "kernel32" _ (lpFileTime As FILETIME, lpSystemTime As SYSTEMTIME) As Long 'get the file's datetime stamp Private Declare Function GetFileTime Lib "kernel32" _ (ByVal hFile As Long, lpCreationTime As FILETIME, _ lpLastAccessTime As FILETIME, _ lpLastWriteTime As FILETIME) As Long Const MAX_PATH = 260 Private Type FILETIME dwLowDateTime As Long dwHighDateTime As Long End Type Private Type WIN32_FIND_DATA dwFileAttributes As Long ftCreationTime As FILETIME ftLastAccessTime As FILETIME ftLastWriteTime As FILETIME nFileSizeHigh As Long nFileSizeLow As Long dwReserved0 As Long dwReserved1 As Long cFileName As String * MAX_PATH cAlternate As String * 14 End Type Private Type SYSTEMTIME wYear As Integer wMonth As Integer wDayOfWeek As Integer wDay As Integer wHour As Integer wMinute As Integer wSecond As Integer wMilliseconds As Integer End Type 'used to store timestamps from GetFileTime API call Public Type FileTimeStamps ftCreate As Date ftAccess As Date ftModify As Date End Type Sub test() Dim FileData As WIN32_FIND_DATA Dim FT As FILETIME Dim ST As SYSTEMTIME Dim lretval As Long FileData.cFileName = Space$(MAX_PATH) lretval = FindFirstFile("C:\Access files\Snapscreenform.mdb", FileData) Debug.Print FileData.cFileName Debug.Print ConvertGetFileTime(FileData.ftCreationTime) Debug.Print ConvertGetFileTime(FileData.ftLastAccessTime) Debug.Print ConvertGetFileTime(FileData.ftLastWriteTime) Debug.Print FileDateTime("C:\Access files\Snapscreenform.mdb") Debug.Print FileData.ftCreationTime.dwHighDateTime & _ FileData.ftCreationTime.dwLowDateTime End Sub Private Function ConvertGetFileTime(FT As FILETIME) As Date 'convert the low and high times to dates Dim lngWFD As Long Dim ST As SYSTEMTIME Dim LOCTime As FILETIME 'convert to your time, not GMT FileTimeToLocalFileTime FT, LOCTime FileTimeToSystemTime LOCTime, ST ConvertGetFileTime = _ DateSerial(ST.wYear, ST.wMonth, ST.wDay) + _ TimeSerial(ST.wHour, ST.wMinute, ST.wSecond) End Function Arthur Fuller wrote: >That will work where the scripting runtime is installed, but IME almost >every company forbids its installation because it is so potentially >dangerous. > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of >paul.hartland at fsmail.net >Sent: Thursday, August 12, 2004 4:15 AM >To: Access Developers discussion and problem solving >Subject: Re: [AccessD] Date Modified > > >Rocky, >If you set a reference to Microsoft Scripting Runtime then add the >following code: Dim fsys As New FileSystemObject Dim dtProductsCSV As >Date Dim fProductsCSV As Object > >Set fProductsCSV = fsys.GetFile(FilePath & FileName) dtProductsCSV = >fProductsCSV.DateLastModified > > > > > > >Message date : Aug 12 2004, 01:53 AM >>From : "Rocky Smolin - Beach Access Software" >To : AccessD at databaseadvisors.com >Copy to : >Subject : [AccessD] Date Modified >Dear List: > >Is there a method to retrieve the Date Modified from a file? > >TIA > >Rocky Smolin >Beach Access Software >http://www.e-z-mrp.com > >-- >_______________________________________________ >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com > > > -- Marty Connelly Victoria, B.C. Canada