If you work with Microsoft Access on a daily basis, having customized search engines is key to finding records on the fly and avoiding errors. With a little planning and a combination of tables, queries, forms, search fields, and macros, you can build a powerful search system that adapts to your business without being a programmer.
In this guide, we gather and reorganize, in clear, step-by-step language, everything you need to create custom search engines in Access (desktop and Access 2013 web apps with SharePoint), as well as custom context menus, form tricks, security, remote access options, and best practices to make your database agile and robust.
What is Microsoft Access and what is it used for?
Microsoft Access is the Office suite database oriented to create management applications without complications, with tables, relationships, queries, forms, and reports that you can design with visual assistants and with hardly any code.
Typical uses include CRM, inventory, incident tracking, financial or health records, libraries and asset control, with seamless integration with Excel and Word to import, link, or export data whenever you need.
Highlights: Intuitive design, templates, automation with macros and powerful views and filters, as well as a gentle learning curve for teams new to data management.
Pre-planning: structure, relationships and search criteria

Before building the search engine, draw a minimal schema with the tables, their key fields and how they relate, as well as the search criteria that users will actually use (e.g., name, category, provider, state, dates, city).
Base example: Products, Categories and Suppliers with correct relationships, This allows you to filter by category and supplier without duplication, taking advantage of Access wizards for queries and forms.
Web Application Context in Access 2013
Access 2013 introduced a web application model that allows business experts to create apps that run in the browser, relying on templates and SharePoint for publishing, collaboration, and multi-user access.
Minimum requirements: Access and a SharePoint development environment, which you can configure by following the official documentation before creating and publishing your app.
Create a templated web app and explore it
Starting from Access, choose 'Customize Web Application', assign a name and location, and search for an outline template (e.g., 'Issues'), so that Access generates tables and views ready for use.
When you open the 'Issues' schema you will see tables such as Problems, Customers and Employees, with auxiliary tables such as Related Problems and Comments, where each incident is associated with a client and employees involved in its opening, service or changes.
Relationships in web apps are managed with Lookup type fields, For example, the Customer in Problems field that links to the Customers table, displaying the readable name but internally storing the identifier.
Predefined views: List, Datasheet and Groups, each oriented to a work mode, with a configurable action bar to add, edit, save, delete, or cancel changes based on your flow.
Controls like AutoComplete speed up record selection and improve accuracy, displaying typing suggestions and preventing typing errors in key fields.
Essential components of search engines in Access
A good search engine combines data sources (tables), filters (queries), interface (forms) and smart controls (search fields and combo boxes), with macro automation when you need refreshes, autofills, or other chained actions.
- Boards: structured origin of the information consulted.
- Consultations: Return only records that meet specific criteria.
- Forms: capture search parameters and present results.
- Search fields and drop-down lists: select values from other tables with readable names.
- Macros: automate steps after selecting filters or running searches.
Step by step: build your custom search engine
1. Design tables and relationships
Create one table per entity with a unique identifier and define relationships (one-to-many) between them, For example, Orders with Customers or Products with Categories, to ensure integrity and facilitate accurate filters.
Practical tip: Use foreign keys and search fields to save IDs and display friendly texts, improving the experience by filtering and avoiding reference errors.
2. Configure lookup fields
Lookup fields convert an ID into a readable drop-down list, perfect for filtering by customer, category, status or other catalogs.
- Open the table in design view and select the field to convert (for example, CategoryID).
- Go to the Search tab and launches the wizard to take values from another table or query.
- Select visible columns to display names, even if the ID is saved.
- Save the table and use it in your forms for more convenient selection.
3. Create parameterized queries
Parameterized queries prompt the user for a value to return exact or approximate matches, for example, by partial name, by date ranges, or by combining several conditions.
- On the Create tab, choose Design Query and add the necessary tables.
- Drag the fields to display to the design grid.
- In the Criteria row, define parameters, for example partial search by name with Like '*' & & '*'.
- Save and test: When executed, the query requests the data and returns only the relevant information.
You can combine multiple parameters (e.g. name, city, and state) for advanced and versatile searches.
4. Design the search form
The form is the face of the search engine: clear, with key fields at the top and results visible in a subform, including buttons for Search, Clear Filters, and View All.
- Text box for searches by word, code or reference.
- Combined tables for category, client, status, etc.
- Action button that refreshes results or executes the associated query.
- Linked subform to the query to list matches without leaving the form.
If you want more control, add events when changing filters or when pressing the button to refresh subforms with macro or with a touch of VBA when needed.
5. Automate useful tasks with macros
Access allows you to fill in related data or chain actions after selecting criteria, how to bring up a customer's phone number as soon as you select it in an AutoFill control.
Add the required field to the table: In 'Issues', create 'Contact Number' as Short Text and save.
Create a data macro to retrieve the information: In Create > Advanced > Data Macro, create a CustID (Floating Decimal Number) parameter, use LookupRecord on 'Customers' with condition .=, and then SetReturnVar with name ContactPhone and expression .. Save the macro as GetContactPhone.
Place the field in the list form: Drag 'Contact Number' from the Field List and name the control 'CustomerContact'.
Create the 'After Update' interface macro: In your customer control (e.g., 'CustomerAutocomplete'), add a RunDataMacro calling GetContactPhone and pass in CustID with . Define a SetLocalVar called 'Telefono' with the return value and use SetProperty on 'CustomerContact', property 'Value', with =. When you select the customer, the number is automatically filled in.
Forms that enhance search
Access offers form templates tailored to different searching and editing scenarios, which speeds up the construction of a comfortable interface for the end user.
Form from table or query
Select the table or query in the panel and click Create > Form to generate an initial design that you can adjust in Presentation view.
Blank Form and Field List
If you prefer total flexibility, use Blank Form and drag fields from the Field List, adding a title, logo or date according to your needs.
Split form
Displays detail and synchronized data sheet simultaneously, Ideal for quickly locating on the grid and precisely editing in the detail panel.
Multi-item form
Displays multiple records at once with more formatting control than a spreadsheet, very useful for reviewing and filtering long lists with style.
Form with subform
Perfect for one-to-many relationships (customer and orders, for example), linking by key fields to see related data at a glance.
Navigation form
Useful as a main screen for organizing search engine access in Access, forms and reports, especially if you're going to be publishing on the web or want a tidy work menu.
Remote Access and Access Web Apps
If you need to work outside the office, you can use Remote Desktop to connect to a computer with Access, operating as if you were there without rewriting your solution.
Alternatively, create an Access web app and publish it to SharePoint or Microsoft 365, with forms and views that run in the browser, simultaneous collaboration, and data in the cloud.
Customizing the Navigation Panel
You can customize the navigation panel by creating categories and groups to suit your needs, bringing Access search engines, key queries, and reports closer to users and hiding what isn't used.
Remember that this customization affects only the current database, Therefore, it is advisable to agree on a structure if it is shared by several teams.
Custom context menus with macros
Access allows you to define your own context menus using menu macros and submacros, to offer tailored commands when right-clicking or using the Add-ons tab.
Step 1: Macro with submacros (menu commands)
Create a macro object containing submacros, each representing a menu command, for example 'Print' or 'Update', with one or more actions within each submacro.
- In Create > Macros and Code, choose Macro and add the submacros with the name you want to display.
- Within each submacro, add the desired actions in the order in which they should be executed.
- Save the macro object with an identifiable name, for example 'mcrShortcutMenuCommands'.
Step 2: Macro that creates the menu (AddMenu)
Create a second macro object that uses the AddMenu action to build the menu from the previous object, sometimes called a 'menu macro'.
- In Create > Macro, inserts the AddMenu action.
- In 'Menu Name' you can assign a title (useful if you will be placing it on the tape as a complement).
- In 'Menu Macro Name' indicate the object created in step 1 so that it becomes a menu.
- Save with a clear name, for example 'mcrAddShortcutMenu'.
Step 3: Attach the menu where appropriate
You can locate the menu on the Add-ins tab of a form or report, as a context menu for a specific control/object or as a global context menu for the database.
- Form/Report Add-ons: In Design View, open the Property Sheet, select the entire object, and in the 'Other' tab, enter 'mcrAddShortcutMenu' in 'Menu Bar'.
- Control/Object Context Menu: In 'Context Menu Bar' type 'mcrAddShortcutMenu' and make sure 'Context Menu' is set to 'Yes'.
- Global context menu: Go to File > Options > Active Database and, under 'Context Menu Bar', set 'mcrAddShortcutMenu'; close and reopen the database.
You can create submenus with more actions again using AddMenu inside a top-level macro object, remembering to put 'Menu Name' on each level to avoid blank lines.
Important: If/Then/Else conditions are only supported on the top-level menu macro object, valid for showing or hiding a menu, but not for internal commands or submenus.
If you group multiple menu macros into a single object with submacros, each referenced with the notation 'MacroObject.Submacro', for example 'mcrAddShortcutMenus.AddMenu2'.
Basic tasks and best practices that improve your Access search engines
Copy and paste from Excel or Word It saves you time if the data is well tabulated in columns, making it easier to get started.
Import or link external data allows you to work with the updated version without physically moving the information, ideal with multiple editors.
Table Analyzer identifies redundancies to normalize, keeping an original copy for security.
Create from scratch: table, form and queries
When you start Access you can create a blank database and a first table with an auto-incrementing 'Id' field, useful for uniquely identifying records without accidental duplicates.
Add fields with the appropriate type (text, number, date…) and save the table; data is automatically saved as you enter it, so you can move forward without fear of losing changes.
To enter data easily, create a form with the wizard, choosing the layout (columns, tabular, datasheet, or justified) and adjusting sizes in Design View when necessary.
If you want complete control over the layout, create a blank form. and drag fields manually for a fully customized design.
Security and access
Access allows you to encrypt and password protect, manage permissions and limit design, measures that should be reinforced with internal policies and periodic backups.
- Strong passwords and rotation to minimize unauthorized access.
- Updates and patches up to date to close possible gaps.
- Granular Access Control to view, edit or delete by role.
- Frequent backups stored in secure locations.
- Updated antimalware in teams that use the base.
- Regular audits to detect vulnerabilities.
For critical projects, high volume or high attendance, Consider enterprise engines (SQL Server, MySQL, MariaDB) while keeping Access as the interface if you find it useful.
Types of search engines you can set up in Access
Access is flexible and allows everything from simple searches to advanced solutions with intelligent controls, adjusted to the reality of your data and the speed that the team needs.
- simple search: by a single field (name, code, date).
- Advanced search: combines multiple criteria (e.g. name + city + state).
- Dependent lists: : the value of the first filter conditions the second (category > products).
- Autocomplete: suggests as you type to speed up your choice.
Practical cases where a good search engine makes a difference
In inventory, CRM, HR, finance, healthcare, libraries or asset management, A well-designed search engine saves time, reduces errors and improves the experience.
- Inventory: Filter by category, supplier, stock or expiration date.
- CRM : Locate clients by stage, manager, or history.
- Employees: Search by role, center, seniority or key dates.
- Expenses and budgets: Restrict by date ranges, items, and status.
- Patients and appointments: Filter by professional, service or status.
- Libraries: Search by author, topic, or availability.
- On going : Locate by location, state or responsible.
Advantages and limitations in this context
Advantages: easy to get started, templates, macros, integration with Office and multi-user support in small and medium-sized environments, in addition to a visual interface that accelerates value delivery.
- Quick to iterate without extensive technical knowledge.
- Multiple users on a local network or with SharePoint.
- Import and linking from other sources with consistent identifiers.
- Queries and filters able to locate information instantly.
Limitations: capacity and security below corporate engines and corruption risk if forced with lots of data or high concurrency, Therefore, it is advisable to limit the scope or consider hybrids with SQL engines.
Readings and side topics that may interest you
Although they are not essential for your search engine, these topics often arise in real projects, so they can help you expand your toolbox.
- How to download and install SQL Server Management Studio to manage SQL engines as your solution grows.
- How to efficiently export and import data in MATLAB if you work with external advanced analytics.
- Guide to opening and managing DBF files when you receive historical data in that format.
- How to run SQL queries in Excel for rapid prototypes or reports without leaving Office.
Share this guide so other users can learn how to create search engines in Microsoft Access.