De Common Dialog-API gebruiken in een database in Access 2003 of Access 2007
Origineel KB-nummer: 888695
INLEIDING
In dit artikel wordt beschreven hoe u de Common Dialog API gebruikt in Microsoft Office Access 2003 of in Microsoft Office Access 2007 om de functionaliteit van het algemene dialoogvenster te vervangen. De functionaliteit is alleen opgenomen in de Microsoft Office 2000 Developer Edition of in de Microsoft Office XP Developer Edition.
Microsoft verstrekt programmeervoorbeelden alleen ter illustratie, zonder expliciete of impliciete garantie. daaronder mede begrepen, maar niet beperkt tot impliciete garanties met betrekking tot de verkoopbaarheid en/of geschiktheid voor een bepaald doel. In dit artikel wordt ervan uitgegaan dat u bekend bent met de programmeertaal VBScript, alsmede met de hulpprogramma's waarmee procedures worden gemaakt en waarmee fouten in procedures worden opgespoord. U kunt desgewenst contact opnemen met Microsoft Product Support Services voor uitleg over de functie van een bepaalde procedure. Microsoft Product Support Services is echter niet bereid de voorbeelden aan te passen om extra functies toe te voegen of om procedures te maken die aan uw specifieke eisen voldoen.
Stappen voor het vervangen van de common dialog-functionaliteit
Microsoft Office Access 2003
Open in Access de voorbeelddatabase met de naam Northwind.mdb.
Opmerking
De Northwind.mdb database voor Access 2003 bevindt zich meestal in de
C:\Program Files\Microsoft Office\OFFICE11\Samples
map.Klik onder Objecten in het venster Northwind Database op Formulieren .
Klik op de werkbalk van het databasevenster op Nieuw.
Klik in het dialoogvenster Nieuw formulier op Ontwerpweergave en klik vervolgens op OK.
Voeg een tekstvak toe aan Form1, klik met de rechtermuisknop op het tekstvak en klik vervolgens op Eigenschappen.
Klik op het tabblad Alles , klik op Naam, typTekst1 en sluit het dialoogvenster Eigenschappen .
Klik met de rechtermuisknop op het labelbesturingselement dat is gekoppeld aan het tekstvak Tekst1 , klik op Eigenschappen en klik vervolgens op het tabblad Alles .
Klik op Bijschrift, typ Tekst1 en sluit het dialoogvenster Eigenschappen .
Voeg een opdrachtknop toe aan Form1, klik met de rechtermuisknop op de opdrachtknop, klik op Eigenschappen, klik op Naam, typ Command1, klik op Bijschrift en typ vervolgens Command1.
Klik op het tabblad Gebeurtenis, klik op [Gebeurtenisprocedure] in de lijst Bij klikken en klik vervolgens op het beletselteken om de Microsoft Visual Basic-Editor te starten.
Wijzig de code in de Command1_Click procedure in het volgende:
Private Sub Command1_Click() Me!Text1 = LaunchCD(Me) End Sub
Klik in het menu Invoegen op Module en voeg vervolgens de volgende code in Module1 in:
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
Klik in het menu Foutopsporing op Northwind compileren en sluit vervolgens de Visual Basic-Editor.
Klik in het menu Beeld op Formulierweergave.
Klik op Command1 en klik vervolgens op een bestand in het venster dat wordt geopend.
Het pad van het bestand wordt weergegeven in het tekstvak Tekst1 .
Microsoft Office Access 2007
Open in Access 2007 de voorbeelddatabase met de naam Northwind.accdb.
Klik op het tabblad Maken op Formulier in de groep Formulieren .
Klik op het tabblad Opmaak op de pijl-omlaag onder Weergave en klik vervolgens op Ontwerpweergave.
Voeg een tekstvak toe aan Form1, klik met de rechtermuisknop op het tekstvak en klik vervolgens op Eigenschappen.
Klik op het tabblad Alles , klik op Naam en typ tekst1.
Klik met de rechtermuisknop op het labelbesturingselement dat is gekoppeld aan het tekstvak Tekst1 , klik op Eigenschappen en klik vervolgens op het tabblad Alles .
Klik op Bijschrift en typ tekst1.
Voeg een opdrachtknop toe aan Form1, klik met de rechtermuisknop op de opdrachtknop, klik op Eigenschappen, klik op Naam, typ Command1, klik op Bijschrift en typ vervolgens Command1.
Klik op het tabblad Gebeurtenis, klik op [Gebeurtenisprocedure] in de lijst Bij klikken en klik vervolgens op het beletselteken (...) om de Microsoft Visual Basic-Editor te starten.
Wijzig de code in de Command1_Click procedure zodat deze lijkt op het volgende codevoorbeeld.
Private Sub Command1_Click() Me!Text1 = LaunchCD(Me) End Sub
Klik in het menu Invoegen op Module en voeg vervolgens code in die lijkt op het volgende codevoorbeeld in 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
Klik in het menu Foutopsporing op Northwind compileren en sluit vervolgens de Visual Basic-Editor.
Klik op het tabblad Opmaak op de pijl-omlaag onder Weergave en klik vervolgens op Formulierweergave.
Klik op Command1 en klik vervolgens op een bestand in het venster dat wordt geopend.
Het pad van het bestand wordt weergegeven in het vak Tekst1 .
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor