Access
 sql >> Baza danych >  >> RDS >> Access

Podgląd dokumentów w formularzu Microsoft Access

Podgląd dokumentów w formularzu Microsoft Access

Zakres projektu

Niedawno dodaliśmy do projektu centrum dokumentów, które pozwala użytkownikom dołączać do projektu dokumenty, takie jak pdf, word, txt i obrazy. Ponadto będą mieli automatyczny proces skonfigurowany do odczytywania przychodzących wiadomości e-mail i zapisywania załączników do wiadomości e-mail na dysku sieciowym. Celem jest umożliwienie użytkownikowi przeglądania nowych otrzymanych dokumentów i zapisywania ich we właściwej lokalizacji. Oczywiście będziemy zarządzać procesem, aby wyodrębnić informacje, takie jak temat i od kogo pochodzi dokument, aby umożliwić użytkownikowi zrozumienie ogólnych informacji o dokumencie, a te zostaną zapisane w tabeli. Ponadto użytkownik musi mieć możliwość przeglądania dokumentu, aby przeczytać jego zawartość.

Rozwiązanie

Możemy oczywiście uruchomić inne aplikacje z dostępem do przeglądania dokumentów Word w programie Word i pdf w programie Adobe Acrobat itp. Jednak gdy użytkownik ma tylko jeden ekran do pracy, oznacza to przejście z jednej aplikacji do drugiej, a jeśli istnieje wiele typów dokumentów, wówczas Oczywiście oznacza to otwieranie wielu aplikacji. Dlatego udostępniliśmy proste rozwiązanie, które uruchamiałoby dokument w nowej formie dostępowej z układem zakładek pozwalającym użytkownikowi na łatwe zarządzanie systemem. W poniższym przykładzie używam kodu, który odczyta plik z podanej ścieżki, do którego użytkownik będzie potrzebował dostępu na swoim komputerze. Alternatywnie, jeśli dokument jest zapisany do tabeli SQL, możemy zmodyfikować kod, aby tymczasowo zapisać dokument na dysku lokalnym i uruchomić plik z lokalizacji tymczasowej. Jeśli używasz tej metody, chciałbyś również dołączyć dodatkowy kod, aby usunąć plik tymczasowy po wyświetleniu/zamknięciu formularza.

Przykładowy formularz

Dostarczony przykładowy formularz należy uruchomić ze ścieżką dokumentu w OpenArgs

DoCmd.OpenForm "frmDocumentReview", OpenArgs:= Me.DocumentPath

Kod podczas ładowania weryfikuje, czy ścieżka została przekazana, a także czy plik istnieje. Jeśli wszystko jest w porządku, proces jest kontynuowany.

Private Sub Form_Load()

    If IsNull(Me.OpenArgs) Then
        MsgBox "No document to show", , "Path not specified"
        Exit Sub
    Else
        If Not FSO.FileExists(Me.OpenArgs) Then
            MsgBox "Your computer does not have access to the named file. You need to download the file to view it."
            Exit Sub
        Else
            Showdocument OpenArgs
        End If
    End If
    
End Sub

Wreszcie kod ładuje dokument. Podrzędna Showdocument zajmuje się różnymi typami dokumentów. Większość typów dokumentów używa litery else. Sam formularz ma ukryte pole tekstowe o nazwie txtPath który przechowuje wartość OpenArgs (nazwa pliku i ścieżka), może to być zmapowany dysk lub UNC. Obiekt przeglądarki internetowej przechowuje =[txtPath] jako źródło sterowania. Jednak dokumenty Word nie działają tak samo i najpierw musisz zapisać dokument jako html. Użyłem metody napisanej przez Crystal Long i wprowadziłem kilka drobnych zmian.

Private Sub Showdocument(strPath As String)
    Dim strExt As String
    Dim sPathFileHTML As String
    Dim oWordApp As Object
    Dim oDoc As Object
    
    strExt = GetFileExt(strPath)
    Select Case strExt
        Case "docx"
            'save word doc as HTML
            sPathFileHTML = CurrentProject.Path & "\temp.html"
            Set oWordApp = CreateObject("Word.Application")
            Set oDoc = oWordApp.Documents.Open(strPath)
            oDoc.SaveAs2 FileName:=sPathFileHTML, FileFormat:=8 'wdFormatHTML
            oDoc.Close False
            oWordApp.Quit
            Set oDoc = Nothing
            Set oWordApp = Nothing
        Case Else
            sPathFileHTML = strPath
    End Select
    
    'open in browser control
    Me.txtPath.Value = sPathFileHTML

End Sub


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Parametry ciągu połączenia dla źródeł plików tekstowych

  2. Jak pracować z narzędziami ekranowymi w programie Access 2019

  3. Złe praktyki w projektowaniu baz danych

  4. 4 sposoby ochrony poufnych informacji przed klientami

  5. Dostęp 2016 dla opornych Ściągawka