I am redesigning/adapting a data collection tool for an employee study at work. I've done this already twice before, but the study group has grown each successive time. The upcoming study will involve around 500 employees, most of which will be connected to the backend concurrently. A single Access backend will not be able to handle this many connections (255 hard limit but I've read that performance decreases well before that limit). Participants will only be submitting data entries through the tool; no editing existing records, but I am planning to give them the ability to delete their own entries in case they notice they made mistakes (previously I had them contact me to make edits if necessary, but that is a bigger hassle for both parties). Backend is fairly simple: an employees table to only allow access to people who need to partake in the study, an entry log table, and a few more tables for tasks and categories for filtering dropdown options on the tool. Entry form is not bound to a table; entries are submitted with VBA code.
I have two options to consider for how to host the backend. (Originally I thought SQL Server would be the best option, but after looking into it more, it's probably unnecessary, and since I don't have experience using it already, this is probably not a good time to learn and use for the first time; plus IT dept probably would not install it for me.)
First option is to split the backend into 5 separate backends for each group of participants. Each backend would have up to ~100 people connected concurrently. Hopefully that would be sufficient splitting since record locking should never be an issue (only submitting records and rarely deleting own records). Backends will be kept in a public network folder, and I am planning to upload the respective frontends to SharePoint for people to download (last time putting the frontend in a network folder for people to copy onto their workstations was messy, even despite having code that prevented them from using it directly in the network folder).
Second option which I am still unfamiliar with is converting the backend tables to SharePoint lists. I think this will avoid the issue with having 500 people all submitting entries simultaneously. There's also an issue of lag/latency when people work remotely connected to VPN, which shouldn't be an issue with SharePoint. One drawback is I believe SP lists don't support table relationships, so filtering tasks by category won't work like I've done it before. I'd have to store these as static lookup tables in the frontend, which would be fine if I don't need to change anything midway through the study, which I have had to do previously because supervisors and managers didn't have it all planned out well enough beforehand. Any such changes would require forcing users to download a new frontend version, which I've already devised a way to do with VBA.
People with experience connecting Access to SP, or split databases requiring more than 255 concurrent users, what do you suggest? In total, I expect the number of entries by the end to be in the tens of thousands, probably not over 10^5 but who knows. I've read that SP isn't good for over 5000 records, but not sure if that would be a problem when there will be little reading from/modifying the entry log.