Logbook/Notes System
Introduction
I’ve been preparing for this part while avoiding it until now: the logbook/notes system.
Concept
The idea is to integrate multiple logbook entries across various pages and records throughout the application. For example:
- In the Contact Relation Manager (CRM), we manage all contacts, including potential sales leads, residents in refugee shelters, and stakeholders of various locations. This list is filtered based on assigned labels and user/group permissions, which we’ve discussed previously.
- For instance, if I am assigned the role of a sales broker, I should only see leads categorized under the CRM’s “Leads” label, while being restricted from personal logs or unrelated data.
Current Approach
My plan is to create a form for every record and page that's going to have a logbook section to it. While this will be time-consuming, I anticipate that structuring it properly from the outset will be less of a headache in the long run. (I can make it, connect it and then use the 'hide' function to never look at it again). Each logbook will have a standardized format, making query duplication simple—just a matter of copying and pasting with normalized names.
This setup ensures that the logbook remains functional, even if the application is incomplete. It also allows me to insert historical data early on to validate system behavior before moving on to other sections.
Implementation
This structure will result in 10–15 logbooks connected to different pages, which will then merge into a unified query. Normalized data entry will minimize complexity during merging.
Potential Concern
I’m concerned about the performance impact of handling extensive long-text fields in a large query. However, I believe that filtering queries at a binary level before generating content could mitigate this issue. Does this approach make sense?
User Permissions and Filtering
The merged logbook data will be filtered based on user and group permissions, as discussed earlier. This ensures that sensitive data is not exposed in an unfiltered query. By pre-filtering queries, I can seamlessly integrate them into pages and records while providing a reply section in the footer. This allows users to add relevant information without navigating away from the record, ensuring data consistency and efficiency.
Automated Entry Registration
I would love to automate data tracking for log entries. Ideally, each record should include:
- CreatedBy
- CreatedOn
- ModifiedBy
- ModifiedOn
- ChangedData
This would greatly aid in tracking data integrity, rolling back errors, and reducing the need for manual log entries. For instance, if a user schedules a dentist appointment for a resident or orders a taxi, the system should automatically generate a log entry without requiring manual input.
Learning Path and Challenges
I’ve struggled to find solid learning resources on automating this type of data logging in Access. While searching YouTube, I encountered more unanswered questions then solutions and it drove me crazy. I'm pretty sure that I'm using the wrong keywords to get to the information that I need.
Example Scenarios
- Game Development Example: In a turn-based system, pressing a button should create a new table entry. Each subsequent button press should append another entry, generating data based on the previous one.
- Company Inventory Example: A live inventory system should automatically update stock levels when new items arrive or are used. If stock levels drop below a threshold, an automated request should be sent to the order form, ensuring a continuous inventory cycle.
I’d appreciate a pointer towards a place where I can learn about these problems. Does anyone know a good course or an author?