Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    octobre 2005
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : octobre 2005
    Messages : 16
    Points : 14
    Points
    14

    Par défaut [Résolu] Nom de fonction introuvable

    Bonjour,

    J'ai récemment développé sous Windows NT et Access 2000 une base de données dans laquelle une macro utilisait la fonction filedatetime pour définir la valeur d'un champ en fonction de la date d'un fichier. Cette fonction fonctionnait très bien jusqu'à ce que le responsable informatique de ma boîte installe Windows 2000 sur mon poste.
    Depuis à chaque fois que j'exécute la macro une boîte de dialogue s'affiche avec le message suivant : "l'expression entrée comporte un nom de fonction introuvable".
    Après plusieurs recherches sur Internet j'ai cru comprendre que le pb venait d'un fichier dll. Le problème c'est que si c'est le cas je ne sais pas du tout quel est le fichier qui pose problème et surtout je ne sais pas comment y remédier.
    Encore une fois je suis dans l'obligation de m'en remettre à vos compétences et à votre bonne volonté.
    Quelqu'un parmi vous serait-il en mesure de m'aider ?

    Merci d'avnce

    J. VAUTIER

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    décembre 2005
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : décembre 2005
    Messages : 265
    Points : 178
    Points
    178

    Par défaut fonction introuvable

    Bonjour,
    Cela est effectivement un référence introuvable.

    Regarde le sujet suivant pour résoudre ton problème:

    http://support.microsoft.com/default.aspx?SCID=kb;fr;283806
    Et
    http://support.microsoft.com/kb/208218/ pour la version 2000.

    Bonne chance...

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    octobre 2005
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : octobre 2005
    Messages : 16
    Points : 14
    Points
    14

    Par défaut Re: fonction introuvable

    Bonjour,

    J'ai bien suivi la procédure indiquée dans les liens ci-dessous. Le pb c'est que je n'ai aucune bibliothèque de types ou d'objets marquée "manquante" dans le menu Outils-Références.

    J'en reviens donc malheureusement à mon point d'origine.

    Merci d'avance pour toutes informations complémentaires.

    Cordialement,

    J. VAUTIER

    Citation Envoyé par batou22003
    Bonjour,
    Cela est effectivement un référence introuvable.

    Regarde le sujet suivant pour résoudre ton problème:

    http://support.microsoft.com/default.aspx?SCID=kb;fr;283806
    Et
    http://support.microsoft.com/kb/208218/ pour la version 2000.

    Bonne chance...

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    décembre 2005
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : décembre 2005
    Messages : 265
    Points : 178
    Points
    178

    Par défaut Solution de contournement

    Hum, étrange.

    J'ai trouvé une solution avec les API GetFileTime:GetFileTime function retrieves the date and time that a file was created, last accessed, and last modified.

    Pour ceux que ca intéresse, allez sur le site :
    http://www.allapi.net/


    C'est ce que tu veux il me semble.
    Tiens je t'envoie l'exemple complet. Cela remplacera ta fonction. Ca ne coute rien d'essayer. Si tu as besoin d'une conversion renseigne toi sur les fonctiosn d'api:FileTimeToLocalFileTime et FileTimeToSystemTime.


    Ci-dessous, l'aide sur les paramètres et exemple :

    '******************************************
    · hFile
    Identifies the files for which to get dates and times. The file handle must have been created with GENERIC_READ access to the file.

    · lpCreationTime
    Points to a FILETIME structure to receive the date and time the file was created. This parameter can be NULL if the application does not require this information.

    · lpLastAccessTime
    Points to a FILETIME structure to receive the date and time the file was last accessed. The last access time includes the last time the file was written to, read from, or, in the case of executable files, run. This parameter can be NULL if the application does not require this information.

    · lpLastWriteTime
    Points to a FILETIME structure to receive the date and time the file was last written to. This parame


    '******************************************


    Déclares bien la fonction comme suit en global pour l'utiliser partout
    ou dans le module ou tu l'utilises.

    Declare Function GetFileTime Lib "kernel32" Alias "GetFileTime" (ByVal hFile As Long, lpCreationTime As FILETIME, lpLastAccessTime As FILETIME, lpLastWriteTime As FILETIME) As Long

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    'This program needs a Dialog box, named CDBox1
    '  (To add the Common Dialog Box to your tools menu, go to Project->Components (or press CTRL-T)
    '   and select Microsoft Common Dialog control)
    Private Type FILETIME
        dwLowDateTime As Long
        dwHighDateTime As Long
    End Type
    Private Type SHFILEOPSTRUCT
        hWnd As Long
        wFunc As Long
        pFrom As String
        pTo As String
        fFlags As Integer
        fAborted As Boolean
        hNameMaps As Long
        sProgress As String
    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 Const GENERIC_WRITE = &H40000000
    Private Const OPEN_EXISTING = 3
    Private Const FILE_SHARE_READ = &H1
    Private Const FILE_SHARE_WRITE = &H2
    Private Const FO_DELETE = &H3
    Private Declare Function CopyFile Lib "kernel32" Alias "CopyFileA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal bFailIfExists As Long) As Long
    Private Declare Function CreateDirectory Lib "kernel32" Alias "CreateDirectoryA" (ByVal lpPathName As String, lpSecurityAttributes As Long) As Long
    Private Declare Function DeleteFile Lib "kernel32" Alias "DeleteFileA" (ByVal lpFileName As String) As Long
    Private Declare Function GetFileSize Lib "kernel32" (ByVal hFile As Long, lpFileSizeHigh As Long) As Long
    Private Declare Function GetFileTime Lib "kernel32" (ByVal hFile As Long, lpCreationTime As FILETIME, lpLastAccessTime As FILETIME, lpLastWriteTime As FILETIME) As Long
    Private Declare Function MoveFile Lib "kernel32" Alias "MoveFileA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String) As Long
    Private Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, lpSecurityAttributes As Long, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long
    Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
    Private Declare Function SHFileOperation Lib "shell32.dll" Alias "SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) 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 Sub Form_Load()
        'KPD-Team 1998
        'URL: http://www.allapi.net/
        'E-Mail: KPDTeam@Allapi.net
        Dim lngHandle As Long, SHDirOp As SHFILEOPSTRUCT, lngLong As Long
        Dim Ft1 As FILETIME, Ft2 As FILETIME, SysTime As SYSTEMTIME
        'Set the dialog's title
        CDBox.DialogTitle = "Choose a file ..."
        'Raise an error when the user pressed cancel
        CDBox.CancelError = True
        'Show the 'Open File'-dialog
        CDBox.ShowOpen
        'Create a new directory
        CreateDirectory "C:\KPD-Team", ByVal &H0
        'Copy the selected file to our new directory
        CopyFile CDBox.filename, "C:\KPD-Team\" + CDBox.FileTitle, 0
        'Rename the file
        MoveFile "C:\KPD-Team\" + CDBox.FileTitle, "C:\KPD-Team\test.kpd"
        'Open the file
        lngHandle = CreateFile("C:\KPD-Team\test.kpd", GENERIC_WRITE, FILE_SHARE_READ Or FILE_SHARE_WRITE, ByVal 0&, OPEN_EXISTING, 0, 0)
        'Get the file's size
        MsgBox "The size of the selected file is" + Str$(GetFileSize(lngHandle, lngLong)) + " bytes."
        'Get the fil's time
        GetFileTime lngHandle, Ft1, Ft1, Ft2
        'Convert the file time to the local file time
        FileTimeToLocalFileTime Ft2, Ft1
        'Convert the file time to system file time
        FileTimeToSystemTime Ft1, SysTime
        MsgBox "The selected file was created on" + Str$(SysTime.wMonth) + "/" + LTrim(Str$(SysTime.wDay)) + "/" + LTrim(Str$(SysTime.wYear))
        'Close the file
        CloseHandle lngHandle
        'Delete the file
        DeleteFile "C:\KPD-Team\test.kpd"
        With SHDirOp
            .wFunc = FO_DELETE
            .pFrom = "C:\KPD-Team"
        End With
        'Delete the directory
        SHFileOperation SHDirOp
        End
    End Sub

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    octobre 2005
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : octobre 2005
    Messages : 16
    Points : 14
    Points
    14

    Par défaut Re: Solution de contournement

    Bonjour,

    En fait je n'ai pas utilisé la solution via les API pour résoudre ce problème (pour être honnête je n'avais rien compris).
    J'ai tout simplement utilisé la formule en code plutôt que de passer par une macro.
    Ce qui confirme que les macros offrent beaucoup moins d'intérêt que le code VBA.

    Merci tout de même pour le coup de main.

    Cordialement,

    J. VAUTIER

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2007] L'expression comporte un nom de fonction introuvable
    Par mamadouabd dans le forum IHM
    Réponses: 0
    Dernier message: 20/10/2011, 10h45
  2. Cherche nom de fonction
    Par DeezerD dans le forum Syntaxe
    Réponses: 4
    Dernier message: 15/10/2005, 01h14
  3. Réponses: 2
    Dernier message: 04/10/2005, 15h13
  4. Nom de fonction dynamique
    Par gege2061 dans le forum C
    Réponses: 2
    Dernier message: 21/06/2005, 14h44
  5. Evaluation d'un nom de fonction
    Par uaz dans le forum Général Python
    Réponses: 1
    Dernier message: 04/08/2004, 11h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo