Comment utiliser l’API Common Dialog dans une base de données dans Access 2003 ou Access 2007
Numéro de la base de connaissances d’origine : 888695
INTRODUCTION
Cet article explique comment utiliser l’API Boîte de dialogue commune dans Microsoft Office Access 2003 ou Microsoft Office Access 2007 pour remplacer la fonctionnalité Boîte de dialogue commune. La fonctionnalité est incluse uniquement dans Microsoft Office 2000 Developer Edition ou dans Microsoft Office XP Developer Edition.
Microsoft fournit des exemples de programmation à titre d’illustration uniquement, sans garantie expresse ou implicite. Cela inclut, sans y être limité, les garanties implicites de commercialisation et d’adaptation à un but en particulier. Cet article considère 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 expliquer les fonctionnalités d’une procédure particulière, mais ils ne peuvent pas modifier les exemples en vue de vous fournir des fonctionnalités supplémentaires ou de créer des procédures répondant à vos besoins spécifiques.
Étapes de remplacement de la fonctionnalité de boîte de dialogue commune
Microsoft Office Access 2003
Dans Access, ouvrez l’exemple de base de données nommé Northwind.mdb.
Remarque
La base de données Northwind.mdb pour Access 2003 se trouve généralement dans le
C:\Program Files\Microsoft Office\OFFICE11\Samples
dossier .Sous Objets dans la fenêtre Base de données Northwind, cliquez sur Formulaires .
Dans la barre d’outils de la fenêtre Base de données , cliquez sur Nouveau.
Dans la boîte de dialogue Nouveau formulaire , cliquez sur Mode Création, puis sur OK.
Ajoutez une zone de texte à Form1, cliquez avec le bouton droit sur la zone de texte, puis cliquez sur Propriétés.
Cliquez sur l’onglet Tout , cliquez sur Nom, tapezText1, puis fermez la boîte de dialogue Propriétés .
Cliquez avec le bouton droit sur le contrôle label associé à la zone de texte Text1 , cliquez sur Propriétés, puis sur l’onglet Tout .
Cliquez sur Légende, tapez Texte1, puis fermez la boîte de dialogue Propriétés .
Ajoutez un bouton de commande à Form1, cliquez avec le bouton droit sur le bouton de commande, cliquez sur Propriétés, cliquez sur Nom, tapez Commande1, cliquez sur Légende, puis tapez Command1.
Cliquez sur l’onglet Événement, cliquez sur [Procédure événementielle] dans la liste Sur clic, puis cliquez sur le bouton de sélection pour démarrer l’Rédacteur Microsoft Visual Basic.
Modifiez le code de la procédure Command1_Click comme suit :
Private Sub Command1_Click() Me!Text1 = LaunchCD(Me) End Sub
Dans le menu Insérer , cliquez sur Module, puis insérez le code suivant dans Module1 :
Private Declare Function GetOpenFileName Lib "comdlg32.dll" Alias _ "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long Private Type OPENFILENAME lStructSize As Long hwndOwner As Long hInstance As Long lpstrFilter As String lpstrCustomFilter As String nMaxCustFilter As Long nFilterIndex As Long lpstrFile As String nMaxFile As Long lpstrFileTitle As String nMaxFileTitle As Long lpstrInitialDir As String lpstrTitle As String flags As Long nFileOffset As Integer nFileExtension As Integer lpstrDefExt As String lCustData As Long lpfnHook As Long lpTemplateName As String End Type Function LaunchCD(strform As Form) As String Dim OpenFile As OPENFILENAME Dim lReturn As Long Dim sFilter As String OpenFile.lStructSize = Len(OpenFile) OpenFile.hwndOwner = strform.hwnd sFilter = "All Files (*.*)" & Chr(0) & "*.*" & Chr(0) & _ "JPEG Files (*.JPG)" & Chr(0) & "*.JPG" & Chr(0) OpenFile.lpstrFilter = sFilter OpenFile.nFilterIndex = 1 OpenFile.lpstrFile = String(257, 0) OpenFile.nMaxFile = Len(OpenFile.lpstrFile) - 1 OpenFile.lpstrFileTitle = OpenFile.lpstrFile OpenFile.nMaxFileTitle = OpenFile.nMaxFile OpenFile.lpstrInitialDir = "C:\" OpenFile.lpstrTitle = "Select a file using the Common Dialog DLL" OpenFile.flags = 0 lReturn = GetOpenFileName(OpenFile) If lReturn = 0 Then MsgBox "A file was not selected!", vbInformation, _ "Select a file using the Common Dialog DLL" Else LaunchCD = Trim(Left(OpenFile.lpstrFile, InStr(1, OpenFile.lpstrFile, vbNullChar) - 1)) End If End Function
Dans le menu Déboguer, cliquez sur Compiler Northwind, puis fermez le Rédacteur Visual Basic.
Dans le menu Affichage , cliquez sur Mode Formulaire.
Cliquez sur Commande1, puis sur un fichier dans la fenêtre qui s’ouvre.
Le chemin d’accès du fichier s’affiche dans la zone de texte Text1 .
Microsoft Office Access 2007
Dans Access 2007, ouvrez l’exemple de base de données nommé Northwind.accdb.
Sous l’onglet Créer , cliquez sur Formulaire dans le groupe Formulaires .
Sous l’onglet Format , cliquez sur la flèche vers le bas sous Affichage, puis cliquez sur Mode Création.
Ajoutez une zone de texte à Form1, cliquez avec le bouton droit sur la zone de texte, puis cliquez sur Propriétés.
Cliquez sur l’onglet Tout , cliquez sur Nom, puis tapez Texte1.
Cliquez avec le bouton droit sur le contrôle label associé à la zone de texte Text1 , cliquez sur Propriétés, puis sur l’onglet Tout .
Cliquez sur Légende, puis tapez Texte1.
Ajoutez un bouton de commande à Form1, cliquez avec le bouton droit sur le bouton de commande, cliquez sur Propriétés, cliquez sur Nom, tapez Commande1, cliquez sur Légende, puis tapez Command1.
Cliquez sur l’onglet Événement, cliquez sur [Procédure événementielle] dans la liste Sur clic, puis cliquez sur le bouton de sélection (...) pour démarrer l’Rédacteur Microsoft Visual Basic.
Modifiez le code dans la procédure Command1_Click pour qu’il ressemble à l’exemple de code suivant.
Private Sub Command1_Click() Me!Text1 = LaunchCD(Me) End Sub
Dans le menu Insertion , cliquez sur Module, puis insérez du code qui ressemble à l’exemple de code suivant dans Module1.
Private Declare Function GetOpenFileName Lib "comdlg32.dll" Alias _ "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long Private Type OPENFILENAME lStructSize As Long hwndOwner As Long hInstance As Long lpstrFilter As String lpstrCustomFilter As String nMaxCustFilter As Long nFilterIndex As Long lpstrFile As String nMaxFile As Long lpstrFileTitle As String nMaxFileTitle As Long lpstrInitialDir As String lpstrTitle As String flags As Long nFileOffset As Integer nFileExtension As Integer lpstrDefExt As String lCustData As Long lpfnHook As Long lpTemplateName As String End Type Function LaunchCD(strform As Form) As String Dim OpenFile As OPENFILENAME Dim lReturn As Long Dim sFilter As String OpenFile.lStructSize = Len(OpenFile) OpenFile.hwndOwner = strform.hwnd sFilter = "All Files (*.*)" & Chr(0) & "*.*" & Chr(0) & _ "JPEG Files (*.JPG)" & Chr(0) & "*.JPG" & Chr(0) OpenFile.lpstrFilter = sFilter OpenFile.nFilterIndex = 1 OpenFile.lpstrFile = String(257, 0) OpenFile.nMaxFile = Len(OpenFile.lpstrFile) - 1 OpenFile.lpstrFileTitle = OpenFile.lpstrFile OpenFile.nMaxFileTitle = OpenFile.nMaxFile OpenFile.lpstrInitialDir = "C:\" OpenFile.lpstrTitle = "Select a file using the Common Dialog DLL" OpenFile.flags = 0 lReturn = GetOpenFileName(OpenFile) If lReturn = 0 Then MsgBox "A file was not selected!", vbInformation, _ "Select a file using the Common Dialog DLL" Else LaunchCD = Trim(Left(OpenFile.lpstrFile, InStr(1, OpenFile.lpstrFile, vbNullChar) - 1)) End If End Function
Dans le menu Déboguer, cliquez sur Compiler Northwind, puis fermez le Rédacteur Visual Basic.
Sous l’onglet Format , cliquez sur la flèche vers le bas sous Affichage, puis cliquez sur Mode Formulaire.
Cliquez sur Commande1, puis sur un fichier dans la fenêtre qui s’ouvre.
Le chemin d’accès du fichier s’affiche dans la zone Texte1 .
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour