Access单日期查询(组合框查询)详细步骤

核心提示用Access数据库的窗体功能,可以对数据库表进行单日期查询,本案例采用“组合框配合报表“的呈现方法,介绍一下单日期查询的相关技术。不难,一学就会。最终效果图用单日期进行数据查询,具体分为以下几步:1.准备表2.制作窗体3.制作查询4.VB

用Access数据库的窗体功能,可以对数据库表进行单日期查询,本案例采用“组合框配合报表“的呈现方法,介绍一下单日期查询的相关技术。不难,一学就会。

最终效果图

用单日期进行数据查询,具体分为以下几步:

1.准备表

2.制作窗体

3.制作查询

4.VBA设计

5.报表设计

下面讲解详细的制作步骤。

我是宇哥,专门教Access/VBA/Csharp的,全网学习办公软件和编程的女同学,可以说没有不认识我的~

1.准备表

本案例只有一张表:销售表。销售表有以下几个字段:姓名、销量、日期、ID。

销售表

ID是主键(主键的作用一是防止数据重复,二是标记数据,三是方便排序。)

数据必须按照一维表的方式排列,尤其是日期不能横着走。

需要强调的是,很多学员不知道举一反三。这个案例会了,下一个案例稍微变个样子,就不知道怎么做了,比如把“销量”变成“销售额”就晕晕了~如果稍微再换一下元素,比如把“姓名”改成“工程项目”就又晕了。因此要学会举一反三、触类旁通。

2.制作窗体

本案例只需要1个窗体,控件也只需要1个列表框就足够了,其他的部件包括1张报表和1个图表。窗体里具体需要的元素和作用如下:

主窗体

报表(嵌入主窗体,做统计展示)

列表框(筛选数据表)

图表(做数据可视化展示)

(1)主窗体的设计

点击控制栏里的“窗体设计”,生成一个新的窗体。简单设计一下页眉。本案例里的主窗体名称设置为“根据日期查询”。

(2)组合框的设计

组合框控件是本案例自动化的核心部件,因此分步骤着重讲一下。

窗体设计视图

(1)首先我们进入主窗体的设计视图;

(2)然后在上方的控件栏里找到组合框(ComboBox),鼠标左键点住,拉到下面的空白窗体里,放开鼠标;

(3)往组合框里加入日期。这个组合框我们命名为“Text1”。

具体步骤是进入“属性表”(也在上方操作栏),

选择“数据”

选择“行来源”

点击右边三个点进入“查询生成器”,把我们本案例唯一的那一张“销售表”拉进来。

在拉之前一定注意把“属性表”里的“唯一值”选择成“是”,不然的话组合框里会出现很多重复的数据。

然后把“销售表”里的时间拉到下面,排序设置成“升序”

保存一下,组合框就设置好了。

看一下效果。

(3)报表设计

报表是本案例数据输出的核心。报表的统计功能很强、表的设计也比查询更有层次感。建议学员在设计Access输出端的时候,采用报表的形式进行数据展现。报表在Access2010版以上的版本里可以直接嵌入窗体,非常方便实用。

报表要单独设计,设计好之后,直接用鼠标把报表拖进主窗体的设计视图即可成为主窗体展示的一部分(注意操作的时候窗体必须是设计视图,不是别的视图,不然拉不进去)

3.制作查询

查询其实可以节省,技术比较熟练的话可以直接设计报表。但初学者还是不能省略查询设计这一步。

查询设计

我们新建一个空白查询。点击控制栏的“查询设计”,自动生成了一个查询界面,进入查询设计,点击“添加表”,把我们这个示例里唯一的“销售表”拉进查询设计里。

然后把表里的四个字段“ID”、“销量”、“姓名”、“日期”拉到下面。

下面是本案例最重要的一步,查询和窗体之间建立联系:点击查询里的组合框,能够根据选定的日期,直接在查询里进行数据筛选。

我们来来到这个查询的字段下面的“条件”行,在“日期”的“条件”里,输入:

核心SQL代码

[Forms]![根据日期查询]![Text1]

这段语句的意思是,这个查询的日期,受到“根据日期查询”这个窗体(也就是我们的主窗体)里Text1这个组合框的直接控制。

4.VBA设计

本案例的VBA设计比较容易,主要分为两个功能:

(1)点击组合框,刷新窗体。

在窗体设计视图状态下,选择Text1组合框,在属性表里选择“单击”,进入VBE视图。

输入me.refresh

这样单击组合框就能自动刷新。

VBA代码

(2)点击主窗体空白部分,取消选择

在窗体设计视图状态下,选择“主体”,在属性表里选择“单击”,进入VBE视图。

输入

Text1=null

me.refresh

这样点击空白,text1里的数据拿掉,自动刷新。

5.报表设计

在查询的基础上,点击控制栏的报表,直接生成报表。

对报表进行一定的美化设计(过程忽略,写累了)

最后别忘了把报表拉到主窗体里哈。

可以的话再设计一个动态图。

大功告成哈!

 
友情链接
鄂ICP备19019357号-22