Använda gemensamma dialogrute-API i en databas i Access 2003 eller Access 2007
Anteckning
Office 365 ProPlus byter namn till Microsoft 365-appar för företag. Mer information om den här ändringen finns i det här blogginlägget.
Ursprungligt KB-nummer: 888695
INTRODUKTION
I den här artikeln beskrivs hur du använder gemensamma dialogrute-API:er i Microsoft Office Access 2003 eller i Microsoft Office Access 2007 för att ersätta funktionerna i Den gemensamma dialogrutan. Funktionerna ingår endast i Microsoft Office 2000 Developer Edition eller i Microsoft Office XP Developer Edition.
Microsoft tillhandahåller programmeringsexempel enbart i förklarande syfte och gör inga utfästelser, varken uttryckligen eller underförstått. Detta omfattar men begränsas inte till underförstådd garanti för säljbarhet eller lämplighet för ett visst syfte. I denna artikel förutsätts att du känner till det programmeringsspråk som demonstreras och de verktyg som används för att skapa och felsöka procedurer. Microsofts supportexperter kan hjälpa till att förklara funktionerna i en viss procedur, men de kommer inte att ändra dessa exempel för att tillhandahålla extra funktioner eller konstruera procedurer för att uppfylla dina specifika behov.
Steg för att ersätta funktionen Gemensamma dialogruta
Microsoft Office Access 2003
Öppna exempeldatabasen som heter Northwind.mdb i Access.
Anteckning
Northwind.mdb-databasen för Access 2003 finns normalt i
C:\Program Files\Microsoft Office\OFFICE11\Samplesmappen.Under Objekt i fönstret Northwind-databas klickar du på Formulär .
I verktygsfältet i databasfönstret klickar du på Ny.
I dialogrutan Nytt formulär klickar du på Designvy och sedan på OK.
Lägg till en textruta i Formulär1, högerklicka på textrutan och klicka sedan på Egenskaper.
Klicka på fliken Alla, klicka på Namn, skrivText1 och stäng sedan dialogrutan Egenskaper.
Högerklicka på etikettkontrollen som är kopplad till textrutan Text1, klicka på Egenskaper och sedan på fliken Alla.
Klicka på Beskrivning , skriv Text1 och stäng sedan dialogrutan Egenskaper.
Lägg till en kommandoknapp i Formulär1, högerklicka på kommandoknappen, klicka på Egenskaper , klicka på Namn, skriv Kommando1, klicka på Beskrivning och skriv sedan Kommando1.
Klicka på fliken Händelse, klicka på [Händelseprocedur] i listan Vid klickning och klicka sedan på ellipsknappen för att starta Microsoft Visual Basic Editor.
Ändra koden i Command1_Click till följande:
Private Sub Command1_Click() Me!Text1 = LaunchCD(Me) End SubKlicka på Modul på Infoga-menyn och infoga sedan följande kod i Modul1:
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 FunctionPå menyn Felsökning klickar du på Kompilering Northwind och stänger sedan Visual Basic Editor.
Klicka på Formulärvy på Visa-menyn.
Klicka på Kommando1 och klicka sedan på en fil i fönstret som öppnas.
Sökvägen till filen visas i textrutan Text1.
Microsoft Office Access 2007
Öppna exempeldatabasen som heter Northwind.accdb i Access 2007.
Klicka på Formulär i gruppen Formulär på fliken Skapa.
På fliken Format klickar du på nedpilen under Visa och sedan på Designvy.
Lägg till en textruta i Formulär1, högerklicka på textrutan och klicka sedan på Egenskaper.
Klicka på fliken Alla, klicka på Namn och skriv sedan Text1.
Högerklicka på etikettkontrollen som är kopplad till textrutan Text1, klicka på Egenskaper och sedan på fliken Alla.
Klicka på Beskrivning och skriv sedan Text1.
Lägg till en kommandoknapp i Formulär1, högerklicka på kommandoknappen, klicka på Egenskaper , klicka på Namn, skriv Kommando1, klicka på Beskrivning och skriv sedan Kommando1.
Klicka på fliken Händelse, klicka på [Händelseprocedur] i listan Vid klickning och klicka sedan på ellipsknappen (...) för att starta Microsoft Visual Basic Editor.
Ändra koden i Command1_Click procedur så att den liknar följande kodexempel.
Private Sub Command1_Click() Me!Text1 = LaunchCD(Me) End SubKlicka på Modul på Infoga-menyn och infoga sedan kod som liknar följande kodexempel i Modul1.
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 FunctionPå menyn Felsökning klickar du på Kompilering Northwind och stänger sedan Visual Basic Editor.
Klicka på nedpilen under Visa på fliken Format och klicka sedan på Formulärsvy.
Klicka på Kommando1 och klicka sedan på en fil i fönstret som öppnas.
Sökvägen till filen visas i rutan Text1.