Results 1 to 10 of 10
  1. #1
    Join Date
    Apr 2009
    Posts
    4

    Unanswered: Embedding Word Documents

    I'm building a simple document management system and I'd like to embed the word or excel document into the database (in the past I've created a system that uses hyperlinks to the doc).

    Reason: control the access to change the documents

    1st question: With ~300 documents & 3 revisions for each stored, how will this impact the speed of the system.

    2nd question: I haven't worked with embedded objects much, when I've experimented I couldn't get the actual document to print in the report. On the report I have a header & footers and two subforms (one with the embedded object).

    Any advise would be greatly appreciated.

  2. #2
    Join Date
    Nov 2007
    Location
    Adelaide, South Australia
    Posts
    4,049
    Let me tell you a story:

    First time I used embedded objects was to store a picture of a student in their record. Nice idea. First five were great... looks fantastic. Works great!

    Released it.

    300 students later, the database size was approaching 250MB and was needing to be compacted and repaired daily to avoid corruption issues. It had only been a month.

    My advice: Don't use embedded objects, instead only store the path to a file in your database and link it / open it when needed.

    How will it impact the speed of the system? Quite negatively, but not nearly as negatively as how stability will be impacted!
    Owner and Manager of
    CypherBYTE, Microsoft Access Development Specialists.
    Microsoft Access MCP.
    And all around nice guy!


    "Heck it's something understood by accountants ... so it can't be 'that' difficult..." -- Healdem
    "...teach a man to code and he'll be frustrated for life! " -- georgev

  3. #3
    Join Date
    Mar 2009
    Posts
    5,442
    Provided Answers: 14
    Very bad idea indeed! If you want to have a control over the embedded document you can use the COM interface in your code to instantiate Excel, Word or any other application. Ex:
    Code:
    Set AppXL = New Excel.Application
     With AppXL
            .Workbooks.Open FileName:=<Path to Excel file>
    Have a nice day!

  4. #4
    Join Date
    Apr 2009
    Posts
    4
    Thanks so much for the repies. I'm glad I asked for some advise before building the system this way. Good idea in concept, bad idea in practice I guess.

    I guess I'll have to link it in and hide the files so that they don't get revised outside of the system.

    Thanks again



    "You'll fail 100% of the time if you never try."

  5. #5
    Join Date
    Apr 2009
    Posts
    4
    Quote Originally Posted by Sinndho
    Very bad idea indeed! If you want to have a control over the embedded document you can use the COM interface in your code to instantiate Excel, Word or any other application. Ex:
    Code:
    Set AppXL = New Excel.Application
     With AppXL
            .Workbooks.Open FileName:=<Path to Excel file>
    Have a nice day!

    Maybe I'll use that for working on the documents thru the database system. That is what COM offers does it not?

    My goal was to secure documentation from tampering though. If the document is still sitting in a file folder somewhere, it's not secured.

    I know a server would resolve this, but I'm building it for stand alone systems that I have no control over. If you have another suggestion that solves tampering, I'd gladly take it.

    Enjoy the weekend !

  6. #6
    Join Date
    Mar 2009
    Posts
    5,442
    Provided Answers: 14
    You can build a vault to store the documents. There are libraries of functions using the Lempel-Ziv (used in .zip files) or others algorythms to do this kind of work. That way, only your program would be able to extract and to store files in this vault, theorically at least. Nothing could prevent someone to delete a file, even a protected one.

    If you want to use NT security, you can do it without having a server if the file system is NTFS. You can apply security policies on folders that contain the files you want to protect from tempering.

    Have a nice day!

  7. #7
    Join Date
    Apr 2009
    Posts
    4
    Quote Originally Posted by Sinndho
    You can build a vault to store the documents. There are libraries of functions using the Lempel-Ziv (used in .zip files) or others algorythms to do this kind of work. That way, only your program would be able to extract and to store files in this vault, theorically at least. Nothing could prevent someone to delete a file, even a protected one.

    If you want to use NT security, you can do it without having a server if the file system is NTFS. You can apply security policies on folders that contain the files you want to protect from tempering.

    Have a nice day!
    You've made some really great suggestions. I'd love to try the first one. If I decide to dedicate time to that area, I'll post again looking for some advise. Thanks for taking the time to reply.

    Have a great day.

  8. #8
    Join Date
    Mar 2009
    Posts
    5,442
    Provided Answers: 14
    What I did a few years ago to solve a similar problem was to create a service running on a special account and acting as a file server (or vault server).

    Only the special account had access to the directory where the files were stored (due to NTFS security) and the Access application had to ask the service to provide the requested files or to store them back into the vault. Of course this is a little beyond Access (the file server, or vault server was written in C#).

    Have a nice day!

  9. #9
    Join Date
    Feb 2004
    Location
    New Zealand
    Posts
    1,424
    Provided Answers: 8
    why not PDF the Documnet them it can't be change

    that what I did the QA manager how control of all the documnet when the document was ready to be relse he would PDF well my msaccess drop it in the dister folder in check the out and made that file avaiable for the user of the database.
    hope this help

    See clear as mud


    StePhan McKillen
    the aim is store once, not store multiple times
    Remember... Optimize 'til you die!
    Progaming environment:
    Access based on my own environment: DAO3.6/A97/A2000/A2003/A2007/A2010
    VB based on my own environment: vb6 sp5
    ASP based on my own environment: 5.6
    VB-NET based on my own environment started 2007
    SQL-2005 based on my own environment started 2008
    MYLE
    YOUR PASSWORD IS JUST LIKE YOUR TOOTHBRUSH DON'T SHARE IT.

  10. #10
    Join Date
    Mar 2009
    Posts
    5,442
    Provided Answers: 14
    Myle,

    PDF format is great for the final release when the document does not need to be modified any more, but in her first message Lara was talking about revisions which means that the document must remain editable.

    Have a nice day!

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •