<p style=”color: red; font-weight: bold;”>The IT Assets Database was replaced by the <a href=”https://www.it-admins.com/cmdb/”>IT Admins CMDB</a> and is EOL / End of Life, no further development will be done on this project.</p>
Well – first of all – this is an free open source platform. You are free to modify and change what you want. There is no developer manual for this purpose and I just share a few generic things here. Should I get the same question via the contact form multiple times or think it is worth sharing, I will update this article as well.
The database project did grow over time. It started off with a very simple solution to avoid a few Excel files and being able to enter data more simultaneously. This did start off with a Microsoft Access front-end and back-end solution. Over time it grew so vast that it was time to move it to Microsoft SQL. This is where it is today and as for implementations of the system I did, still growing and constantly adjusted.
You will certainly find bugs within the system – it is not coded in perfection, I partly always tried to keep the code simple and partly also just did quick and dirty implementations. I still thought it is worth sharing the whole project now – since I am certain other can benefit from it and find it valuable.
For sure is one thing – you need to read through the whole documentation to understand the system. Most important might be the Sys Search function, what is a simple implementation of a very capable search framework controlled in this case only by Sys Columns.
What I wanted to mention here is on how I prepare new releases and then role them out:
- changes to the code are made and tested in the IT_Assets_Program_DEV.accdb
- once it is ready and found good and the VBA compiler does run through without detecting fatal errors, I close my Microsoft Access program
- then I double click the DECOMPILE.CMD what actually open the database DEV file. It will execute the autoexec macro – please do NOT hold down shift to avoid this!
- next I go to the FILE menu and click on Compact & Repair Database – while holding down the SHIFT key
- now I close the application again
- next I repeat steps 3, 4 and 5 again
- the result is now that the Microsoft Access database file IT_Assets_Program_DEV.accdb is hopefully really cleaned up and in a proper state
- using the DEV2Release.cmd removes the current IT_Assets_Program.accdb and replaces it with a new copy of the IT_Assets_Program_DEV.accdb
- done
It is important to follow those steps, if you want to bypass some of Microsoft Access funny quirks and errors while providing end users not properly decompiled code that hold properly even some temp data within the access file.
There is further a reason why I created the IT_Assets_Program_Start.vbs file – this helps avoid some network related issues like packet drops that Microsoft Access does not like very much. Since the database in the back end is SQL based, it improved a lot but still, the application front end should better run from the local workstation rather then through a network location – where it might even be shared with other user causing additional issues.
Further do I want to mention – please read through the Sys Config table – it is very important to understand it – there is e.g. a Application\Maintenance bit that allows you to forcefully close all open application sessions without the end users help in a proper way within about 4 minutes. You only need to set the bit – save the record – wait for 2 minutes – change it back to 0 and wait till your application closes – this allows you to start it again right away. If the bit stays 1 / set – everyone who tries to open the application would get informed that it is set to maintenance mode. You would need to change it directly in the table / SQL to have the application working again. The way the application is closed, any not saved data normally is saved – helping to avoid data loss as well.
Have fun – and response is always welcome.