ACCESS窗体查询实例要点(2)

2020-04-21 06:25

ACCESS常用的窗体查询方法及实例

现在还没有实际的查询功能,我们在后面要根据所使用的方法,修改窗体并增加一些其他的功能。

还有一些小的细节要注意,比如:按TAB键后的获得光标的控件的顺序要在设计视图下,视图菜单的“TAB键次序”来修改;有些文本框获得焦点后是否要打开输入法,比如输入单价和日期的地方要关闭,输入书名和作者的地方要打开,这些要在控件属性中设置。

刘小军(Alex)2003-5 6

ACCESS常用的窗体查询方法及实例

三. 查询方法1:在查询中加入条件

这种方法对应的实例数据库是:“常用窗体查询1.MDB”。

1. 设计查询

我们打开“存书查询”设计视图如下:

在字段【书名】的准则格内写入:

Like IIf(IsNull([Forms]![存书查询窗体]![书名]),'*','*' & [Forms]![存书查询窗体]![书名] & '*') 加入后的设计视图如下:

把这个式子解释一下:

LIKE:是专门用于查询字符型字段的运算符,一般介绍ACCESS的书中都有它的用法。

刘小军(Alex)2003-5

7

ACCESS常用的窗体查询方法及实例

ISNULL([Forms]![存书查询窗体]![书名]):是用来判断窗体“存书查询窗体”上面的“书名”这个文本框是否是空的。如果文本框是空的,则: ISNULL([Forms]![存书查询窗体]![书名])=TRUE(真) 如果文本框不是空的,则:

ISNULL([Forms]![存书查询窗体]![书名])=FALSE(假) IIF(EXPR, TRUEPART, FALSEPART)函数: EXPR 必要参数。用来判断真伪的表达式。

TRUEPART 必要参数。如果 EXPR 为 TRUE,则返回这部分的值或表达式。 FALSEPART 必要参数。如果 EXPR 为 FALSE,则返回这部分的值或表达式。

所以当我们在窗体“存书查询窗体”上面的“书名”里写上“ACCESS”,整个式子的结果是:

LIKE *ACCESS* 相当于查询所有书名中包含“ACCESS”的书籍,这样可以实现模糊查询。

Like IIf(IsNull([Forms]![存书查询窗体]![书名]),'*', [Forms]![存书查询窗体]![书名] & '*') Like IIf(IsNull([Forms]![存书查询窗体]![书名]),'*', [Forms]![存书查询窗体]![书名]) 如果把准则改为上面两句中的一句,同样情况下当我们在窗体“存书查询窗体”上面的“书名”里写上“ACCESS”,整个式子的结果是:

LIKE ACCESS* LIKE ACCESS 相当于查询以“ACCESS”开头的书籍(半模糊查询),或者书名就叫“ACCESS”的书(精确查询)。 具体使用那一种形式的查询要根据你的实际情况来修改。

当我们在窗体“存书查询窗体”上面的“书名”里什么也没有写,整个式子的结果是:

LIKE * 相当于查询所有的有书名的书。

在书写查询准则时,[Forms]![存书查询窗体]![书名]这样的窗体控件名很难写,这时你可以在准则格内点鼠标右键,选择生成器,出现如下图的窗口:

刘小军(Alex)2003-5

8

ACCESS常用的窗体查询方法及实例

在左边的树型列表框里找到控件所在的窗体,在中间列表框出现这个窗体包含的所有控件,双击控件名,就会出现“[Forms]![存书查询窗体]![书名]”。

我们再把其他几个字段的查询准则写出:

【类别】:在窗体上是组合框,所以它肯定是个精确查询,跟【书名】一样,它是文本字段。查询准则如下:

Like IIf(IsNull([Forms]![存书查询窗体]![类别]),'*',[Forms]![存书查询窗体]![类别]) 【作者】:跟【书名】一样,它是文本字段。我也打算用模糊查询。查询准则如下:

Like IIf(IsNull([Forms]![存书查询窗体]![作者]),'*','*' & [Forms]![存书查询窗体]![作者] & '*') 【出版社】:跟【类别】的情况完全一样。查询准则如下:

Like IIf(IsNull([Forms]![存书查询窗体]![出版社]),'*',[Forms]![存书查询窗体]![出版社]) 【单价】:是一个数字字段,我在这里准备让用户可以查询“1.5元~6.5元”这样的范围。查询准则如下:

Between IIf(IsNull([Forms]![存书查询窗体]![单价开始]),0,[Forms]![存书查询窗体]![单价开始]) And IIf(IsNull([Forms]![存书查询窗体]![单价截止]),5000,[Forms]![存书查询窗体]![单价截止]) BETWEEN AND:是查询符合某个范围之内的值所需的条件格式。 “BETWEEN 1 AND 5”相当于“【字段】≥1 AND 【字段】≤5”。

根据前面讲解的IIF的内容,我用一个表格来解释一下各种情况下这个式子的实际结果,便于大家理解:(0和5000是我事先在条件中设定的最小值和最大值)

刘小军(Alex)2003-5

9

ACCESS常用的窗体查询方法及实例

[单价开始]的值 空 1.5 空 1.5 [单价截止]的值 空 空 20 6.5 整个式子的实际结果 BETWEEN 0 AND 5000 BETWEEN 1.5 AND 5000 BETWEEN 0 AND 20 BETWEEN 1.5 AND 6.5 【进书日期】:是一个日期型字段,我在这里准备让用户可以查询“#2001-5-1#~#2002-5-1#”这样的范围。查询准则如下:

Between (IIf(IsNull([Forms]![存书查询窗体]![进书日期开始]),#2000-1-1#,[Forms]![存书查询窗体]![进书日期开始])) And (IIf(IsNull([Forms]![存书查询窗体]![进书日期截止]),#2099-12-31#,[Forms]![存书查询窗体]![进书日期截止])) 在这个式子中,#2000-1-1#和#2099-12-31#是我设定的两个默认的开始和截止日期。如果用户不输入,就使用默认值了。这和前面【单价】的情况是一样的。

2. 设计按钮及代码

2.1 查询按钮

查询按钮的代码非常简单,关键部分只有一句:

Private Sub cmd查询_Click() Me.存书查询子窗体.Requery '这句是关键 End Sub REQUERY:是用来重新查询控件的数据源,这样可以刷新子窗体显示的记录。对于记录源是表或查询的控件如窗体、列表框、组合框等经常用Requery方法来刷新显示内容。 2.2 清除按钮

有了查询按钮的代码之后,大家就可以自己测试查询的效果了。不过,每次想换一个查询的条件时要清除上一个条件输入的东西,有时候比较麻烦。我们再来设计一个清除条件的按钮,控件名称是“cmd清除”,放在查询按钮的下面。按钮的代码如下:

Private Sub cmd清除_Click() '下面这些控件的值要清空 Me.书名 = Null Me.类别 = Null Me.作者 = Null 刘小军(Alex)2003-5

10


ACCESS窗体查询实例要点(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:杭州市机制纸和纸板企业名录2018版501家 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: