Access
 sql >> база данни >  >> RDS >> Access

Преглед на документи във формуляра на Microsoft Access

Преглед на документи във формуляра на Microsoft Access

Обхват на проекта

Наскоро добавихме център за документи към проект, който позволява на потребителите да прикачват документи като pdf, word, txt и изображения към проект. Освен това те ще имат автоматичен процес, настроен за четене на входящи имейли и запазване на прикачените имейли на мрежово устройство. Целта е да се позволи на потребителя да види нови документи, които са получени, и да ги запази на правилното място. Разбира се, ние ще управляваме процеса за извличане на информация като тема и от кого идва документът, за да позволим на потребителя да разбере общата информация на документа и това ще бъде запазено в таблица. Освен това потребителят трябва да може да види документа, за да прочете съдържанието му.

Решение

Разбира се, можем да стартираме други приложения от достъп, за да преглеждаме word документи в Word и pdf в Adobe Acrobat и т.н.  Въпреки това, когато потребителят има само един екран, за да работи с него, това означава превключване от едно приложение към друго и ако има няколко типа документи, тогава разбира се, това означава отваряне на множество приложения. Затова предоставихме просто решение, което ще стартира документа в нова форма за достъп с оформление на раздели, което позволява на потребителя лесно да управлява системата. В примера по-долу използвам код, който ще прочете файла от даден път, до който потребителят ще има нужда от достъп на своя компютър. Като алтернатива, ако документът е записан в SQL таблица, можем да променим кода, за да запишем временно документа на локално устройство и да стартираме файла от временното местоположение. Ако използвате този метод, бихте искали да включите допълнителен код за изтриване на временния файл след преглед/затваряне на формуляра.

Примерен формуляр

Предоставеният примерен формуляр трябва да се стартира, като се премине пътя на документа в OpenArgs

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

Кодът при зареждане потвърждава, че пътят е предаден, както и дали файлът съществува. Ако всичко е наред, процесът продължава.

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

Накрая кодът зарежда документа. Подложката Showdocument се грижи за различните типове документи. Повечето типове документи използват случая else. Самият формуляр има скрито текстово поле, наречено txtPath който съхранява стойността на OpenArgs (име и път на файла), това може да бъде или картографирано устройство, или UNC. Обектът на уеб браузъра съхранява =[txtPath] като източник на контрол. Въпреки това документите на Word не работят по същия начин и първо трябва да запишете документа като html. Използвах метод, първоначално написан от Crystal Long и направих някои малки промени.

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. Защо е важно да ограничите потребителския достъп до вашата база данни

  2. Как да направите вашите бази данни за достъп изключително бързи!

  3. Красиви блокове от шаблон

  4. Обработка на грешки на ниво завършил

  5. Как да създадете таблица в изглед на лист с данни в Access 2016