Things to be done by someone every X days

Some examples to be used directly
Forum rules
No question in this forum please
For any question related to a topic, create a new thread in the relevant section.

Things to be done by someone every X days

Postby Villeroy » Fri Dec 20, 2019 5:41 pm

Another small database solution for every day life. We use it in a medical practice where there are a lot of little things that need to be done by someone on a daily, weekly, monthly basis and where you can't always see who has already done what.
The database form "DONE" depends on some Python code bundled with the attached zip archive.
The database document includes an installer which connects the document to the external database and driver also bundled in the zip.
Compatibility: This version with an external database runs with LibreOffice and OpenOffice. The Python macros work with Python2(OpenOffice) and Python3(LibreOffice). We use this as a multi-client network solution on 6 PCs with LibreOffice and one server machine running HSQL in server mode.
Download link: ...

The zip file includes:
-- Writer document AutoRefresh.odt showing a Python module that installs itself with a single click. The AutoRefresh macro is described here: [Base, Python] Tiny Macro Refreshing Forms, List/Combo Boxes.
-- Another Writer document "DoneForm.odt" which installs another small Python module in the same way.
-- Todo.odb is the database document which includes a third installer macro. This one connects the database document with the database in the "database" subdirectory using the database driver in the LibreOffice program directory.
-- A database directory which contains the actual database, the database backend, with some example data to play with.
-- A driver directory with a hsqldb.jar of version 2.4.1.
-- 3 form documents "Users.odt", "Todo.odt" and "DONE.odt". You enter database users and things to be done on a regular basis. The "DONE" form is the one you will use every day. "DONE" shows a schedule on the left and a done list on the right.
-- A simple spreadsheet report "Report.ods". It prompts for a start date. If no start date is given, the whole data set is imported which grows to tens of thousands rows over the years.

Installation and setup

1. Extract the zip file to a trusted directory where the execution of embedded macro code is allowed. See Tools>Options>Security>[Macro Security...]>Trusted Sources where you can declare such trusted directories. Please do not declare your Download directory as trusted source and do not lower the macro security level. Just declare the highest level of security with one or two trusted directories (again: not any "Downloads" folder!) where you drop trusted office documents with embedded macros.

2. Open the database document Todo.odb. This should pop up 3 messages reporting that the database has been connected to its local database files and with its HSQL driver and that the database has been registered as "Todo". If so, you can close and forget the database document.

3. Open AutoRefresh.odt and DoneForm.odt. Click the install button in each document. Close and forget the macro installers in case of success messages.

4. Now you can open the "DONE" form which shows some example records. When you double-click some record on the left schedule, it should move to the list of done stuff on the right side. If you remove some task's latest record from the right side, it should be rescheduled on the left side. Every scheduled task is registered as done by the user that is preselected in the green listbox and with today's date unless you enter a past date into the upper left form. It is not possible to enter a future date. Open the "Todo" form in order to see where the tasks come from. Have a look at the "Users" form where you enter the users (employees).

5. After playing around with my test data you can either hide them by unchecking the "Active" flag in the "Users" form and by setting the day column in the "Todo" form to 0 days. Any day number smaller than 1 hides a task from the schedule on the "DONE" form.
You can de-activate a user, so it does not occur in the user listbox anymore but the user's done tasks are still availlable in the reports. You can not delete any user that has performed some tasks and you can not remove tasks that have been performed by someone. Therefore you have to delete the done entries first, then the users and then the tasks from the todo list in order to delete all my example data.
How to delete all records from a grid in one go: Click the empty, grey, upper-left corner, right-click>Delete Rows. There is no way to recover after you cofirmed the warning message.

6. Enter at your own user's initials and full name into the "Users" form and mark your user(s) as active.

7. Enter short descriptions of your own tasks and how frequently they should be done. Day values smaller than 1 will hide the task from the current schedule.

From now on you will use the "DONE" form. Your first tasks will be scheduled with no due days since it is yet unknown when they have been performed previously. Your users are selectable from the green list box. After some time you see the task scheduled by the due days. Overdue tasks will show a red, negative day number.
Please, edit this topic's initial post and add "[Solved]" to the subject line if your problem has been solved.
Ubuntu 18.04, no OpenOffice, LibreOffice 6.4
User avatar
Posts: 28536
Joined: Mon Oct 08, 2007 1:35 am
Location: Germany

Return to Database Examples

Who is online

Users browsing this forum: No registered users and 1 guest