Come usare l'API Common Dialog in un database in Access 2003 o Access 2007
Numero KB originale: 888695
INTRODUZIONE
Questo articolo descrive come usare l'API Common Dialog in Microsoft Office Access 2003 o in Microsoft Office Access 2007 per sostituire la funzionalità Common Dialog Box. La funzionalità è inclusa solo in Microsoft Office 2000 Developer Edition o in Microsoft Office XP Developer Edition.
Microsoft fornisce esempi di programmazione a scopo puramente illustrativo, senza alcuna garanzia di qualsiasi tipo, sia espressa che implicita, ivi incluse, senza limitazioni, le garanzie implicite di commerciabilità o idoneità per uno scopo particolare. In questo articolo si presuppone che l'utente conosca il linguaggio di programmazione in questione e gli strumenti utilizzati per creare ed eseguire il debug delle procedure. Gli esperti Microsoft sono autorizzati a fornire spiegazioni in merito alla funzionalità di una particolare routine, ma in nessun caso a modificare questi esempi per fornire funzionalità aggiuntive o a creare routine atte a soddisfare specifiche esigenze.
Passaggi per sostituire la funzionalità Common Dialog
Microsoft Office Access 2003
In Access aprire il database di esempio denominato Northwind.mdb.
Nota
Il database Northwind.mdb per Access 2003 si trova in genere nella
C:\Program Files\Microsoft Office\OFFICE11\Samples
cartella .In Oggetti nella finestra Database Northwind fare clic su Moduli .
Nella barra degli strumenti della finestra Database fare clic su Nuovo.
Nella finestra di dialogo Nuovo modulo fare clic su Visualizzazione struttura e quindi su OK.
Aggiungere una casella di testo a Form1, fare clic con il pulsante destro del mouse sulla casella di testo e quindi scegliere Proprietà.
Fare clic sulla scheda Tutto , fare clic su Nome, digitareText1 e quindi chiudere la finestra di dialogo Proprietà .
Fare clic con il pulsante destro del mouse sul controllo etichetta associato alla casella di testo Text1 , scegliere Proprietà e quindi fare clic sulla scheda Tutto .
Fare clic su Didascalia, digitare Text1 e quindi chiudere la finestra di dialogo Proprietà .
Aggiungere un pulsante di comando a Form1, fare clic con il pulsante destro del mouse sul pulsante di comando, scegliere Proprietà, fare clic su Nome, digitare Command1, fare clic su Didascalia e quindi digitare Command1.
Fare clic sulla scheda Evento, fare clic su [Routine evento] nell'elenco Su clic e quindi fare clic sul pulsante con i puntini di sospensione per avviare la Editor di Microsoft Visual Basic.
Modificare il codice nella routine Command1_Click nel modo seguente:
Private Sub Command1_Click() Me!Text1 = LaunchCD(Me) End Sub
Nel menu Inserisci fare clic su Modulo e quindi inserire il codice seguente 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
Scegliere Compila Northwind dal menu Debug e quindi chiudere la Editor di Visual Basic.
Scegliere Visualizzazione modulo dal menu Visualizza.
Fare clic su Comando1 e quindi su un file nella finestra visualizzata.
Il percorso del file viene visualizzato nella casella di testo Text1 .
Microsoft Office Access 2007
In Access 2007 aprire il database di esempio denominato Northwind.accdb.
Nella scheda Crea fare clic su Maschera nel gruppo Moduli .
Nella scheda Formato fare clic sulla freccia giù sotto Visualizza e quindi fare clic su Visualizzazione struttura.
Aggiungere una casella di testo a Form1, fare clic con il pulsante destro del mouse sulla casella di testo e quindi scegliere Proprietà.
Fare clic sulla scheda Tutto , fare clic su Nome e quindi digitare Text1.
Fare clic con il pulsante destro del mouse sul controllo etichetta associato alla casella di testo Text1 , scegliere Proprietà e quindi fare clic sulla scheda Tutto .
Fare clic su Didascalia e quindi digitare Text1.
Aggiungere un pulsante di comando a Form1, fare clic con il pulsante destro del mouse sul pulsante di comando, scegliere Proprietà, fare clic su Nome, digitare Command1, fare clic su Didascalia e quindi digitare Command1.
Fare clic sulla scheda Evento, fare clic su [Routine evento] nell'elenco Su clic e quindi fare clic sul pulsante con i puntini di sospensione (...) per avviare la Editor di Microsoft Visual Basic.
Modificare il codice nella routine Command1_Click in modo analogo all'esempio di codice seguente.
Private Sub Command1_Click() Me!Text1 = LaunchCD(Me) End Sub
Nel menu Inserisci fare clic su Modulo e quindi inserire codice simile all'esempio di codice seguente 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
Scegliere Compila Northwind dal menu Debug e quindi chiudere la Editor di Visual Basic.
Nella scheda Formato fare clic sulla freccia giù sotto Visualizza e quindi su Visualizzazione maschera.
Fare clic su Comando1 e quindi su un file nella finestra visualizzata.
Il percorso del file viene visualizzato nella casella Text1 .
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: nel corso del 2024 verranno dismessi i problemi di GitHub come meccanismo di feedback per il contenuto e verranno sostituiti con un nuovo sistema di feedback. Per altre informazioni, vedere:Invia e visualizza il feedback per