数据窗体中如何点字段名进行升序或降序

笑虾 2008-10-29 07:35:51
如何实现这种很常见的排序效果.
就是比如默认按为升序,点一下"字段名"就变成降序.再点又变成升序


不知道怎么操作才好.最好给点代码.

(要是可以直接对窗体的源进行SQL一次就好了)
...全文
154 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
笑虾 2008-10-30
  • 打赏
  • 举报
回复
谢谢,我去学习学习.哈哈
ewang11 2008-10-30
  • 打赏
  • 举报
回复
示例:
http://access911.net/csdn/FileDescription.asp?mdb=2008-10-30&id=66
笑虾 2008-10-30
  • 打赏
  • 举报
回复
很谢谢 ewang11朋友,又是你回答.哈哈
只是你每次都给的代码.很感谢.
能再解说一下处理的流程吗?

不然我还有点不知其所以然.哈哈
ewang11 2008-10-30
  • 打赏
  • 举报
回复
还有这个:
DoCmd.DoMenuItem acFormBar, 5, 1, 1, acMenuVer70
能给点资料吗?后面几个参数你都是给的值,它有哪此常量可用?




http://topic.csdn.net/u/20081030/11/68cd01dc-d7fc-47c1-93a2-7b5b979ad8c9.html
笑虾 2008-10-30
  • 打赏
  • 举报
回复
OK已经搞定
谢谢

因为我的窗体中还有组合框所以就改成了
If (TypeOf ctrl Is TextBox) Or (TypeOf ctrl Is ComboBox) Then

用到这个功能的窗口比较多:
Function px(myform as form)
...
For Each ctrl In myform.Controls
...

最后在窗体的双击事件中调用.

不过对于这段代码还不消化.

这里的ctrl 是代表一个字段?(一个Label和一个TextBox)
ctrl.Controls(0)指字段名的那个标签?

还有这个:
DoCmd.DoMenuItem acFormBar, 5, 1, 1, acMenuVer70
能给点资料吗?后面几个参数你都是给的值,它有哪此常量可用?

谢谢了
ewang11 2008-10-29
  • 打赏
  • 举报
回复

Dim dj As Boolean

Function px()
Dim ctrl As Control
For Each ctrl In Me.Controls
If TypeOf ctrl Is TextBox Then
If Right(ctrl.Controls(0).Caption, 1) = "↓" Or Right(ctrl.Controls(0).Caption, 1) = "↑" Then ctrl.Controls(0).Caption = Left(ctrl.Controls(0).Caption, Len(ctrl.Controls(0).Caption) - 1)
End If
Next
If dj = True Then
DoCmd.DoMenuItem acFormBar, 5, 1, 1, acMenuVer70
Screen.ActiveControl.Controls(0).Caption = Screen.ActiveControl.Controls(0).Caption & "↓"
dj = False
Else
DoCmd.DoMenuItem acFormBar, 5, 1, 0, acMenuVer70
Screen.ActiveControl.Controls(0).Caption = Screen.ActiveControl.Controls(0).Caption & "↑"
dj = True
End If
End Function

Private Sub Form_Click()
px
End Sub



实验 7 数据查询 一、实验目的和要求: (1)理解和掌握在Access 2007 平台上进行数据查询的概念和类型; (2)掌握创建选择查询的方法; (3)掌握查询条件的设置及在查询的计算; (4)掌握基本的SQLselect语句的使用。 二、预备知识 查询是Access 2007提供的对象之一。通过查询,用户可以在一个或者多个数据查找和检索到满足条件的数据。使用查询可以回答有关数据的特定问题,而这些问题通过直接查看表数据很难解决或者不够直观。用户可以使用查询筛选数据、执行数据计算和汇总数据。 查询主要包括以下四个方面的功能: (1)检索数据。 (2)分析和计算。查询不仅可以找到满足条件的记录,而且可以在建立查询的过程进行各种统计计算、 (3)编辑记录。查询可批量地更新或删除记录,也可生成新数据表。 (4)为窗体、报表提供数据源。 本实验仅涉及其的检索数据、分析和计算功能,即选择查询。 选择查询功能是根据用户所指定的查询条件,从一个或多个数据获取数据并显示结果,可对记录进行分组汇总(如求总计、计数、平均值等)。选择查询结果的形式是一个逻辑上的二维表,表没有实际数据。 大学计算机课程实验7(经管类)全文共5页,当前为第1页。如何设置查询条件是创建选择查询的关键。而查询条件的设置是通过输入条件表达式来确定的。 大学计算机课程实验7(经管类)全文共5页,当前为第1页。 创建查询主要有"使用向导"创建、使用"设计视图"创建及使用SQL语句创建等三种方法。对于简单的查询,"使用向导"比较方便。在"设计视图"创建的方法为基本方法,适合于任何有条件的查询。SQL查询提供了Select 语句用于数据查询,它是功能最强也最为复杂的SQL语句,它不但可以建立简单查询,还可以实现条件查询、分组统计、多表联接查询等。 查询"设计视图"分为 下两部分,上半部分为数据源窗口,用于显示查询所涉及的数据源,可以是数据表或查询,并且显示这些表之间的关系;下半部分是查询定义窗口,也称为QBE网格。 SQL(Structured Query Language)结构化查询语言是一种非过程化查询语言,它的功能包括数据定义、数据操纵、数据查询和数据控制四个部分。其数据库的查询功能是数据库的核心功能,SQL使用Select语句进行数据库的查询。 Select 语句的一般格式如下: Select [All"Distinct]<目标列表达式> from <表名或视图名>…[Where<条件表达式>] [Group by<列名1>[Having<条件表达式>]] [Order By <列名2>]; 其: Select 子句:指定要显示的属性列; From 子句:指定查询对象(基本表或视图); Where 子句:指定查询条件; Group By 子句:对查询结果按指定列值分组,该属性列值相等的记录为一组; Having 子句:对汇总结果进行二次筛选; Order By 子句:对查询结果表按指定列值的升序降序排序。 三、实验内容和步骤: (一)使用"设计视图"创建选择查询 大学计算机课程实验7(经管类)全文共5页,当前为第2页。打开"学生成绩管理"数据库完成以下查询操作: 大学计算机课程实验7(经管类)全文共5页,当前为第2页。 1. 在"设计视图"创建一个选择查询,从"学生"表查找所有男同学的记录,要求在查询显示"学号"、"姓名"、"性别"和"籍贯"字段,查询名称为"男生查询"。 选择"创建"选项卡,单击"其他"选项组的"查询设计"按钮。 在"显示表"对话框,双击"学生"表,将该表添加到查询,然后单击"关闭"按钮。 添加查询所需的字段。根据题目要显示的查询结果和要设置的查询条件确定需要添加的字段。在查询设计视图窗口上方窗格,将"学号"、"姓名"、"性别"和"籍贯"字段分别拖到QBE网格的字段行。 设置查询条件。在QBE网格的"性别"列所对应的"条件"行输入:"男"。 选择"视图"列表的"数据表视图"或单击"结果"选项组"运行"命令,以查看选择查询的运行结果。 2. 在"学生表"查询1994~1995年出生的女生的学号、姓名和出生日期,并将查询结果按"出生日期"字段降序排序显示,查询名称为"94-95女生查询"。 提示:设置查询条件时,可在"出生日期"所对应的条件行输入:year([出生日期]) Between 1994 and 1995. 3. 在"设计视图"创建一个选择查询,从"学生"表查找姓李或陈的男同学的记录,查询名称为"姓李或陈的男生查询"。 提示:设置查询条件时,可在"姓名"列对应的"条件"行输入:Like "[李陈]*"。 4. 在查询计算。在设计选择查询时,除了进行条件设置外,还可以进行计算。 (1)在"学生表"
简易成绩分析系统使用说明 四川省泸州市纳溪区大渡学教务室制作使用 ※※※※一、特色 EXCEL平台 本作品采用EXCEL 公式+VBA制作,既可根据你平时使用EXCEL的习惯和方式操作充分发挥EXCEL的功能,又能利用本作品提高效率。 结构紧凑,界面简洁 本作品工作表个数极少,分别是总表、表册、设置。你可以先在总表输入、在记录单逐条录入、导入或复制粘贴原始成绩,经设置表简单设置后即可在“表册”根据你的需要自动生成各种表册,包括分班成绩册等各种表册、成绩单、各种统计表等。 ※※※※二、与众不同 本人曾上网搜索到EXCEL平台成绩管理系统不下20款,发现绝大多数都或多或少存在以下问题:总表(或成绩录入表)各项目名称、位置、格式均固定,如班级只能在某列输入且各班级名称必须采用统一格式(如“七(1)”、“七(2)”等)、各科目名称、顺序、录入范围固定等;如果采用公式制作的话,有些单元格还不能移除、拖动、删除等,否则公式会发生错误,当然一不小心公式被删除或破坏那就更糟了。但本作品为你解决了这几个问题,与众不同: 1、限制条件少,通用性更强 只需把原始成绩输入、导入、复制粘贴或在记录单逐条录入总表即可,对总表要求极为宽松:不必整理试卷、非顺序录入;各列(包括科目)名称、位置任意;不受班级、每班人数、科目等数量限制,行列不受限制。简言之,只要您原始成绩表是什么样,把它搞过来就行,只是需注意对本总表的惟一要求是:第一行为表格项目且有班级一列和不合并单元格即可,其它不受任何限制。 2、具有容错能力 也许您对函数和公式比较熟悉,知道当公式引用的单元格被移动或删除时公式往往会出错。本作品避免了这个问题。本作品“成绩册(公式)”、统计表和“成绩单(公式)”采用公式生成,数据均来源于总表。可是对总表您尽可放心大胆编辑、修改,对数据进行各种处理,比如可以进行排序、筛选、删除等操作,哪怕移动和删除任何一行、一列,删除任何一个单元格也无妨。 3、具有恢复能力 本作品对“成绩册(公式)”和“成绩单(公式)”,虽然采用函数和公式实现,但您仍可自由编辑排版以便输出,如编辑、修改、删除公式,删除行列,哪怕删除或者清空整张表也可,如果你进行了以上或者其他误操作,您只需重新击相应按钮即可自动恢复。 ※※※※三、主要功能 1、查询:查询条件多样,可按姓名查询、按班级查询(分班);按某学科(含总分)某分数段查询;按班内名次(年级名次)段查询(如某班前XX名、年级前XX-XX名)等,各种查询条件还可自由组合。对查询结果,可按某关键字排序后显示,如按班级排名升序可组合出某班全部或班前XX名、年级前XX名排名等,按年级排名升序可组合出年级前XX名排名或全部排名等。 2、统计:根据班级和科目(含总体)按统计范围自动实时生成各项指标(参考人数、平均分、及格人数、及格率、优生人数、优生率、差生人数、差生率、优质分等)、各分数段人数统计、年级前XX名在各班分布等。 3、成绩册和成绩条:自动按班生成成绩册和成绩条。 ※※※※四、操作指南 在总表输入、导入、复制粘贴或在记录单逐条录入原始成绩,经设置表简单设置后即可在“表册”根据你的需要自动生成各种表册,包括分班成绩册等各种表册、成绩单、各种统计表等。 其,分班成绩册和成绩单、统计分别以VBA和公式两种方式制作,这两种方式各有特,供你选择:公式方式的优是当条件变化(如所选班级、科目变化)时显示结果随之实时变化,除非公式被破坏或者刚从其它表册转入本功能你才需要重新击按钮;VBA方式每次改变条件后必须击相应按钮才能刷新结果,但对结果你可随意进行各种操作。如果你觉得窗体有可能遮住结果,窗体可移动,可关闭,也可随时按CTRL+Q(W)打开,以便在EXCEL按你熟悉的方式操作。另总表还提供了按班级排序、填入总分、平均分、计算班级排名、年级排名、分数超限检查等多种自动化功能。 ※※※※四、温馨提示 1、本成绩分析设计是本人想当然而成,加之时间仓促,错误和疏漏在所难免,如果你在使用不符合您的需要,请及时告知,以便进一步改进! 2、本成绩分析工作表之间,相互引用,相互关联,不得随意更改删除,也不得对工作表重命名,否则将影响本成绩分析的正常使用。 3、操作前请做好数据备份,凡因使用本成绩分析而造成的数据损失,本人概不负责。 4、如果不能运行宏,请把“工具--宏--安全性”,安全级别设为“”。 制作:石明富 2009-6-29 简易成绩分析系统使用说明 总表操作提示 进入总表,你会发现一个窗口,如图所示,你可以利用这个窗口上的按钮来自动完成某些功能,当然你也可以移动或关闭该窗口,直接在总表进行你能够进行的各种操作,如果你关闭了该窗口,按CTRL+W还可重新显示。 对总表要求极为宽松,你只需把原始成绩输入、导入、复制粘贴或在记录单逐条录入总表即可:不必整理试卷、非顺序录入;各列(包括科目)名称、位置任意;不受班级、每班人数、科目等数量限制,行列不受限制,你看图工作表是不是显得多么乱啊!。而且在总表可放心大胆编辑、修改,对数据进行各种处理,比如可以进行排序、筛选、删除等操作,哪怕移动和删除任何一行、一列,删除任何一个单元格也无妨。操作时可以利用窗口的按钮进行自动处理,你也可以在工作表按你平时使用方式直接操作,只是需注意对本总表的惟一要求是:第一行为表格项目且有班级一列和不合并单元格即可,其它不受任何限制。 窗口各按钮作用和功能分别简述如下: “导入”按钮:如果你有现成原始成绩数据表,可导入选择你的原始成绩工作簿和工作表(默认为1)追加或导入数据到总表,如果追加,你的原始工作表第二行为标题且须与总表首行标题完全一致方可。 “记录单”按钮:你可以在记录单对某条成绩记录进行查询、修改、删除、添加等。 “生成总分和平均分”按钮:按你在设置表“C”列的科目加计总分并根据你的选择是否计算平均分。 “生成班级名次”按钮:计算该生在班内的名次,该工作表无需按班级排序,如果该总表首行无“班内名次”一列(无论在哪列),则将在该表最后一列后面自动添加“班内名次”一列并填入相应数据。 “生成年级名次”按钮:计算全校名次,效果同“生成班级名次”。 “按班排序”按钮:按班级排序,不论“班级”在哪一列。 “超限检查”按钮:按设置表“C”列科目、“D”列分值检查总表成绩是否超过上限并提示。 “添表头”按钮:按需要添加表头。 “去表头”按钮:去表头,如果首行含有“班级”一格,则视为表格项目,不能再删除。如果你需要进行统计、查询、成绩册、成绩单等操作,必须去掉表头,让首行成为表格项目。 “关闭”按钮:隐藏本窗口,需要时可按CTRL+W重新显示。 设置操作提示 进入设置,首先会询问你是否采用公式,你可以选择“否”,稍后按钮自动输入,进入设置后,界面如图所示。 各项设置的作用和目的如下: “A” 、“B”列分别为班级选项和字段,其数据分别来源于总表“班级”一列和首行,作用是其内容将呈现在表册窗口和统计表的选项框以便选择输入,该设置可自动生成。 “C”列为科目选项,其数据应来源于该设置“B”列,作用一是其内容将呈现在表册窗口和统计表的选项框以便选择输入科目,二是总表自动生成总分时将以其内容加计而成。 “D”列为“C”列各科目相应的总分,其作用一是成绩统计(公式)时各优生数、及格数、后进生数将自动分别以其相应总分的80%、60%、40%作为判断分值计算,二是总表里“超限检查”时将按此分数检查相应科目成绩是否超过上限。 “E”列作用是其内容将呈现在表册窗口的查询条件选框以便选择输入。 “G2”、“G3”、“G4”、“G5”为计算优质分(又叫考核分、积分等)时各率加权求和的权重。 “I1”为考试名称,总表、成绩册等表头将参考其内容。 表册操作提示 进入表册,界面如下,你在本窗口的操作不同,该工作表呈现的内容也会即时变化,分班成绩册、成绩单、多条件查询等均在该表操作,所以该表暂以“表册”命名,如果你觉得不恰当,可联系作者修改。 本表窗口,分班成绩册和成绩单、统计分别以VBA和公式两种方式制作,这两种方式各有特,供你选择:公式方式的优是当条件变化(如所选班级、科目变化)时显示结果随之实时变化,除非公式被破坏或者刚从其它表册转入本功能你才需要重新击按钮;VBA方式每次改变条件后必须击相应按钮才能刷新结果,但对结果你可随意进行各种操作。如果选框有误,请检查设置表相应设置是否正确。如果你觉得窗体有可能遮住结果,窗体可移动,可关闭,也可随时按CTRL+Q(W)打开,以便在EXCEL按你熟悉的方式操作。 多条件查询为按照你设置的条件并按你要求的顺序显示相应查询结果,可按姓名查询、按班级查询(分班);按某学科(含总分)某分数段查询;按班内名次(年级名次)段查询(如某班前XX名、年级前XX-XX名)等,各种查询条件还可自由组合。对查询结果,可按某关键字排序后显示,如按班级排名升序可组合出某班全部或班前XX名、年级前XX名排名等,按年级排名升序可组合出年级前XX名排名或全部排名等。如下面窗口内设置为班级为“4”班、数学b卷大于36分的班内名次前9名同学的成绩册并按总分降序显示。 统计操作提示 进入统计表,页面如下: 根据班级和科目(含总体)按统计范围自动实时生成各项指标(参考人数、平均分、及格人数、及格率、优生人数、优生率、差生人数、差生率等)、各分数段人数统计、年级前XX名在各班分布等。 统计范围为选择全部成绩进入统计、按每班前XX名还是按全年级前XX名进行统计。 表格内班级和科目两列可下拉框选择输入并自由组合,如班级选择不同班级,科目为同一科,则是该科成绩在各班之间的对比;如科目为“平均分”(总表须有该列且有数据),则是各班总体成绩对比;如班级选择同一班,科目选择该班不同科目,则是该班各科成绩对比等。 各分数段人数统计一栏内各分数段可自行设置,可按各科目设置分数段(B列选择科目)、按总分设置分数段(B列选择“总分”),按年级名次设置名次段(B列选择年级名次,总表须有该列并有数据)可显示各名次段在各班的人数统计等。 该表可根据需要适当修改,如有多余行可删除,如行不够可往下复制,同样不必要的列也可删除,如各分数段统计列不够也可添加复制。
简易成绩分析系统使用说明 四川省泸州市纳溪区大渡学教务室制作使用 ※※※※一、特色 1、 EXCEL平台 本作品采用EXCEL 公式+VBA制作,既可根据你平时使用EXCEL的习惯和方式操作充分发挥EXCEL的功能,又能利用本作品提高效率。 2、 结构紧凑,界面简洁 本作品工作表个数极少,分别是总表、表册、设置。你可以先在总表输入、在记录单逐条录入、导入或复制粘贴原始成绩,经设置表简单设置后即可在“表册”根据你的需要自动生成各种表册,包括分班成绩册等各种表册、成绩单、各种统计表等。 ※※※※二、与众不同 本人曾上网搜索到EXCEL平台成绩管理系统不下20款,发现绝大多数都或多或少存在以下问题:总表(或成绩录入表)各项目名称、位置、格式均固定,如班级只能在某列输入且各班级名称必须采用统一格式(如“七(1)”、“七(2)”等)、各科目名称、顺序、录入范围固定等;如果采用公式制作的话,有些单元格还不能移除、拖动、删除等,否则公式会发生错误,当然一不小心公式被删除或破坏那就更糟了。但本作品为你解决了这几个问题,与众不同: 1、限制条件少,通用性更强 只需把原始成绩输入、导入、复制粘贴或在记录单逐条录入总表即可,对总表要求极为宽松:不必整理试卷、非顺序录入;各列(包括科目)名称、位置任意;不受班级、每班人数、科目等数量限制,行列不受限制。简言之,只要您原始成绩表是什么样,把它搞过来就行,只是需注意对本总表的惟一要求是:第一行为表格项目且有班级一列和不合并单元格即可,其它不受任何限制。 2、具有容错能力 也许您对函数和公式比较熟悉,知道当公式引用的单元格被移动或删除时公式往往会出错。本作品避免了这个问题。本作品“成绩册(公式)”、统计表和“成绩单(公式)”采用公式生成,数据均来源于总表。可是对总表您尽可放心大胆编辑、修改,对数据进行各种处理,比如可以进行排序、筛选、删除等操作,哪怕移动和删除任何一行、一列,删除任何一个单元格也无妨。 3、具有恢复能力 本作品对“成绩册(公式)”和“成绩单(公式)”,虽然采用函数和公式实现,但您仍可自由编辑排版以便输出,如编辑、修改、删除公式,删除行列,哪怕删除或者清空整张表也可,如果你进行了以上或者其他误操作,您只需重新击相应按钮即可自动恢复。 ※※※※三、主要功能 1、查询:查询条件多样,可按姓名查询、按班级查询(分班);按某学科(含总分)某分数段查询;按班内名次(年级名次)段查询(如某班前XX名、年级前XX-XX名)等,各种查询条件还可自由组合。对查询结果,可按某关键字排序后显示,如按班级排名升序可组合出某班全部或班前XX名、年级前XX名排名等,按年级排名升序可组合出年级前XX名排名或全部排名等。 2、统计:根据班级和科目(含总体)按统计范围自动实时生成各项指标(参考人数、平均分、及格人数、及格率、优生人数、优生率、差生人数、差生率、优质分等)、各分数段人数统计、年级前XX名在各班分布等。 3、成绩册和成绩条:自动按班生成成绩册和成绩条。 ※※※※四、操作指南 在总表输入、导入、复制粘贴或在记录单逐条录入原始成绩,经设置表简单设置后即可在“表册”根据你的需要自动生成各种表册,包括分班成绩册等各种表册、成绩单、各种统计表等。 其,分班成绩册和成绩单、统计分别以VBA和公式两种方式制作,这两种方式各有特,供你选择:公式方式的优是当条件变化(如所选班级、科目变化)时显示结果随之实时变化,除非公式被破坏或者刚从其它表册转入本功能你才需要重新击按钮;VBA方式每次改变条件后必须击相应按钮才能刷新结果,但对结果你可随意进行各种操作。如果你觉得窗体有可能遮住结果,窗体可移动,可关闭,也可随时按CTRL+Q(W)打开,以便在EXCEL按你熟悉的方式操作。另总表还提供了按班级排序、填入总分、平均分、计算班级排名、年级排名、分数超限检查等多种自动化功能。 ※※※※四、温馨提示 1、本成绩分析设计是本人想当然而成,加之时间仓促,错误和疏漏在所难免,如果你在使用不符合您的需要,请及时告知,以便进一步改进! 2、本成绩分析工作表之间,相互引用,相互关联,不得随意更改删除,也不得对工作表重命名,否则将影响本成绩分析的正常使用。 3、操作前请做好数据备份,凡因使用本成绩分析而造成的数据损失,本人概不负责。 4、如果不能运行宏,请把“工具--宏--安全性”,安全级别设为“”。 制作:石明富 2009-6-29 简易成绩分析系统使用说明 总表操作提示 进入总表,你会发现一个窗口,如图所示,你

7,714

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧