01 / Context & ownership
The starting point.
Student and course records are useful only when someone can work with them. This VBA-based application brings SQL imports, calculations, and report generation into an Excel interface, connecting MDB or ACCDB data with a Word document output.
What I owned
I built the student data analysis application documented in my repository. Its core workflow combines a VBA interface, SQL-based data import, calculation modules, and Word report generation.
The useful product is the complete path from raw records to an understandable output. A calculation alone is only one part of that workflow.
02 / Decisions that mattered
The decisions.
01Use SQL at the import boundary.
The application imports selected data from MDB and ACCDB files using SQL. This provides a route from stored student, course, and grade records into the working interface.
The reasoningData retrieval belongs in a defined step rather than being hidden inside a report.
02Put calculations behind an interface.
VBA provides the application interface and calculation modules in Excel, so the workflow is more structured than manually moving data between files.
The reasoningThe interface connects a technical operation with the person’s task.
03Finish with a shareable document.
The workflow generates Word documents for presenting the analysis. The architecture diagram here uses only generic labels; no student records are included.
The reasoningThe final output needs to be useful to someone who is not working inside the spreadsheet.
03 / Outcome & reflection
What changed.
The documented application connects import, calculation, and report generation across familiar desktop tools. It shows my interest in building a complete workflow around data, not just a standalone interface.
What the results don’t tell us
The application requires Windows Excel and Access support for MDB/ACCDB files, with macros enabled. It is not compatible with macOS Excel. No new runtime verification or performance benchmark is claimed here, and student data is not reproduced.
Where I’d take it next
A next iteration would use synthetic fixtures to test missing values, invalid imports, calculation boundaries, and report output, then make validation failures clear in the interface.