关于access函数的问题

关于access函数的问题,第1张

运用DateAdd()函数,可以建立一个查询,下面是符合你在日期方面要求的例子:
SELECT DateAdd("m", -2,NOW) AS 开始日期,NOW AS 结束日期
把开始日期,结束日期加入 WHERE 语句中就行了

假设那张需要合并字段的表名为“T”,其中有两个字段“A”和“B”需要根据其内容合并(严格来讲应该是选择其一)存贮到新建字段“C”。
要求
1)如果“A”和“B”都有数据则取其中数据长的字段内容,保存到字段“C”;
2)如果“A”和“B”的字段长度相同,则取字段“A”的内容保存到字段“C”(关于此条是本人加给你的,因为不能排除出现两个字段的内容长度相同的情况,若这种情况发生,那么就选择“A”);
3)如果“A”和“B”其中有一个字段没有数据,则取有数据的字段内容储存到字段“C”。
4)如果“A”和“B”都没有数据,则字段“C”为空值。
解决方案:
步骤1 打开表“T”的设计视图,增加一个字段“C”数据类型为文本,保存对表的修改;
步骤2 新建一个更新查询。
选择“查询”对象后,点击新建命令,在d出的新建查询对话框,选择设计视图,点击确定按钮,打开查询设计视图并d出选择表对话框,请关闭选择表对话框,在工具栏选择“SQL视图”将打开的“查询设计视图”转换为“SQL视图”,复制下列SQL代码到该视图内
UPDATE T SET C = IIf(IsNull(A),B,IIf(IsNull(B),A,IIf(Len(A)>=Len(B),A,B)));
保存该查询设计,查询取名为“合并字段”
步骤3 双击刚才保存的查询名“合并字段”,系统就会根据上给出的合并要求自动将相应的数据写入新建的字段C内;
步骤4 打开表“T”检查合并后字段“C”的内容无误后,打开表“T”设计视图,删除旧字段“A”和“B”;
步骤5 删除更新查询“合并字段”(因为删除删除旧字段“A”和“B”后,如果运行查询“合并字段”会导致出错,故需删除该查询),到此合并字段大功告成。
注:请根据实际表名和字段名调整上列SQL代码(只更改T、A、B和C 其它地方不要动)该段SQL代码使用三重嵌套IIF函数来实现你的合并要求,IsNull函数判断是否为空值,Len函数判断内容的长度(字符数),这三种函数都可以运行于ACCESS内。
实际执行合并字段前,可以运行下列SQL代码,以检验实际效果
SELECT A, B, IIf(IsNull(A),B,IIf(IsNull(B),A,IIf(Len(A)>=Len(B),A,B))) AS C
FROM T;
至于你要将某张表的几个字段合并为一个字段其实很简单,运行一个SQL选择查询即可(用符号“&”将那几个需要合并的字段连接起来就行了,如含有非文本字段数据库引擎将其转换为文本类型来处理),如非必须的话,不需要实际合并那几个字段。以下举例:
表“T1”
ID A B C
1 中国 广州 3
2 中国 上海 5
3 美国 加州 6
4 伦敦
运行下列SQL代码:
SELECT ID,A,B,C,A & B & C AS D FROM T1
得到结果为
ID A B C D
1 中国 广州 3 中国广州3
2 中国 上海 5 中国上海5
3 美国 加州 6 美国加州6
4 伦敦 伦敦

在文本框控件中右键→条件格式。估计你用过excel,怎么设置条件格式就不详细讲了。
注意的是,如果窗体要实现用条件格式显示的查询结果,只能用数据表格式的窗体,窗体内建文本框。我一般做成子窗体,主窗体可以选择条件,子窗体查询带条件格式的数据。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13198049.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-19
下一篇 2023-06-19

发表评论

登录后才能评论

评论列表(0条)

保存