Access 开发框架再次更新:Web树控件、Web 表格、邮件中心和代码生成器


摘要: 易登 Access 开发框架 v202610.01 新增 AccessTreeView、AccessDataTable 和邮件中心,并调整主子表窗体布局、生成代码命名及保存后的列表刷新,让分类浏览、业务取数、邮件处理和基础窗体开发少做一些重复工作。access开发|access培训|access框架|请添加edonsoft。

Hi,大家好!

之前介绍专业版时,我重点写了 SQL Server、MySQL、链接表管理、数据库升迁和主页仪表盘。最近框架又做了一轮更新,官网帮助文档已经补上 v202610.01,更新日期是 2026 年 10 月 9 日。

这次我更关心几个日常开发里容易反复写的地方。

比如,部门和商品分类怎样按层级展示;一张查询结果,怎样放到更接近 Web 系统的表格里;业务人员能不能在 Access 中处理邮件;生成的主子表窗体,能不能少一点留白、保存后及时刷新列表。

登录、权限、菜单、数据库连接这些原有功能继续保留。这篇主要说本次新增和调整的部分,不再把整个框架的功能清单从头抄一遍。

当前主界面。图中的统计数字为示例数据,接入自己的业务时需要配置对应的数据来源。

部门、商品分类这些层级数据,现在有了 AccessTreeView

部门有上级部门,商品有大类和小类,资料目录也可能一层套一层。这些数据放在表里不难,麻烦的是让使用者看得清楚、选得方便。

这次新增的 AccessTreeView 是专业版的 Web 树控件。把现有数据中的节点键、父节点键和显示名称对应好,就可以按父子关系展示,支持展开、折叠和节点选择。

选择一个节点后,VBA 可以读取它的 Key、Value、显示文本和父节点 Key。后续要筛选商品清单,还是打开部门资料,由业务窗体继续处理。

这里我特意保留了一个分工:树控件负责展示层级和返回选择,业务逻辑仍然放在 Access 中。不能因为点击了一个节点,就默认它会替你完成所有关联查询。

示例窗体也提供新增根节点、新增子节点、保存和删除。维护数据时要使用表作为数据源,查询主要用于浏览;表能否更新,还要看数据结构和数据库权限。存在子节点的节点,也不能直接当作普通记录随手删掉。

环境方面,它可以使用 Access 的 Edge 浏览器控件,也有旧版 WebBrowser 兼容方案。客户电脑没有可用的 Edge 控件时,不必把整个分类浏览功能推倒重做。

但数据关系要先整理好。节点键不能重复,父节点必须存在,也不能出现循环父子关系。控件能把层级画出来,不代表它能替你修正一张关系混乱的分类表。

AccessDataTable,把查询结果展示成 Web 表格

树控件解决“先选哪个分类”,表格解决“分类下面有哪些记录”。

这次同时加入了专业版的 AccessDataTable。它把已有 Access 表或查询结果显示在 Edge 浏览器控件中,支持列排序、分页、横向滚动和单行选择。

列标题会优先使用字段的 Caption,没有设置时再显示字段名。布尔值显示为“是 / 否”,货币按两位小数展示。这些小处理,对给业务人员使用的列表比直接暴露字段名更合适。

例如做商品浏览页,可以先准备一个商品清单查询,只返回商品编号、名称、规格和价格。用户点击某行,业务代码再读取该行的键,打开商品详情或执行后续操作。

当前这项控件主要用于浏览与选择,不是一个在线编辑器。

这一版没有提供表格内直接编辑、删除或 Excel 导出接口,也没有启用内置搜索框。筛选条件应放到来源查询里。选中一行后,只会返回键值,不会自动写入订单明细。

还有一个容易误会的地方:这里的分页是浏览器端分页。模块会先读取数据,再把结果传给页面,并不是每翻一页才去数据库取一页。

所以,几十万条记录不能因为有“分页”按钮,就直接全部交给它。我的建议是先用查询限制字段和记录范围,例如只展示某个分类或指定期间的数据,再放进控件。

AccessDataTable 当前要求 Access 实际支持 Edge 浏览器控件,没有旧版 WebBrowser 兼容接口。部署时也要把配套的页面、脚本和样式随前台一起带上,不能只复制一个数据库文件。

邮件中心:在 Access 里处理收发、草稿和附件

业务系统里经常要处理邮件,但以前做到这里,通常就停在“调用一下 Outlook”或者“发送一封通知”。

这次框架增加了邮件中心,把收件箱、草稿、已发送和已删除邮件放到同一个界面里。支持 SMTP 发送、POP3 收取,以及回复、回复全部、转发、关键字搜索、已读状态和附件操作。

邮件中心与邮箱账户配置

邮件中心及账户配置界面。正式收发前,需要填写邮箱服务商提供的服务器信息和授权码。

比如一封报价邮件暂时没写完,可以先保存为草稿;已有邮件需要补充说明,可以回复或转发;附件也可以在邮件中心中管理。

账户配置不使用框架登录密码。需要先在邮箱服务商那里开启相应的 SMTP、POP3 服务,再按要求填写密码或专用授权码。不同邮箱的主机、端口和认证规则不同,不能只看别人填写的截图就原样照抄。

这版收发主要面向 SMTP、POP3,不包含 IMAP、OAuth2 或 Exchange 专用接口。只允许 OAuth2 登录的邮箱,不能用当前的基本认证方式直接连接。

邮件的存放方式也和业务表不一样:账户、邮件、草稿和附件保存在当前电脑的本地项目目录,不放在共享业务后端,不会自动在多台电脑之间同步。

授权码使用 Windows DPAPI 加密保存,绑定当前 Windows 用户环境。换电脑或 Windows 用户后,应重新配置凭据,不能把密文复制过去就认为还能正常收发。

这也不意味着整个邮件目录都已加密。邮件正文和附件仍需要靠 Windows 账户和目录权限保护。

对已有项目,我建议先用测试邮箱验证中文邮件、附件、收取、回复和发送状态,再用于正式业务。截图证明的是界面已经有了,不能代替你自己的邮箱兼容性测试。

代码生成器这次调整的,是生成以后真正要用的地方

一个生成器好不好用,不只看点下“创建”能不能出现几个窗体。

生成完以后,字段排得是否顺手,明细区是否够用,保存完列表有没有变化,开发者能不能看懂生成的代码,这些才会影响后续维护。

这次主子表编辑窗体的普通字段改为双列布局,长文本独占整行。保留窗口标题,减少额外大标题和留白,明细区可以随窗体尺寸伸缩。

对于订单、采购单这样的主子表,头部通常只有日期、客户、编号等字段,真正占空间的是下面的明细。把头部排紧一点,使用者就能多看到几行商品,不必频繁滚动。

生成列表增加了刷新按钮。单表和主子表保存后,会刷新对应的实际列表;刷新保留当前筛选条件,并尽量恢复原来的选中记录。

这点看着小,却很影响体验。用户刚保存一条资料,回到清单看不到变化,很容易以为没有保存成功。自己写过窗体的人,应该都遇到过这种问题。

这次还处理了自定义主窗体名和嵌套打开时的定位。主子表仍然在同一连接事务里保存,提交以后再刷新列表,不把界面刷新当作数据已经提交的替代判断。

不过,更新生成器模块,不会自动改掉以前已经生成的窗体。

要使用新布局和新模板,需要在开发副本中重新生成。已经手工修改过的窗体和事件代码,先备份,再比较、合并;不要直接对客户正在使用的正式文件重建。

 

获取更新和详细帮助

产品和下载入口:

www.edonsoft.com/access-framework

详细帮助文档:

www.edonsoft.com/access-framework-help.aspx

帮助中心已经补充本次版本记录、TreeView、DataTable、邮件中心,以及代码生成器的布局和刷新说明。公众号里主要介绍用途,实际接入时建议对照帮助里的数据源要求、环境限制和部署步骤。

这次更新没有替你写完客户的价格计算、库存规则或单据审核。它做的是把分类浏览、数据列表、邮件处理和基础窗体这些常见工作继续整理成可复用的部分。

我希望下一个项目开始时,能少花一些时间重新搭这些基础,把更多时间留给业务表结构、流程和报表口径。框架更新的方向,也会继续围绕这些实际开发问题。