Rechercher : dans
Par :

{Access} problème avec les dates de création et mo

steph, le 24 jun 2009 à 10:37:17 
 Signaler ce message aux modérateurs

Bonjour,

Voici mon problème : je souhaiterais qu'à l'ouverture d'Access je puisse connaître la dernière fois que j'ai ouvert ma base de donnée et quand est ce qu'elle a été modifiée. Pour cela j'ai utilisé ce code qui fonctionne qu'à moitié puisqu'il me ramène tout le temps le 09/05/2007 16:18:35 et je ne comprends pas, j'ai aucun message d'erreur à part la même date qui revient à chaque fois. Avez vous une idée à me propser s'il vous plait ? Pour l'instant je travaille sur mon bureau et après je souhaite le mettre sur serveur. Est ce que cela à une importance ?

Option Compare Database

Private Const MAX_PATH = 260
Private Type FILETIME
    dwLowDateTime As Long
    dwHighDateTime As Long
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
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 Const INVALID_HANDLE_VALUE = -1
Private Declare Function FindFirstFile Lib "kernel32" Alias "FindFirstFileA" _
                                       (ByVal lpFileName As String, _
                                       lpFindFileData As WIN32_FIND_DATA) As Long
Private Declare Function FindClose Lib "kernel32" (ByVal hFindFile As Long) As Long
Private Declare Function FileTimeToSystemTime Lib "kernel32" _
                                              (lpFileTime As FILETIME, _
                                               lpSystemTime As SYSTEMTIME) As Long
Private Declare Function FileTimeToLocalFileTime Lib "kernel32" _
                                                 (lpFileTime As FILETIME, _
                                                  lpLocalFileTime As FILETIME) As Long


Private Function FileTimeToDate(ft As FILETIME) As Date

Dim datelocale As FILETIME, datesys As SYSTEMTIME

If FileTimeToLocalFileTime(ft, datelocale) = 0 Then Exit Function
If FileTimeToSystemTime(datelocale, datesys) = 0 Then Exit Function
FileTimeToDate = CDate(datesys.wDay & " " & datesys.wMonth & " " & datesys.wYear & " " & _
                       datesys.wHour & ":" & datesys.wMinute & ":" & datesys.wSecond)

End Function

Sub a()

'Dim findData As WIN32_FIND_DATA, hFind As Long

'hFind = FindFirstFile("c:\autoexec.bat", findData)
'If hFind = INVALID_HANDLE_VALUE Then Exit Sub
'FindClose hFind

'MsgBox "Crée le : " & FileTimeToDate(findData.ftCreationTime)
'MsgBox "Modifié le : " & FileTimeToDate(findData.ftLastWriteTime)
'MsgBox "Accédé le : " & FileTimeToDate(findData.ftLastAccessTime)


Dim fso As FileSystemObject, f As FILE
Set fso = New FileSystemObject

On Error GoTo fin
Set f = fso.GetFile("c:\autoexec.bat")
MsgBox "Crée le : " & f.DateCreated
MsgBox "Modifié le : " & f.DateLastModified
MsgBox "Accédé le : " & f.DateLastAccessed
Set f = Nothing

fin:
Set fso = Nothing

End Sub

Public Function DATECREATION()

Run ("a")

End Function


Merci d'avance

Steph
Configuration: Windows XP Internet Explorer 6.0
Access 2003