Numéro d'article: 186304 - Dernière mise à jour: mardi 23 janvier 2007 - Version: 4.3

ACC97 : Comment faire pour lire des fichiers .ldb

A noterCet article s'applique à un système d'exploitation différent de celui que vous utilisez. Le contenu de l'article qui ne vous concerne peut-être pas est désactivé.
Agrandir tout | Réduire tout

Résumé

Avancé : Nécessite une matière de programmation, l'interopérabilité et compétences multi-utilisateur.

Dans Microsoft Access 97, le fichier .ldb sert à déterminer quels enregistrements sont verrouillés dans une base de données partagée et par qui. Il est créé automatiquement lorsque n'importe quel utilisateur ouvre une base de données et supprimés lorsque le dernier utilisateur ferme la base de données. Alors que le fichier .ldb ne peut pas être ouvert directement pour la lecture, Microsoft fournit une bibliothèque de liens dynamiques qui expose les fonctions que vous pouvez utiliser pour lire le fichier .ldb. Cet article contient un exemple de code à l'utilisation de la DLL pour lire un fichier .ldb.

Microsoft fournit des exemples de programmation à des fins d'illustration uniquement, sans garantie expresse ou implicite. Cela inclut, mais n'est pas limité à, les garanties implicites de qualité marchande ou d'adéquation à un usage particulier. Cet article suppose que vous connaissez le langage de programmation présenté et les outils utilisés pour créer et déboguer des procédures. Les techniciens du support technique Microsoft peuvent vous aider à comprendre la fonctionnalité d'une procédure particulière, mais ils ne modifieront pas ces exemples pour fournir des fonctionnalités supplémentaires ou créer des procédures répondant à vos besoins spécifiques.

Plus d'informations

La bibliothèque de liens dynamiques Msldbusr.dll contient des fonctions qui vous permettent d'effectuer les opérations suivantes :
  • Afficher tous les ordinateurs qui se sont connectés dans une base de données depuis que le fichier .ldb a été créé.
  • Afficher uniquement les ordinateurs actuellement connectés à une base de données.
  • Afficher les ordinateurs à l'origine un fichier de base de données est endommagé.
  • Afficher le nombre d'ordinateurs connectés à une base de données.
Msldbusr.dll fait partie du fichier Jetutils.exe. Pour plus d'informations sur Jetutils.exe ou Msldbusr.dll et son utilisation, consultez l'article suivant dans la base de connaissances Microsoft :
176670  (http://support.microsoft.com/kb/176670/EN-US/ ) ACC : Utilitaires de Microsoft Jet disponibles dans le centre de téléchargement
L'exemple suivant Visual Basic pour applications code appelle la fonction LDBUser_GetUsers de Msldbusr.dll permet d'imprimer une liste des ordinateurs actuellement connectés à une base de données dans la fenêtre Débogage.

Après avoir installé Msldbusr.dll du C:\Windows\System (Microsoft Windows 95) ou du dossier C:\Winnt\System32 (Microsoft Windows NT), procédez comme suit pour créer et utiliser l'exemple de fonction :
  1. Créer un nouveau module dans Microsoft Access 97
  2. Tapez ou collez l'instruction de déclaration de fonction suivant dans la section des déclarations du module :
          Declare Function LDBUser_GetUsers Lib "MSLDBUSR.DLL" _
          (lpszUserBuffer() As String, ByVal lpszFilename As String, _
          ByVal nOptions As Long) As Integer
    					
  3. Tapez ou collez l'exemple de fonction suivant dans le module :
          Public Function GetUsers(Optional StrDbPath As String)
    
             ReDim lpszUserBuffer(1) As String
             Dim intLooper As Integer
             Dim Cusers As Long
             Dim strMsgBox As String
    
             On Error GoTo Err_GetUsers
    
             ' Check to see if a database path was passed
             ' to the function. If the argument was not used,
             ' assume that we're to investigate the .ldb
             ' of the current database.
             If IsMissing(StrDbPath) Or StrDbPath = "" Then
                  StrDbPath = CurrentDb.Name
             End If
    
             ' Set Cusers to the number of computers currently connected
             ' to the database. Insert computer information into the
             ' lpszUserBuffer array.
    
             ' Arguments of LdbUser_Get Users:
             ' 1 =   All users who have logged in since the LDB file was
             ' created
             ' 2 =   Only users who are currently logged in
             ' 4 =   Only users who are causing the database file to be
             ' corrupted
             ' 8 =   Just return the count of users
    
             Cusers = LDBUser_GetUsers(lpszUserBuffer(), StrDbPath, 2)
    
             ' Print possible errors returned by the function.
             Select Case Cusers
                  Case -1
                       strMsgBox = "Can't open the LDB file"
                  Case -2
                       strMsgBox = "No user connected"
                  Case -3
                       strMsgBox = "Can't Create an Array"
                  Case -4
                       strMsgBox = "Can't redimension array"
                  Case -5
                       strMsgBox = "Invalid argument passed"
                  Case -6
                       strMsgBox = "Memory allocation error"
                  Case -7
                       strMsgBox = "Bad index"
                  Case -8
                       strMsgBox = "Out of memory"
                  Case -9
                       strMsgBox = "Invalid Argument"
                  Case -10
                       strMsgBox = "LDB is suspected as corrupted"
                  Case -11
                       strMsgBox = "Invalid argument"
                  Case -12
                       strMsgBox = "Unable to read MDB file"
                  Case -13
                       strMsgBox = "Can't open the MDB file"
                  Case -14
                       strMsgBox = "Can't find the LDB file"
             End Select
    
             If Not IsEmpty(strMsgBox) And strMsgBox <> "" Then
                  MsgBox strMsgBox, vbCritical, "Error"
                  Exit Function
             End If
    
             ' Print computer names to Debug window.
             For intLooper = 0 To Cusers - 1
                  Debug.Print "User"; intLooper + 1; ":"; _
                  lpszUserBuffer(intLooper)
             Next
    
        Exit_GetUsers:
             Exit Function
        Err_GetUsers:
             MsgBox Err.Description
             Resume Exit_GetUsers
    
        End Function
    					
  4. Pour tester cette fonction, tapez la ligne suivante dans la fenêtre Débogage, puis appuyez sur ENTRÉE :
    ?getusers()
    					

Références

Pour plus d'informations sur Msldbusr.dll, voir le fichier Msldbusr.doc dans Jetutils.exe.

Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Access 97 Standard
Mots-clés : 
kbmt kbhowto kbprogramming KB186304 KbMtfr
Traduction automatiqueTraduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 186304  (http://support.microsoft.com/kb/186304/en-us/ )
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.
Retired KB ArticleExclusion de responsabilité concernant les contenus obsolètes dans la Base de connaissances
Cet article concerne des produits pour lesquels Microsoft n'offre plus de support. Il est par conséquent fourni « en l'état » et ne sera plus mis à jour.