Tuesday, March 18, 2008

Conference update

Ok I have been planning for a few years now to redo the entire report generator and I have finally done it. It took a lot of side work for the past few months but it is done. I have also compared it to some of the results from last year to see if it is functioning properly.

Some updates that are in the new version:

  • Moved from DAO to ADO data connections
  • Changed all code away from MS Jet to pure SQL
  • Created option boxes for each report so the entire routine isn't needed for one report
  • Created accurate progress bars to reflect what is being done
  • Made liberal use of "DoEvents" commands to the processor isn't killed
  • Reduced excessive code
  • Removed redundant code

    With all those changes the report generator which, from what I recall, took minutes to run is now down to 26 seconds for all reports. This includes the most difficult and twisted ones. This should make our job much easier when it comes time to actually use the report generator.

    Out of everything listed there I'm not done with it though. Right now it is set to a static database which I need to change to something more dynamic. I'll be including a standard open file dialog box for this use. After that I'm not sure how much more I need to do to make it a better program. The reports are nice and snappy and still accurate so what can I do?

    Actually there is two things that need to happen. I need the full documentation of all the reports to make sure that what I am generating is what should be generated. I did find a fault in the previous version of the report generator though. The swimming award doesn't work and from what I can see never did. I'm not sure what I was generating in previous years but it isn't want they wanted LOL.

    Well no more updates on this subject at least until Purple Mangos gets back to me about the reports. [Insert not so subtle nudge here.]

    Update: It seems my understanding of the report was incorrect. The design of the tables involved were very flawed. Enough that they shouldn't have been published like that in the first place. Anyway a new table will be introduced that will help slipstream the process and make it faster than before. To relax people let it be known that the system before was completely functional just very clumsy. If I wanted to go to Vancouver and back again I wouldn't take a cruise ship to get there I would take a plane. Both will get you there one will just take longer.


    Anonymous said...

    I did get back to you about the reports. I reminded you that you need to include the Minerva trophy/award to the list of the ones you said you had.

    Anonymous said...

    Ah but you were going to also get me how each one was to be done. Now that I think about it I guess I can just download those.

    Anonymous said...

    I'm interested in your comments regarding reducing redundancy and excessive code.

    I assume that you are using C++ or .Net languages - have you been using any static analysis tools at all? I would imagine that something like LINT or Purify would do you wonders, especially considering the age of your code.

    Anonymous said...

    Oooo. You make me sound better than I am. Actually we/I am still using VB6 to develop in and haven't got around to moving to a newer version of VB.

    The redundant code mostly is things along the lines of removing database seeks where they are no longer required. Updating entire table information with a well crafted SQL UPDATE command. I figure if I can see that tuning of code can happen just by looking at it I shouldn't subject it to a code analysis tool as it would probably give me a head ache :)

    I might think about it when I move the project to Visual Basic Express 2008 though. I started fooling around with it at work but it is coming up with some unexpected errors after being "translated" to the new version, which I might add looks and feels nothing like the previous version.