Microsoft Access : XFDL Viewer – Introduction

I know, I said it yesterday that it is rare that I develop on Windows, but this is a long promised application.  In 2007, my unit administrator (in the U.S. Army Reserves) suggested code that would allow batch loading XFDL forms from MS Access.  Due to the scope of the Apps 4 The Army project, I was limited to using a web application.  Now that the project is submitted and done, I am free to do my original plan, which is code to do the same process in MS Access.

Starting this today, I realized how much I hate doing Visual Basic.  Particularly, VBA is very painful!!  It’s not that the language is bad but it just always feels bulky and pieced together to me.  It seems to lack the professionalism of C/C++ and the flow of Python.  But, I may be alone in that.

I have a question for my readers though. Would anyone have an interest in seeing this project on SourceForge?  The Apps 4 the Army project is no longer my intellectual right, but a desktop application, a MS Office Plugin, etc… that’s all good to make public.  So let me know, if I get readers saying we’d like to help; then I will happily move this project to SourceForge!

24 thoughts on “Microsoft Access : XFDL Viewer – Introduction”

  1. I will love to see this application on SourceForge…..A bit off topic, I landed on a your page after some extensive research on Google trying to decode XFDL files via php. I’m an Army ROTC cadet at the University of Central Florida, and I’m trying to centralize all of the forms that are used in the office to our website. My plan is to be a able to obtain the information from the user and into an XFDL form. My problem is the XFDL format, I have not been succesful at decoding it.

    Is it even a possibility to decode the form and manipulate it via php and re-encode it to an XFDL file?

    Your help will be very much appreciated, thank you.

    1. Yes, decoding the format is pretty simple in PHP, and encoding it is something I’ve only been able to replicate correctly with PHP. Here’s the steps:
      1. Strip line #1 (this is just mime data about encoding).
      2. base64 decode the data.
      3. Un-gzip the data.
      4. The result is an XML file, which I posted information about it’s structure previously (around April 2010).

      I will be leaving for BOLC-B (my OES) in August so send me an e-mail if you need help but past August, I might not have much for computer access!

      1. Thanks for the reply, I have been trying out this method since last night. My problem is with gzinflate or gzuncompress….. they are both returning data errors.

      2. This is what I’m doing
        function decodeMessage($msg)

        $decmsg = base64_decode($msg);
        $infmsg = gzinflate($msg, strlen($decmsg));
        if ($infmsg === FALSE) {
        // gzinflate failed, try gzuncompress
        $infmsg = gzuncompress($decmsg);

        return $infmsg;

        $string = decodeMessage($str);
        echo $string;

          1. Definitely want that stupid line gone.

            If you change the $msg into an array and slice the first line and return that value to your decode function it should work no problem.

            Like this if your working with a file…


  2. Sourceforge would be sweet. If you didn’t know already there is a military version of sourceforge. DISA of course hosts it. Its known as milforge @ Just a thought. I tried to start an application in it, but ended up going to a web application.

    1. There is a project on called OpenXFDL but it badly needs updating. That is my project, I’ve just had trouble updating, such as updating this blog, due to several things going on at once.

  3. Zbert, did you ever complete this project? I looked on sourceforge but could not find it. I have developed an MS Access database for my unit and the ability to push data to an XFDL form would be huge. Right now I have recreated some of the forms as access reports, but that method is very inflexible and doesn’t allow them to be saved outside the database. Any help would be greatly appreciated.

    1. Are you looking for a topic that needs to be updated? I prefer to think of this as an unique blog, why be the same as everyone else. I’ll post when I’ve had progress on a project, right now, they are still being worked on.

  4. Do you mind if I quote a few of your articles as long as I provide credit and sources back to your webpage? My blog is in the exact same area of interest as yours and my visitors would definitely benefit from a lot of the information you present here. Please let me know if this okay with you. Thanks!

  5. Simply wish to say your article is as amazing.

    The clarity to your post is just nice and i could suppose you are an expert in this subject.
    Well along with your permission let me to clutch your feed to keep up to
    date with approaching post. Thanks one million and please carry
    on the enjoyable work.

  6. I’ll right away grasp your rss feed as I can not to
    find your email subscription hyperlink or newsletter service.
    Do you have any? Please permit me realize in order that I may just subscribe.

  7. We’re a group of volunteers and starting a new scheme in our community.
    Your website offered us with valuable information to work
    on. You’ve done a formidable task and our entire community shall be grateful to you.

  8. After checking out a number of the blog articles on your blog, I really appreciate your way of blogging.
    I added it to my bookmark webpage list and will be checking back in the
    near future. Please visit my website as well and tell me how you feel.

Leave a Reply

Your email address will not be published. Required fields are marked *