{"id":14986326,"url":"https://github.com/karenpayneoregon/workingwithaccessdatabases","last_synced_at":"2025-10-30T04:30:39.524Z","repository":{"id":110840709,"uuid":"164363217","full_name":"karenpayneoregon/WorkingWithAccessDatabases","owner":"karenpayneoregon","description":"VB.NET code samples for working with Microsoft Access","archived":false,"fork":false,"pushed_at":"2020-12-15T22:27:50.000Z","size":15176,"stargazers_count":13,"open_issues_count":0,"forks_count":11,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-02-02T06:24:20.377Z","etag":null,"topics":["classes","microsoft","microsoft-access-databases","vbnet","windowsforms"],"latest_commit_sha":null,"homepage":"","language":"Visual Basic .NET","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/karenpayneoregon.png","metadata":{"files":{"readme":"readme.md","changelog":"ChangeCurrentAccessDatabasePassword/App.config","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-01-07T01:40:38.000Z","updated_at":"2024-11-11T14:30:40.000Z","dependencies_parsed_at":null,"dependency_job_id":"9ee1a615-5a40-47f0-8aad-c9f803311a85","html_url":"https://github.com/karenpayneoregon/WorkingWithAccessDatabases","commit_stats":{"total_commits":74,"total_committers":3,"mean_commits":"24.666666666666668","dds":0.1216216216216216,"last_synced_commit":"16dce9b701951061646355a424813209378a0ddd"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karenpayneoregon%2FWorkingWithAccessDatabases","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karenpayneoregon%2FWorkingWithAccessDatabases/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karenpayneoregon%2FWorkingWithAccessDatabases/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karenpayneoregon%2FWorkingWithAccessDatabases/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/karenpayneoregon","download_url":"https://codeload.github.com/karenpayneoregon/WorkingWithAccessDatabases/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238930129,"owners_count":19554122,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["classes","microsoft","microsoft-access-databases","vbnet","windowsforms"],"created_at":"2024-09-24T14:12:42.480Z","updated_at":"2025-10-30T04:30:31.186Z","avatar_url":"https://github.com/karenpayneoregon.png","language":"Visual Basic .NET","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Working with MS-Access in VB.NET\n\nAlthough code samples provided here are performed with Microsoft Access databases by using patterns shown they provide a upscale to moving on to Microsoft SQL-Server databases.\n\u003e These patterns will go against what a novice developer believes to be the correct path for interacting with data as they are not a simple approach to working with a database. Patterns presented in the code samples are intended for both best practices along with providing \nreusability between forms in one project or between similar projects that work with data centric solutions.\n\nCurrently there are three articles in the series which will expand shortly to include more common solutions working with Microsoft Access databases and upscaling to SQL-Server.\n\n[Part 1](https://social.technet.microsoft.com/wiki/contents/articles/52452.best-practices-working-with-ms-access-with-vb-net-part-1.aspx), [Part 2](https://social.technet.microsoft.com/wiki/contents/articles/52453.best-practices-working-with-ms-access-with-vb-net-part-2.aspx) and [Part 3](https://social.technet.microsoft.com/wiki/contents/articles/52454.best-practices-working-with-ms-access-with-vb-net-part-3.aspx).\n\n- Interfaces.\n- Factory listeners.\n- Base connection classes.\n- Base exceptions class.\n- Secure connections [repository](https://github.com/karenpayneoregon/SecureConnectionStringsVisualBasic).\n- Adding records in batch.\n- Utilizing transactions.\n- Interacting with blob fields.\n- Working with data readers.\n- Master/Details relations.\n- CRUD operations.\n- DataGridView control considerations.\n- Data binding control considerations.\n- Database design.\n- Loading with BackGrounderWorker component.\n- Loading with Iterators and Async.\n- Searching.\n- Auto filtering component for DataGridView.\n- Query optimization for specific task.\n- Upscaling to SQL-Server.\n\n### Requires\n- Microsoft [Visual Studio](https://visualstudio.microsoft.com/) (written in 2017)\n- Microsoft Access [data providers](https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/data-providers).\n\n### Encryption notes\nIn this code sample MS-Access databases are encrypted. When working with your own database and connections fail, make sure to try the following.\n- Open Access in exclusive mode.\n- Under the file menu, options.\n- Find client settings.\n- At the bottom of settings.\n- Change  Encryption Method at the bottom. Change to selection to Use Legacy Encryption.\n\nAlso there have been reports of encryption failing with passwords longer than 14 characters.\n\n### Special note\nThere are a few projects marked as for answering forum questions, these were added as they may be of assistance to others.\n\nThis [one](https://github.com/karenpayneoregon/WorkingWithAccessDatabases/tree/master/RetrieveAutoIncrementingIdentifier) is not a code sample to follow as it's fragile, only good for a single user environment.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkarenpayneoregon%2Fworkingwithaccessdatabases","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkarenpayneoregon%2Fworkingwithaccessdatabases","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkarenpayneoregon%2Fworkingwithaccessdatabases/lists"}