Как показать “Открытый Файл” Диалоговое окно в Доступе 2007 VBA?

Если Вы действительно захотите пойти переходный подход, то необходимо будет сбросить журнал, когда объект будет десериализован. Способ сделать, который должен реализовать метод:

 private void readObject(java.io.ObjectInputStream in) 
   throws IOException, ClassNotFoundException;

javadocs для сериализуемый имеет информацию об этом методе.

Ваша реализация его посмотрит что-то как:

 private void readObject(java.io.ObjectInputStream in) 
     throws IOException, ClassNotFoundException {
   log = Logger.getLogger(...);
   in.defaultReadObject();
 }

, Если Вы не делаете, это тогда регистрируется, будет пустым после десериализации Вашего объекта.

34
задан HansUp 13 January 2014 в 20:54
поделиться

2 ответа

Мои комментарии к ответу Рено Бомпюи испортились.

На самом деле вы можете использовать позднее связывание, и ссылка на библиотеку объектов 11.0 не требуется.

Следующий код будет работать без каких-либо ссылок:

 Dim f    As Object 
 Set f = Application.FileDialog(3) 
 f.AllowMultiSelect = True 
 f.Show 

 MsgBox "file choosen = " & f.SelectedItems.Count 

Обратите внимание, что вышеуказанное также хорошо работает во время выполнения.

45
ответ дан 27 November 2019 в 16:37
поделиться

В Access 2007 вам просто нужно использовать Application.FileDialog .

Вот пример из документации Access:

' Requires reference to Microsoft Office 12.0 Object Library. '
Private Sub cmdFileDialog_Click()
   Dim fDialog As Office.FileDialog
   Dim varFile As Variant

   ' Clear listbox contents. '
   Me.FileList.RowSource = ""

   ' Set up the File Dialog. '
   Set fDialog = Application.FileDialog(msoFileDialogFilePicker)

   With fDialog

      ' Allow user to make multiple selections in dialog box '
      .AllowMultiSelect = True

      ' Set the title of the dialog box. '
      .Title = "Please select one or more files"

      ' Clear out the current filters, and add our own.'
      .Filters.Clear
      .Filters.Add "Access Databases", "*.MDB"
      .Filters.Add "Access Projects", "*.ADP"
      .Filters.Add "All Files", "*.*"

      ' Show the dialog box. If the .Show method returns True, the '
      ' user picked at least one file. If the .Show method returns '
      ' False, the user clicked Cancel. '
      If .Show = True Then

         'Loop through each file selected and add it to our list box. '
         For Each varFile In .SelectedItems
            Me.FileList.AddItem varFile
         Next

      Else
         MsgBox "You clicked Cancel in the file dialog box."
      End If
   End With
End Sub

Как сказано в примере, просто сделайте убедитесь, что у вас есть ссылка на библиотеку объектов Microsoft Access 12.0 (в меню VBE IDE> Инструменты> Ссылки).

19
ответ дан 27 November 2019 в 16:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: