Sample data · this browser only

Switchboard Builder

Web twin of the Access Nifty Switchboard Builder: edit tblSwitchboardItem with forms and buttons, not by typing row numbers. Same table the VBA Switchboard form reads. Not the heritage explainer at /nifty-switchboard-builder/ and not the short runtime menu at /demo/switchboard/.

Table-driven menu editor · What this demo shows · Add-page Yes / No / Cancel · Demos

Builder (frmSwitchboardBuilder)

Select a page, then an item. Edits write the table immediately (Access bound-form feel). Stored in this browser as niftyaccess-switchboard-builder-v1.

Items (tblSwitchboardItem · ItemNumber 1–8)

ItemNumber 0 is the page title, not a button. Delete leaves a hole. Close gap packs the rest up.

# Item text Command

Item

Command and Argument are the same fields the Switchboard form uses.

Main

Live Switchboard form. Same rows. Missing ItemNumber is a blank gap, not a packed list.

What this demo shows

A Builder UI over the classic VBA Switchboard table — pages and items as rows, preview from the same data.

  • Select a page — combo of page titles (ItemNumber 0).
  • Edit item text / command / argument on a form, not JSON.
  • Rank Up / Rank Down swap ItemNumber with the neighbouring item (unique-index safe via a temp 99).
  • Add item — next number is filled-count + 1. If a gap already exists that collides, you must Close gap first.
  • Add page — popup with default name; Yes / No / Cancel if you leave the default (Advanced MsgBox spirit).
  • Delete item — default is to leave a gap at that ItemNumber. The preview shows a blank slot. Close gap packs 1…n.
  • Live previewNiftySwitchboard.mount with fixed slots, cap 8 buttons.

Honest limits

  • Sample data in this browser only. Refresh keeps localStorage. Other browsers do not share it.
  • Not Microsoft Switchboard Manager. Not the later macro switchboard.
  • Open report / query / macro / run code are labelled stubs — not a VBA host.
  • Heritage product page stays at /nifty-switchboard-builder/. Runtime-only menu stays at /demo/switchboard/.

Will this work when the data is in a database?

Yes. The same rows would live in tblSwitchboardItem (SwitchboardID, ItemNumber, ItemText, Command, Argument). The host maps Argument to a form, report, query, macro, or function.

Sample data only. Local review — not deployed. Pattern page: table-driven Switchboard Builder.

Add Switchboard page

Default name first. Go runs the Yes / No / Cancel pattern if you leave it.

Nifty Access — Change Default Page Name?