Add Modern Web Components to Microsoft Access Applications
Access has reliable forms, solid VBA, and decades of business logic. What it lacks is modern UI components — rich text editors, interactive charts, data grids, PDF viewers. LiteView2 adds those capabilities inside existing Access forms without replacing what's already working.
Who this is for: Access developers and consultants adding TinyMCE, AG Grid, Chart.js, or PDF.js to existing applications.
Microsoft Access
WebView2 in Microsoft Access — DOM, JavaScript and JSON from VBA
Also works in Excel, Word, Outlook, PowerPoint, VB6, VB.NET, C#, Delphi, Python — and any COM host.
LiteView2 is a WebView2-based ActiveX control for Access VBA. It exposes hundreds of documented methods including full DOM access, a JavaScript-to-VBA bridge, PushRecordset for sending DAO data to HTML pages, and a standalone JSON engine. Like Microsoft's Edge Browser Control, it is built on WebView2, and it adds a much larger VBA surface.
30-day commercial trial · No telemetry · DAO PushRecordset built in · No admin required (reg-free)
Edge Browser Control vs LiteView2 in Access
Access Edge Browser Control (Microsoft)
- Navigate, Refresh, ExecuteJavascript, RetrieveJavascriptValue
- 3 events: BeforeNavigate, DocumentComplete, NavigateError
- No DOM access from VBA (no Object property)
- No JSON engine
- No JavaScript-to-VBA callbacks
- Access only — not Excel, Word, VB6
LiteView2
- Hundreds of documented methods including full navigation, DOM, scripting, PDF, screenshots
- Dozens of documented events: navigation, DOM ready, web message, downloads, auth
- GetElementValueById, SetInnerHtmlById, WaitForElement, and more
- Standalone C++ JSON engine
- AddHostObjectToScript — call VBA from JavaScript
- PushRecordset — send DAO/ADO data to page as JSON
Watch: Registered Mode setup (15-minute walkthrough)
A walkthrough that uses the boilerplate code below to configure an Access form with LiteView2 and render both local HTML content and a live web page.
Access VBA code sample
Push a DAO recordset to an HTML dashboard in one call:
Private WithEvents m_lv As LiteView2Lib.LiteView2Ctrl
Private Sub Form_Load()
Set m_lv = Me.LiteView2Ctrl1.Object
End Sub
Private Sub m_lv_WebViewReady()
m_lv.SetLocalContentRoot CurrentProject.Path & "\Access\demos"
m_lv.Navigate "https://lv2.example/analytics_dashboard.html"
End Sub
Private Sub m_lv_NavigationCompleted(ByVal url As String, ByVal success As Boolean)
' Push DAO query result to dashboard — no manual JSON needed
Dim db As DAO.Database
Dim rs As DAO.Recordset
Set db = CurrentDb()
Set rs = db.OpenRecordset("SELECT Category, SUM(Amount) AS Total " & _
"FROM tblSales GROUP BY Category", dbOpenSnapshot)
rs.MoveLast : rs.MoveFirst ' materialise all rows
m_lv.PushRecordset rs, "onSalesData"
rs.Close
End Sub
Private Sub m_lv_WebMessageReceived(ByVal message As String, ByVal source As String)
' JS posted back. This event is raised after WebView2's own callback has
' returned, so you can handle the message right here: JsonGetValue,
' ExecuteScript and PushRecordset all work inside it.
If m_lv.JsonGetValue(message, "action") = "filter" Then
Me.txtFilter.Value = m_lv.JsonGetValue(message, "value")
End If
End Sub
FAQ
Can I use WebView2 in Microsoft Access?
Yes. LiteView2 works in Access forms in both Registered Mode (drop on form at design time) and Reg-Free Mode (embed at runtime in a Frame control using IBrowserPool).
Does LiteView2 work with DAO recordsets?
Yes. PushRecordset accepts any DAO or ADO Recordset object and sends all rows to a JavaScript callback function in the page as a JSON array. Use dbOpenSnapshot for GROUP BY queries, and call rs.MoveLast : rs.MoveFirst before PushRecordset to ensure all rows are materialised.
Why not use the new Access Edge Browser Control?
The Edge Browser Control offers four browser methods and three events from VBA. It has no Object property, so changing the page from VBA goes through JavaScript strings. LiteView2 provides full DOM access, JS-to-VBA callbacks, PushRecordset, and a rich documented event model. See the full comparison.
Can JavaScript in the HTML page call Access VBA methods?
Yes. In Registered Mode, use m_lv_WebMessageReceived to receive postMessage calls from the page. In Reg-Free Mode, pool.AddHostObjectToScript exposes a VBA class directly to JavaScript as a native object — JavaScript calls VBA methods like any other JS method call.
Full WebView2 in Access — beyond the 4-method Edge control
Hundreds of documented methods. DAO PushRecordset. DOM access. JSON engine. Free 30-day trial.
Download free 30-day trial
30-day commercial trial · No telemetry · No admin required (reg-free mode)
vs Edge Browser Control ·
Embed Chromium in Excel ·
Reg-Free Mode (IBrowserPool) ·
Full API reference