Dieser Artikel ist eine Übersetzung des folgenden englischsprachigen Artikels der Microsoft Knowledge Base: 888695
(http://support.microsoft.com/kb/888695/EN-US/
)
How to use the Common Dialog API in a database in Access 2003 or Access 2007
Bitte beachten Sie: Bei diesem Artikel handelt es sich um eine Übersetzung aus dem Englischen. Es ist möglich, dass nachträgliche Änderungen bzw. Ergänzungen im englischen Originalartikel in dieser Übersetzung nicht berücksichtigt sind. Die in diesem Artikel enthaltenen Informationen basieren auf der/den englischsprachigen Produktversion(en). Die Richtigkeit dieser Informationen in Zusammenhang mit anderssprachigen Produktversionen wurde im Rahmen dieser Übersetzung nicht getestet. Microsoft stellt diese Informationen ohne Gewähr für Richtigkeit bzw. Funktionalität zur Verfügung und übernimmt auch keine Gewährleistung bezüglich der Vollständigkeit oder Richtigkeit der Übersetzung.
In diesem Artikel wird beschrieben, wie Sie Common Dialog API in Microsoft Office Access 2003 und in Microsoft Office Access 2007 anstelle der Common Dialog Box-Funktionen verwenden, die nur in der Microsoft Office 2000 Developer Edition und in der Microsoft Office XP Developer Edition enthalten sind.
Die Verwendung der hier aufgeführten Informationen, Makro- oder Programmcodes geschieht auf Ihre eigene Verantwortung. Microsoft stellt Ihnen diese Informationen sowie Makro- und Programmlistings ohne Gewähr auf Richtigkeit, Vollständigkeit und/oder Funktionalität sowie ohne Anspruch auf Support zur Verfügung. In diesem Artikel wird vorausgesetzt, dass Sie mit der in den Beispielen verwendeten Programmiersprache und mit den zum Erstellen und Debuggen von Prozeduren verwendeten Tools vertraut sind. Die Spezialisten von Microsoft Support Services können bei der Erläuterung der Funktionalität bestimmter Prozeduren helfen, jedoch werden sie diese Beispiele nicht in Bezug auf eine erweiterte Funktionalität verändern, noch werden sie Prozeduren entwickeln, die auf Ihre besonderen Bedürfnisse zugeschnitten sind.
Schritte zum Ersetzen der Common Dialog-Funktionen
Microsoft Office Access 2003
Öffnen Sie in Access die Beispieldatenbank mit dem Namen Nordwind.mdb.
Hinweis: Die Datenbank "Nordwind.mdb" für Access 2003 ist normalerweise im Ordner C:\Programme\Microsoft Office\OFFICE11\Samples gespeichert.
Klicken Sie im Nordwind-Datenbankfenster unter Objekte auf Formulare.
Klicken Sie auf der Datenbankfenster-Symbolleiste auf Neu.
Klicken Sie im Dialogfeld Neues Formular auf Entwurfsansicht, und klicken Sie anschließend auf OK.
Fügen Sie Formular1 ein Textfeld hinzu, klicken Sie mit der rechten Maustaste auf das Textfeld, und klicken Sie anschließend auf Eigenschaften.
Klicken Sie auf die Registerkarte Alle, klicken Sie auf Name, geben Sie Text1 ein, und schließen Sie dann das Dialogfeld Eigenschaften.
Klicken Sie mit der rechten Maustaste auf das entsprechende Beschriftungssteuerelement für das Textfeld Text1, klicken Sie auf Eigenschaften, und klicken Sie dann auf die Registerkarte Alle.
Klicken Sie auf Beschriftung, geben Sie Text1 ein, und schließen Sie dann das Dialogfeld Eigenschaften.
Fügen Sie Formular1 eine Befehlsschaltfläche hinzu, klicken Sie mit der rechten Maustaste auf die Befehlsschaltfläche, klicken Sie auf Eigenschaften, klicken Sie auf Name, geben Sie Command1 ein, klicken Sie auf Beschriftung, und geben Sie dann Command1 ein.
Klicken Sie auf die Registerkarte Ereignis, klicken Sie in der Liste Beim Klicken auf [Ereignisprozedur], und klicken Sie dann auf die Schaltfläche mit den Auslassungszeichen, um den Microsoft Visual Basic-Editor zu starten.
Ändern Sie den Code in der Prozedur "Command1_Click" in den folgenden Code:
Private Sub Command1_Click()
Me!Text1 = LaunchCD(Me)
End Sub
Klicken Sie im Menü Einfügen auf Modul, und fügen Sie dann den folgenden Code in Modul1 ein:
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
Klicken Sie im Menü Debuggen auf Kompilieren von Nordwind, und schließen Sie dann den Visual Basic-Editor.
Klicken Sie im Menü Ansicht auf Formularansicht.
Klicken Sie auf Command1, und klicken Sie dann auf eine Datei in dem Fenster, das geöffnet wird.
Der Dateipfad wird im Textfeld Text1 angezeigt.
Microsoft Office Access 2007
Öffnen Sie in Access 2007 die Beispieldatenbank mit dem Namen Nordwind.mdb.
Klicken Sie auf der Registerkarte Erstellen in der Gruppe Formulare auf Formular.
Klicken Sie auf der Registerkarte Format unter Ansicht auf den Pfeil nach unten, und klicken Sie dann auf Entwurfsansicht.
Fügen Sie Formular1 ein Textfeld hinzu, klicken Sie mit der rechten Maustaste auf das Textfeld, und klicken Sie anschließend auf Eigenschaften.
Klicken Sie auf die Registerkarte Alle, klicken Sie auf Name, und geben Sie dann Text1 ein.
Klicken Sie mit der rechten Maustaste auf das dem Textfeld Text1 zugeordnete Beschriftungssteuerelement, klicken Sie auf Eigenschaften, und klicken Sie dann auf die Registerkarte Alle.
Klicken Sie auf Beschriftung, und geben Sie dann Text1 ein.
Fügen Sie Formular1 eine Befehlsschaltfläche hinzu, klicken Sie mit der rechten Maustaste auf die Befehlsschaltfläche, klicken Sie auf Eigenschaften, klicken Sie auf Name, geben Sie Command1 ein, klicken Sie auf Beschriftung, und geben Sie dann Command1 ein.
Klicken Sie auf die Registerkarte Ereignis, klicken Sie in der Liste Beim Klicken auf [Ereignisprozedur], und klicken Sie dann auf die Schaltfläche mit den Auslassungszeichen (...), um den Microsoft Visual Basic-Editor zu starten.
Ändern Sie den Code in der Prozedur "Command1_Click" etwa so wie in dem folgenden Codebeispiel:
Private Sub Command1_Click()
Me!Text1 = LaunchCD(Me)
End Sub
Klicken Sie im Menü Einfügen auf Modul, und fügen Sie dann ähnlichen Code wie in dem folgenden Codebeispiel in Modul1 ein:
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
Klicken Sie im Menü Debuggen auf Kompilieren von Nordwind, und schließen Sie dann den Visual Basic-Editor.
Klicken Sie auf der Registerkarte Format unter Ansicht auf den Pfeil nach unten, und klicken Sie dann auf Formularansicht.
Klicken Sie auf Command1, und klicken Sie dann auf eine Datei in dem Fenster, das geöffnet wird.
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.
Danke! Dieses Feedback hilft uns dabei, die Supportartikel weiter zu verbessern. Weitere Informationen finden Sie auf der Hilfe und Support-Startseite.