查询和表的开发人员前端

Access自定义前端表单

随附的数据库zip文件是Access 2003格式的示例,其中包含一个自定义表单,该表单为创建,列出和处理查询和表提供了一站式前端。 该表单受两个自定义表,三个查询和一个公共模块的支持,应将其导入使用该表单的任何数据库中。

压缩数据库中的其他表和查询来自Northwind DB的早期版本。

开发自定义前端的原因

我使用Access数据库作为报告工具,以从从许多不同系统脱机复制的表中提取数据。 开发数据库中有900多个表和1200个查询。

为了简化管理这些查询和表的创建和操作,我开发了一个自定义表单来列出查询/表名及其创建/修改日期。

查询/表可以在设计视图中打开,运行,重命名,复制或从表单本身删除。 为了帮助维护,可以将查询或表的字段及其类型导出到Word,并且可以将Access所提供的基础SQL的格式化版本导出到查询SQL。

另外,在屏幕底部的文本框中设置或查看查询或表的自定义Description属性。 此属性对于提供附加信息很有用,但是Access从来没有使它容易实现-除非您知道它存在,否则它往往会被忽略。

表单的屏幕截图如下所示。

要运行查询(或打开表),请双击查询/表的名称,或单击感叹号按钮。 要在设计视图中打开,请双击查询类型或单击条目右侧的设计视图按钮。

开发表单时,我使用的是Access2003。在Access 2007和2010中,现在代替数据库窗口显示的“开发人员”窗格最不适合显示数百个表或查询-我觉得这样做更可取通过自定义表单进行的大部分修改工作等。

什么支持表格

有两个用于链接和记录mSysObjects系统表属性的自定义表:tblSysObjectFlags和tblSysObjectTypes。 这些反过来又用于三个自定义查询:qryQueryList,qryQueryListProperties和qryQueryNames。

要使用上面的屏幕快照中显示的开发者表单frmQueryList,您需要导入提到的表和查询,表单本身以及模块Public Functions中包含的自定义函数。

系统表mSysObjects包含一个字段,该字段标识有关对象的类型(表,查询,表单等)。 另一个字段标志标识该对象的类别(选择查询,交叉表查询等)。 mSysObjects的文档记录不充分,其类型和标志字段是数字。 两个自定义表将这些数字字段链接到文本标签,以自定义形式显示。

过滤列表框中显示的查询/表列表

表单上的“搜索”框提供对输入的任何单词或短语列出的查询或表的过滤。

也可以搜索描述属性,但是这种搜索非常慢–自定义属性需要相对较长的时间来检索每个条目。

自定义排序

当用户双击表单的列标签时,该表单按升序或降序提供自定义排序

名称最近更新等。

使用“列表字段”按钮将字段导出到Word的示例:
Fields in Query [qryQueryNames] 
Name             Text
DateUpdate       Date / Time
Object Name      Text
Type             Integer
Connect          Memo
Database         Memo
DateCreate       Date / Time
RmtInfoShort     Binary
RmtInfoLongLong  Binary (OLE Object)
Owner            Binary
LvPropLong       Binary (OLE Object)
LvModuleLong     Binary (OLE Object)
LvExtraLong      Binary (OLE Object)
LvLong           Binary (OLE Object)
ForeignName      Text
Flags            Long
Description      Text
Exportable       Boolean 
使用Show SQL按钮将查询SQL导出到Word的示例:
SQL for Query [qryQueryNames] 
SELECT
      MSysObjects.Name,
      MSysObjects.DateUpdate,
      tblSysObjectTypes.[Object Name],
      MSysObjects.Type,
      MSysObjects.Connect,
      MSysObjects.Database,
      MSysObjects.DateCreate,
      MSysObjects.RmtInfoShort,
      MSysObjects.RmtInfoLong,
      MSysObjects.Owner,
      MSysObjects.LvProp,
      MSysObjects.LvModule,
      MSysObjects.LvExtra,
      MSysObjects.Lv,
      MSysObjects.ForeignName,
      MSysObjects.Flags,
      tblSysObjectFlags.Description,
      tblSysObjectFlags.Exportable
FROM
      (tblSysObjectTypes RIGHT JOIN
        MSysObjects ON tblSysObjectTypes.[Object Type] = MSysObjects.Type) LEFT JOIN
        tblSysObjectFlags ON (MSysObjects.Flags = tblSysObjectFlags.Flags) AND
      (MSysObjects.Type = tblSysObjectFlags.Type)
WHERE
      (((MSysObjects.Name) Not Like "MSys*" And (MSysObjects.Name) Not Like "~*") AND
      ((MSysObjects.Type)=1 Or (MSysObjects.Type)=4 Or (MSysObjects.Type)=5 Or (MSysObjects.Type)=6))
ORDER BY
      MSysObjects.Name;

在本文中,我谈到了这种简单的前端表单的用法。 随意使用它,并根据自己的需要对其进行调整。

附加图片
文件类型:jpg Fillter.jpg (14.8 KB,1640观看)
文件类型:jpg Front End.jpg (45.1 KB,2872次观看)
文件类型:jpg List Inverse.jpg (9.2 KB,1489视图)
附加的文件
文件类型:zip DeveloperFrontEnd.zip (331.1 KB,271视图)

From: https://bytes.com/topic/access/insights/932041-developer-front-end-queries-tables

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值