﻿Harbor Point Supply - Customer Desk                                   version 1.0.0
=====================================================================================

A LiteView2 showcase: a Microsoft Access application whose screen is a modern web page.

  * 25,000 customer accounts with contacts, orders, order lines and activity
    (the company and all data are fictional).
  * Access keeps the data and the rules: tables, relationships, validation rules,
    saved queries and transactions.
  * The page in the app folder shows the list, search, filters, sorting and the
    account editor.
  * LiteView2 joins the two without installation: the OCX files next to the database
    are loaded directly (registration-free). Nothing is registered on your PC.


REQUIREMENTS
------------
  * Windows 10 or Windows 11
  * Microsoft Access 2016 or later, or Microsoft 365 - 32-bit or 64-bit
  * Microsoft Edge WebView2 Runtime (Evergreen). It is already part of current
    Windows 10 and 11; otherwise install it from Microsoft's WebView2 download page.


GETTING STARTED
---------------
  1. Before you extract: right-click the zip > Properties > tick "Unblock" > OK.
     Windows marks downloaded files, and Access blocks the code of a database that
     comes from a marked zip.
  2. Extract the whole folder, for example to C:\Demos\HarborPoint_CustomerDesk.
     Keep these together: CustomerDesk.accdb, LiteView2_x64.ocx, LiteView2_x86.ocx
     and the app folder.
  3. Add that folder as a Trusted Location (File > Options > Trust Center >
     Trust Center Settings > Trusted Locations), or click "Enable Content" when
     Access shows its yellow security bar. (Access may first say "The active
     content in this file is blocked" - click OK; the yellow bar follows.)
  4. Open CustomerDesk.accdb. The Customer Desk opens by itself.


LICENCE
-------
This copy contains no licence key: LiteView2 runs on its own 30-day trial, which
starts the first time you open it. With a LiteView2 licence, open the module
modLV2Pool and put your company name and key into LV2_COMPANY and LV2_KEY.


WHAT TO TRY
-----------
  * Search with Ctrl+K or /. Accents do not matter: "muller" finds Müller.
  * Tick "incl. contacts & orders" to let Access search contact names, e-mail
    addresses, phone numbers and order numbers as well.
  * Filter in the left panel; click a column header to sort.
  * Arrow keys move through the list, Enter opens the account, Esc goes back.
  * Ctrl+N starts a new account, Ctrl+S saves.
  * Archive an account (Access refuses while it has open orders), restore it, or
    delete an account without orders (Access refuses to delete one with orders).
  * Light or dark theme and compact rows: the buttons at the top right.


THE VBA
-------
VBA: 2 modules - Form_frmCustomers (279 code lines) + modLV2Pool (the
standard LiteView2 registration-free start-up, 36 code lines).

  * The form creates the browser inside its frame, lets the page call the form's
    Public procedures (the "vba" host object), and answers every call with a
    JSON array. The 25,000-account list comes back inside that answer (BuildJson
    of GetRows, the fastest route); one account's contacts, orders and activity
    are pushed with PushRecordset.
  * Every data rule lives in Access itself: field and table validation rules,
    unique indexes, enforced relationships, a data macro that keeps each account's
    audit key permanent, saved queries and transactions.


GOOD TO KNOW
------------
  * Close the Customer Desk form before you edit its VBA. Changing code while the
    form is open resets the VBA project and leaves the page without its connection
    to Access. Reading the code is fine.
  * Everything runs on your PC. LiteView2 serves the app folder to the page under
    the address https://lv2.example - there is no web server and no network use.


FILES
-----
  CustomerDesk.accdb    tables, queries, the form and modLV2Pool
  LiteView2_x64.ocx     LiteView2 for 64-bit Office
  LiteView2_x86.ocx     LiteView2 for 32-bit Office
  app\                  the page: index.html, css\, js\
  README.txt            this file
