Web Access Builder Request an instance

Web Access Builder user guide

<img src="../public/img/logo.svg" alt="Web Access Builder" width="276">

Web Access Builder is an Access-style database that runs in the browser. Admins design tables, queries, forms and reports, and write code; users open them and work with the data. Everything is stored on the server, so there is nothing to install and nothing to email around. (The repo and code name is webaccess; some messages in the app still use it.)

This guide assumes you know Microsoft Access. Where Web Access Builder works differently, it says so; the full list is in Access and Web Access Builder compared. Writing code is covered in the programmer's guide.

Getting started

Signing in

Open the site and enter your user name and password on the Web Access Builder sign-in page. A sign-in lasts 14 days unless you sign out. After ten failed attempts in fifteen minutes from one address you are asked to wait a few minutes.

Your name and role (Admin or User) show at the top right. That menu has Change password (passwords are at least 10 characters; changing yours signs out your other devices) and Sign out. Signing out with unsaved work asks first.

Roles

Admin User
Open tables, forms, reports and saved queries; edit data yes yes
Export to Excel or CSV yes yes
Design tables, queries, forms and reports yes
Write and debug code yes
Import, back up, compact yes
Add and manage users yes

Users see only the Home tab and the Export group; they open forms in their Default View and queries as read-only results.

The window

  • Title bar: the Web Access Builder logo, the Quick Access Toolbar and, at the right, your name and role.
  • Navigation Pane on the left lists Tables, Queries, Forms, Reports and, for admins, Modules and an Administration group with Users. The search box filters every group. Click an object to open it (an action query runs instead, after warning); right-click for Open or Run and, for admins, Design View. Action queries have Access's icons. Admins get a + on each group for a new object.
  • Tabbed documents: each open object is a tab. A dot on the tab means unsaved changes; closing it asks whether to save. Middle-click closes a tab.
  • Ribbon: Home, Create, External Data and Database Tools, plus contextual tabs for whatever is open (Table Design, Query Design, Form Design, Report Design, Format, Arrange, Page Setup, Print Preview, PivotTable Tools, Code). Ctrl+F1 or the arrow at the right collapses it; double-click a tab to do the same.
  • Quick Access Toolbar: Save, Undo and Redo. Ctrl+S saves the active object wherever the focus is.
  • A form or code can hide the ribbon and the Navigation Pane. Admins can bring either back from the menu at the top right.

On a phone the ribbon starts collapsed and the Navigation Pane slides in from the ☰ button.

Tables

Design view

Create > Table Design, or the + beside Tables. A new table starts with an AutoNumber field called ID as its primary key.

Data type What it holds
AutoNumber A number assigned to each new record. Always the primary key; one per table.
Short Text Text up to 255 characters (Field size sets the limit).
Long Text Longer text.
Number Field size: Byte, Integer, Long Integer (the default), Single, Double, Decimal.
Currency Pounds, kept to four decimal places.
Date/Time A date with an optional time. Default value can be Date() or Now().
Yes/No A tick box.

Field properties below the grid: Field size, Caption, Default value (a literal, Date() or Now()), Required and Indexed (No, Yes (Duplicates OK), Yes (No Duplicates)). There is no Format, Input Mask, Validation Rule or Allow Zero Length: an empty text box is always stored as Null.

The toolbar and the Table Design tab have Primary Key, Insert Rows, Delete Rows and Delete Table. A primary key can span several fields; key fields are always required.

Names of tables, fields, queries, forms, reports and controls follow Access's rules: up to 64 characters, any letters, digits, spaces and punctuation except . ! ` [ ], and not starting with a space. So Margin (Weighted £) and ROI % are fine; in SQL and expressions such names go in square brackets, as in Access. Tables and queries share one set of names. Text comparisons ignore case throughout.

Saving a changed table

Saving rebuilds the table and copies the data across, so renaming a field keeps its data and AutoNumber values carry on from where they were. If data would change (text cut to a shorter size, values that cannot be converted cleared, a deleted field's data lost) a Some data will change dialog lists what will happen before you choose Save anyway. Some changes are refused until you fix the data first: making a field Required when records are empty, adding a Required field with no default to a table that has records, or changing a field to AutoNumber once there is data.

Datasheet view

Tables open in Datasheet view. Changes collect in the row and are saved when you leave it; Shift+Enter saves now, Esc undoes the row. The record selector shows ▶ for the current row, ✎ while it has unsaved changes (click the pencil to save) and * on the new-record row.

Key Action
Arrows, Tab, Enter Move between cells
Home / End, Ctrl+Home / Ctrl+End First or last column; first or last record
F2 or double-click, or just type Edit the cell
Space Tick or untick a Yes/No cell
Shift+Enter, Ctrl+S Save the record
Esc Undo the row
Delete Delete the selected row (after confirming), or clear the cell
PageUp / PageDown Move 20 rows
Ctrl+C / Ctrl+X / Ctrl+V Copy, cut and paste a cell

Click a column heading to sort ascending, again for descending, again to clear. Selection on the Home tab filters to the current cell's value (filters stack; Remove Filter or the Filtered badge clears them). Records are paged 100 at a time; the record bar's position box jumps to a record number.

Dates show and are typed as DD/MM/YYYY, with an optional time; today and now are accepted. Currency shows as £1,234.50. Yes/No is a tick box. A combo box's stored value, not its display text, shows in a table's datasheet.

Queries

Only admins design queries. Users run saved queries, and are asked for any parameters.

Design view

Create > Query Design opens the Add tables and queries picker. Then, as in Access:

  • Drag a field onto a field in another table to join them. Click the join line for Join properties: inner join, include all records from one side or the other, or delete the join. Tables with no join give every combination of rows.
  • Double-click a field (or *) into the grid, or type into the Field row: Total: [Qty]*[Price] makes a calculated column.
  • Rows: Field, Table, Total (when Σ Totals is on), Sort, Show, Criteria and three or rows. The buttons on a column heading move or remove it.
  • Totals: Group By, Sum, Avg, Min, Max, Count, StDev, Var, First, Last, Expression and Where. An aggregate with no alias is named SumOfAmount and so on; a Where column filters before grouping and is never shown.

Criteria use Access syntax: >10, "Leeds" Or "York", Like "S*", Between #01/01/2026# And #31/03/2026#, Is Null, Not Null, In ("A","B"), >=Date()-30. Criteria on one row are joined with And; separate rows with Or. Any name in brackets that is not a field, such as [Enter a date], becomes a parameter and is asked for when the query runs; it takes its type from what it is compared with.

Run (or the Datasheet view) runs the current design, saved or not. Saved queries can be used as sources in other queries.

Action queries

Query Type on the Query Design tab turns a select query into a Make Table, Append, Update or Delete query, as in Access. The grid gains Access's rows:

  • Append: choose the table to append to; an Append To row says which field each column fills (fields with the same name are filled in for you).
  • Update: an Update To row holds the new value, an expression such as [Price]*1.1 or "Closed".
  • Delete: a Delete row, with From for Table.* and Where for the conditions.
  • Make Table: the name of the new table. An existing table of that name is replaced.

The destination table shows above the grid. Joins work in update and delete queries too: an update or delete over a join changes one table.

Run in Design view, or opening a saved action query from the Navigation Pane, warns as Access does ("You are about to run an update query that will modify data in your table…"), asks for any parameters, then says how many rows will change ("You are about to update 3 row(s)…") before anything is changed. There is no undo. Datasheet view of an action query shows the records it would change. Everyone can run saved action queries; making a table needs an admin.

SQL view

SQL view shows the Access SQL the grid produces, and you can write SQL directly. The dialect is Access's: [names] in brackets, "text" in double quotes, dates as #dd/mm/yyyy# (day first), Like "S*" with *, ? and # wildcards, & to join text, and the VBA functions (IIf, Nz, Format, DateAdd, DateDiff, Left, Mid, InStr, Year…). The server translates it to SQLite. SQL view saves SELECT, INSERT INTO … SELECT, UPDATE … SET, DELETE Table.* FROM … and SELECT … INTO, with joins, for example UPDATE Items INNER JOIN NewPrices ON Items.Code = NewPrices.Code SET Items.Price = NewPrices.Price. The programmer's guide lists what is and is not accepted.

Editing the SQL by hand detaches it from the grid: Design view then offers Open SQL view or Discard SQL changes, because Web Access Builder cannot yet turn SQL back into a grid. UNION and crosstab queries are not available.

Select query results are read-only in the datasheet and in forms based on a query. A query's datasheet shows 100 rows at a time and pages through all of them; exports take every row.

Forms

Creating a form

  • Create > Form lays out every field of the open table or query and opens it in Form view, as Access's Form button does.
  • Create > Form Design opens a blank form in Design view, on the open table or query if there is one.
  • The + beside Forms opens the New form dialog: a name, Show records from (a table, a query or none) and Start with all the fields laid out or a blank form.

An admin's toolbar switches between Form, Datasheet, PivotTable, PivotChart and Design views, and has Save and Delete form. Form view runs the design as it is, saved or not. Users get the form's Default View, and the pivot views when the form allows them.

Design view

Three sections, Form Header, Detail and Form Footer, on an 8-pixel grid. Drag a section's bottom edge to change its height and the right edge for the form width. Click a section's title bar to select the section.

  • Click a control to select it; Shift+click adds to the selection; drag on empty space to select several. Drag to move (between sections too), use the handles to resize, arrows to nudge by a pixel (Shift+arrows by 8). Delete removes.
  • Field list (Alt+F8): double-click or drag a field onto the form to add a label and a bound control. Yes/No fields get a check box, Long Text a multi-line text box.
  • Property sheet (F4): pick the form, a section or a control from the list at the top; the Events tab shows which events have code and opens the code window.
  • Undo and redo (Ctrl+Z, Ctrl+Y, up to 100 steps), Ctrl+C/X/V to copy, cut and paste controls (between forms too), Ctrl+D to duplicate, Ctrl+A to select all, Ctrl+S to save.
  • Form Design tab: the Controls gallery (click a control, then click on the form), Logo, Title and Date and Time for the header, Add Existing Fields, Property Sheet and View Code.
  • Format tab: Bold, Italic, Underline, alignment and Conditional Formatting.
  • Arrange tab: Align (Left, Right, Top, Bottom, To Grid), Size (To Widest, Narrowest, Tallest, Shortest), Spacing (Equal Horizontal, Equal Vertical), Bring to Front, Send to Back, Snap to Grid, Show Grid, the Anchoring gallery and Select All.

Controls

Control Notes
Label Caption. A control's label is <name>_Label and moves with it.
Text Box Control Source (a field or =expression), Format (General Number, Currency, Fixed, Standard, Percent, Yes/No, General Date, Long Date, Medium Date, Short Date, Short Time), Multi-line, Default Value.
Combo Box, List Box Row Source Type Table/Query (Bound Field stored, Display Field shown; up to 1,000 rows) or Value List (Open;Shipped;Closed). Combo boxes have Limit To List.
Check Box For Yes/No fields.
Option Group Options as Label=Value, one per line (up to 20); Option Style buttons, check boxes or toggle buttons; vertical or horizontal.
Option Button, Toggle Button Stand-alone or inside an option group.
Button A Click Action (below), or a Click event procedure.
Hyperlink An https://, http:// or mailto: address, opened in a new tab.
Image PNG, JPEG, GIF, WebP or SVG up to 400 KB, stored in the form; Size Mode Zoom, Stretch or Clip.
Tab Control Pages one per line (up to 20). Controls placed on a page belong to it.
Subform/Subreport Source Object, Link Master Fields and Link Child Fields (several separated by ;).
Line, Rectangle Border Colour and Border Width.

Every control has Left, Top, Width, Height, font size, Bold, Italic, Underline, Text Align, colours, Visible, Enabled, Locked (data controls), Control Tip Text, Tag and the two anchors. Names follow the rules under Tables and are unique on the form.

Button actions: Save record, Undo changes, Go to new record, Delete record, First/Previous/Next/Last record, Close form, Open another form, and Hide or Show the ribbon or the Navigation Pane. A button with a Click event procedure runs that instead.

Not provided: bound and unbound object frames, OLE and ActiveX controls, the web browser control and charts other than PivotChart.

Form properties

  • Record Source: a table or query. Forms on queries are read-only.
  • Caption, Default View (Single Form, Continuous Forms, Datasheet, PivotTable, PivotChart), Allow PivotTable View, Allow PivotChart View.
  • Allow Edits, Allow Additions, Allow Deletions, Data Entry (opens at a new record).
  • Timer Interval in milliseconds, for a Timer event procedure.
  • Width, and for the Detail section Height, Back Colour and Alternate Back Colour (every other record in Continuous Forms).
  • Pop Up: the form opens in its own window over the others, which can be dragged by its title bar and resized at the corner. With it: Modal (dims everything else until closed), Auto Center or Window Left/Top, Window Width/Height (0 fits the form) and Close Button. A pop-up with Close Button off needs a button or code to close it; admins always get a Design View button on the title bar.

Anchoring

A form fills its window: the Form Header stays at the top, the Form Footer at the bottom and the Detail section fills the space between. Horizontal Anchor (Left, Right, Both) and Vertical Anchor (Top, Bottom, Both) say what a control does when the window is bigger than the design: Right and Bottom controls move with the edge, Both controls stretch. Vertical anchoring works in single-record forms. The Arrange tab's Anchoring gallery sets both at once.

Form view

The navigation bar at the bottom has first, previous, next, last and new record, a record number box, an Editing badge and a Filtered badge that removes the filter.

  • Moving to another record saves the current one; Shift+Enter or Ctrl+S saves now; Esc undoes. PageUp and PageDown move between records.
  • Continuous Forms repeats the Detail section for each record with a record selector at the left (▶ current, ✎ editing, click it to save, * new). Up and Down move to the same control in the next row.
  • A form's Datasheet view shows its bound controls as columns, captioned by their labels.
  • Home-tab sorting and filtering act on the field of the control that has the focus. While a filter is on, the Filtered badge shows; click it to remove the filter.
  • Subforms show the records linked to the main record in their own Default View (including the pivot views), save before the main form does and fill in the link fields on new records. They nest three deep.

Calculated controls and totals

A Control Source starting with = is a calculation, worked out in the browser with VBA rules: =[Qty]*[Price], =[Surname] & " (" & UCase([Town]) & ")", =IIf([Paid],"Paid","Due"), =DateAdd("m",1,[Start]), =DLookup("Name","Products","ID=" & [ProductID]). Totals such as =Sum([Qty]*[Price]), =Count(*) and =Avg([Price]) are worked out by the server over all the form's records (respecting the filter) and refreshed after each save. A bad name shows #Name?, a failed calculation #Error, division by zero #Div/0!.

Conditional formatting

Format > Conditional Formatting opens the Rules Manager, as in Access 2010, for text boxes and combo boxes. Up to 50 rules per control, tried in order, the first match winning:

  • Field Value Is between, not between, equal to, not equal to, greater than, less than, or the two or-equal forms; values can be expressions such as [Target] or Date().
  • Expression Is, for example [Due] < Date() And [Paid] = False.
  • Field Has Focus.
  • Compare to other records: a data bar sized against the lowest and highest values in all the form's records, or numbers or percentages you give; Show bar only.

Each rule can set bold, italic, underline, background and font colours, and Disabled (Enabled = No). Rules apply record by record in Continuous Forms and in the form's Datasheet view. In Single and Continuous Forms, code can take over from there with the On Render event (see the programmer's guide).

PivotTable and PivotChart views

Access 2002–2010 had these views; Access 2013 removed them. Web Access Builder brings them back as form views.

PivotTable: drag fields from the field list to the Filter, Row, Column and Totals areas, or choose a field and use Add to. Date fields can be grouped by Years, Quarters, Months, Weeks and Days (add Years then Months for a year-by-month breakdown). Each field chip's ▾ menu sorts (A–Z, Z–A, largest or smallest total first), filters by ticking values, moves the field to another area or removes it. Totals are Sum, Count, Min, Max, Average, Standard Deviation and Variance (the chip's AutoCalc menu), with subtotals and grand totals; Show As gives percentages of the row, column or grand total. Groups expand and collapse. The totals are worked out by the database, so large tables stay quick; up to 20,000 groups are shown.

PivotChart draws the same layout: Row fields are the Category axis, Column fields the Series, Totals the Data, and Filter fields still filter. Chart types: clustered, stacked and 100% stacked column and bar; line and stacked line; area, stacked and 100% stacked area; pie; doughnut; XY (Scatter). Multiple Plots gives one small chart per item of a field, all on the same scale; Switch Row/Column swaps categories and series. Legend, axis titles, data labels and gridlines switch on and off from the Design tab. Up to eight series are drawn.

An admin's layout is saved with the form; a user's changes last until the form is closed. A pivot view works as a subform too, so a main form can show totals for its current record.

Reports

Reports are listed in the Navigation Pane. Everyone can open them; admins design them.

Creating a report

  • Create > Report lays out every field of the open table or query, as Access's Report button does: a title with the date and time in the Report Header, column headings in the Page Header, one row per record, "Page N of M" in the Page Footer and a count in the Report Footer.
  • Create > Report Design starts from a blank report.

Report View, Print Preview and printing

  • Report View shows the whole report as one long page, to read on screen.
  • Print Preview shows the printed pages, with its own ribbon tab: page navigation, zoom (Fit, 50% to 200%), One Page or Two Pages, page Size (A4, A3, A5, Letter, Legal), Margins (Normal, Wide, Narrow) and Portrait or Landscape. A user's page changes last for the session; an admin's are saved with the design.
  • Print (Ctrl+P) prints the pages on paper of the report's size. To make a PDF, choose "Save as PDF" in the browser's print dialog.
  • A report on a query with parameters asks for their values once each time it runs.

Design view

Access's sections: Report Header and Footer, Page Header and Footer, Detail, and a header and footer for each group. Controls are the label, text box, check box, hyperlink, image, line and rectangle, placed and arranged as on a form (the Report Design, Arrange, Format and Page Setup tabs). Text boxes have Conditional Formatting, including data bars.

  • Group, Sort, and Total (the pane below the design; Group & Sort on the ribbon): Add a group or Add a sort on a field or an expression. Group by the entire value, by the first characters, by 5s, 10s, 100s, 1000s or any interval, or for dates by day, week, month, quarter or year; A to Z or Z to A; with or without a header and footer; and Keep Together the whole group, or its header and first record, on one page. A level with neither header nor footer just sorts.
  • Totals for the selected text box (Sum, Average, Count Records, Count Values, Max, Min, Standard Deviation, Variance) go into every group footer and the Report Footer. Hide Details leaves only the headers and footers.
  • Page Numbers (Page N or Page N of M; top or bottom; left, centre or right; on the first page or not), Logo, Title and Date and Time.
  • Text boxes show fields and expressions: totals over the group or the whole report (=Sum([Cost]), =Count(*)), [Page] and [Pages], and other controls by name (a share of the grand total: =[Cost]/[GrandTotal]). Running Sum (over the group or over all) and Hide Duplicates work as in Access. Currency fields, and totals of them, show as currency.
  • Sections have Force New Page (before, after, both), Repeat Section (a group header printed again at the top of each page its group runs on to), Visible and Alternate Back Colour.

Not yet: subreports, Can Grow and Can Shrink, report events in code, opening reports from code (DoCmd.OpenReport, OutputTo) and a PDF made on the server.

External data

Import (admins)

External Data > Access, Excel or Text File. Files can be up to 50 MB.

  • Access (.accdb or .mdb, not password-protected): Access's Import Objects dialog, with a tab for each kind of object, Select All and Deselect All.
    • Tables keep their names, fields, data types and AutoNumber values, so related tables still match. Choose Definition and Data or Definition Only. Attachment and OLE fields are left out, and the import says so.
    • Queries are rebuilt as Access SQL from the database's own record of each query (tables, joins, columns, criteria, totals, sorting, parameters; select, update, delete, append and make-table queries) and saved after the tables, each after any query it uses. A query that can't run as it is (it names a field its table no longer has, say) is still imported, as Access keeps it, and the import says why. Union, crosstab and pass-through queries can't come in yet.
    • Forms, reports, macros and modules are listed, but can't be imported yet: Access keeps them in its own compressed format inside the file. Export modules from Access's editor and use Import File… in the code window (see the programmer's guide).
  • Excel (.xlsx) and text files (.csv, .txt, .tsv; comma, semicolon or tab, worked out from the first line): choose the sheet and whether the first row holds field names, then either a new table (field names, data types and sizes guessed from the values, and a primary key: an added AutoNumber ID, one of the fields, or none) or add the records to an existing table (each field matched to a column, by name to start with). UK dates, £ amounts and Yes/No are recognised.

Rows that do not fit (a value that is not a date, text too long, a duplicate key, a missing required value) are skipped, and Import finished lists which rows and why.

Export (everyone)

External Data > Excel or Text File exports the open table or query, or the open form's records; with nothing open it asks which. Queries with parameters ask for them first. Excel files have a bold, frozen header row with filters and £ and date formats; CSV files are UTF-8 with ISO dates.

Backup and Compact and Repair (admins)

Database Tools > Back Up Database downloads the whole database as a SQLite file. Compact and Repair checks the database for problems and reclaims the space left by deleted records; save or undo your changes first. There are no automatic backups, so download one regularly.

Users

Database Tools > Users (admins): Add user (user name, full name, role, password of at least 10 characters), and for each user Edit, Reset password, Switch off or Switch on (ends their sessions at once and keeps their history) and Delete. There must always be at least one active admin, and you cannot delete yourself.

Keyboard shortcuts

Keys Where Action
Ctrl+S anywhere Save the active object or record
Ctrl+F1 anywhere Collapse or pin the ribbon
Alt+F11 anywhere (admins) Open the code window
Shift+Enter datasheet, form Save the record
Esc datasheet, form Undo the record
PageUp / PageDown form Previous or next record
F4 Form Design Property sheet
Alt+F8 Form Design Field list
Ctrl+Z / Ctrl+Y Form Design Undo / redo
Ctrl+C / X / V / D / A Form Design Copy, cut, paste, duplicate, select all
Arrows / Shift+Arrows Form Design Nudge by 1 / 8 pixels
Ctrl+P Report View, Print Preview Print the report
F5, F8, F9… Code window See the programmer's guide

Not there yet

Subreports and report events, UNION and crosstab queries, importing forms, reports and code from Access files, turning hand-written SQL back into the design grid, editable query results, Find and Replace, a startup form, Format and Validation Rule on fields, macros, relationships, linked tables and external SQL connections, and scheduled backups. Access and Web Access Builder compared has the full list.


Microsoft Access is a trademark of Microsoft Corporation. Web Access Builder is an independent product and isn't affiliated with or endorsed by Microsoft. © 2026 Simon Wilson.