A字段字符串去重复ccess中计算控件函数Dlookup        此函数是从指定记录集里检索特定字段的值。它可以直接在VBA,宏,查询表达式或计算控件使用,而且主要用于检索来自外部表字段中的数据。
语法:

    DLookup(expr, domain, [criteria])

参数解释:

    expr:要获取值的字段名称
    domain :要获取值的表或查询名称
    criteria:用于限制 DLookup 函数执行的数据范围。如果不给 criteria 提供值,Dlookup 函数将返回域中的一个随机值。

正常用法
   
    用于数值型条件值:
  DLookup("字段名称" , "表或查询名称" , "条件字段名 = n")
   
    用于字符串型条件值:(注意字符串的单引号不能丢失)
  DLookup("字段名称" , "表或查询名称" , "条件字段名 = '字符串值'")

    用于日期型条件值:(注意日期的#号不能丢失)
  DLookup("字段名称" , "表或查询名称" , "条件字段名 = #日期值#")

从窗体控件中引用条件值用法

    用于数值型条件值:
  DLookup("字段名称" , "表或查询名称" , "条件字段名 =" &
  forms!窗体名!控件名)
   
    用于字符串型条件值:(注意字符串的单引号不能丢失)
  DLookup("字段名称" , "表或查询名称" , "条件字段名 = '" &
  forms!窗体名!控件名 & "'")

    用于日期型条件值:(注意日期的#号不能丢失)
  DLookup("字段名称" , "表或查询名称" , "条件字段名 = #" &
  forms!窗体名!控件名 & "#")

混合使用方法(支持多条件)
   
    在这种方法中也可以在条件中写入固定的值。
    DLookup("字段名称" , "表或查询名称" , "条件字段名1 = " & Forms!窗体名!控件名1  _
            & " AND 条件字段名2 = '" & Forms!窗体名!控件名2 & "'" _
            & " AND 条件字段名3 =#" & Forms!窗体名!控件名3 & "#")

注:
    Dlookup之类的合计函数(域函数)是ACCESS为用户提供的内置函数,通过这些函数可以方便的从一个表或查询中取得符合一定条件的值赋予变量或控件值,就不需要再用DAO或者ADO打开一个记录集,然后再去从中获取一个值,这样所写的代码要少的多。
    但是如果需要更灵活的设计,比如所查询的域没有在一个固定的表或查询里,而是一个动态的SQL语法,或是临时生成的复杂的SQL语句,亦或是需要代入循环的条件值等,此时还是需要从DAO或者ADO中定义记录集来获取值。因为Dlookup之类的合计函数必竟是一个预定义好格式的函数,所支持的语法有限,但对于大多数的要求是都能够满足的。
DateSerial函数
返回包含指定的年、月、日的 Variant (Date)。
语法                                         eg:上一年度五月一号以前
DateSerial(year, month, day)                 <=DateSerial(Year(Date())-1,5,1)
DateSerial 函数语法有下列的命名参数:
部分 描述
year 必要;Integer。从 100 到 9999 间的整数,或一数值表达式。
month 必要;Integer。任何数值表达式。
day 必要;Integer。任何数值表达式。
说明
为了指定某个日期,如 1991 年 12 月 31 日,DateSerial 函数中的每个参数的取值范围应该是可接受的;即,日的取值范围应在 1-31 之间,而月的取值范围应在 1-12 之间。但是,当一个数值表达式表示某日之前或其后的年、月、日数时,也可以为每个使用这个数值表达式的参数指定相对日期。
以下示例中使用了数值表达式代替绝对日期。这里,DateSerial 函数返回 1990 年 8 月 1 日的 十 年 (1990 - 10) 零两个月 (8 - 2) 又一天 (1 - 1) 之前的日期;换句话说,就是 1980 年 5 月 31 日。
DateSerial(1990 - 10, 8 - 2, 1 - 1)
year 参数的数值若介于 0 与 29 之间,则将其解释为 2000–2029年,若介于 30 和 99 之间则解释为1930–1999年。而对所有其它 year 参数,则请用四位数值表示(如 1800)。
当任何一个参数的取值超出可接受的范围时,它会适时进位到下一个较大的时间单位。例如,如果指定了 35 天,则这个天数被解释成一个月加上多出来的日数,多出来的日数将由其年份与月份来决定。如果一个参数值超出 -32,768 到 32,767 的范围,就会导致错误发生。
mdPnt (acViewPreview ) 报表预览
mdPnt (acViewNormal)  打印输出
int()取整
  if MsgBox ("报表预览", vbYesNo+ vbQuestion, "确认")=vbYes Then  单击报表输出按钮,事件代码会弹出消息框提示,选择是否进行预览报表
"<(SELECT AVG([年龄])from[tStudent])",在查询条件中小于平均年龄·
Iff([性别]=1,男,女)  性别为1,显示男,2显示女
bTitle.Caption = Trim(tText) & "等级考试测试"    单击按钮,将文本框输入的内容与文本串“等级考试测试”链接,并消除连接串的前导和尾随空白字符,用标签bTitle显示链接结果。
[年龄] mod 2<>0  年龄为奇数    [年龄] mod 2=0  年龄为偶数
DoCmd.OpenReport "rEmp" acViewPreview.  单击窗体“报表输出”按钮,调用时间代码实现以预览方式打开报表fEmp.
bt2.FontBold = True    调用时间代码器设置bt2按钮标题为粗体显示
DoCmd.RunMacro "mEmp"  单击按钮,代码调用宏对象mEmp以打开数据表tEmp
rs.MoveNext,用来实现记录集遍历
控件的焦点事件顺序为:enter→gotfocus→操作事件→exit→lostfocus.其中gotfocus表示控件接收焦点事件,lostfocus表示控件失去焦点事件。
函数DateDiff按照指定类型返回指定的时间间隔数目。语法DateDiff(间隔类型,日期1,日期2,[,W1][,W2]),间隔类型为WW,表示返回两个日期间隔的周数
程序中rs是对象变量,指代窗体对象,set语句是将当前窗体中的记录集对象赋给rs对象,Me表示当前窗体,用Me指明记录集来自于窗体,Recordset属性设置窗体,报表,列表框控件或组合框控件的记录源,用Me.Recordset代表指定窗体的记录源,即记录源来自窗体。而RecordSourse属性用来设置数据源,格式为RecoedSourse=数据源。
Between date()-30 and date() 查询最近30天的记录
Year(date())-year([工作时间])计算工龄
Year(date())-[年龄]计算4位出生年信息
A必须数字或字母 L必须字母 9选择数字或空格C选择字符或空格
AutoExec宏命名:自动执行
In(男,女)或男or女  表示有效性规则只能输入男或女
Day(date()-[入住时间])查询条件为统计天数(已住天数)
[Forms]![fTemp]![tAge]查询条件为引用窗体fTemp上控件tAge的值
<=format(date(),yyyy-5-1)查询条件为小于等于本年度5月1日的记录
1&mid([编号],2,5)查询更新条件:将员工编号的第一个字符更改为1
IIf([党员否]=true,党员,非党员)  函数:党员否字段为真时显示记录为党员,假时显示为非党员
IIf(mid([编号],5,2))=10,信息,管理)  函数:将编号字段第5,6为为10的记录显示为信息,反之显示为管理
IIf([性别]=男and[年龄]<20,1,0)  函数:性别为男年龄小于20的人在复选框中为选中,否者为不显示状态
=str(month([工作时间]))+月    例:工作时间为19998-8-17则返回值为8月
TransferDatebase 宏命令:从其他数据库导入或导出数据
Beep 宏命令:嘟嘟声
SetValue 宏命令:为窗体或报表上的空间设置属性值
VBA代码:(1)Docmd.RunMacro“m1“执行运行宏m1的操作
          (2)Tda.caption=date把名称为Tda的标签的说明文字换为当期日期
          (3)CmdSave.Enable=true将名为CmdSave的命令按钮设置为可用的操作(Enable授权)
          (4)btitle.caption=tText将窗体中btitle的标题显示为 文本框tText的内容
          (5)form.caption=date窗体加载时设置窗体标题为当前系统时间
          (6)form.RecordSource=select*from  tStudent  从窗体中把tStudent表中的全部记录显示出来(RecordSource记录源)
          (7)form.RecordSource=qEmp将窗体记录源改为查询对象qEmp
          (8)docmd.close关闭对象
          (9)btitle.forecolor=vbred 设置标签btitle以红文本显示
                Btitle.backcolor=vbred设置标签背景以红显示 
          (10)docmd.openform学生  打开学生窗体
          (11)form.picture=CurrentProject.Path&“\text.bmp”将图片文件“text.bmp”设置为窗体fEmp的背景,要求图片路劲必须经CurrentProject.Path获得
          (12)docmd.quit或application.quit退出access应用程序
          (13)Me!sTitle.caption=Me!sText将文本框sText上内容作为窗体上标签sTitle的标题显示
Group By 分组汇总  Oder By 排序 click 单击 change 改变 caption 标题 space 步长 pubilc全局范围 AutoCenter 自动居中 Load载入 integer整数 single单精度 string字符串 static 静态的 table 表 form 窗体 query 查询 report 报表 macro 宏 module模块 sum 求和 count 计数 case
事件 double 两倍的 enter进入 exit退出 GotFocus获得焦点 LostFocus失去焦点 ByVal传值调用形参不传递给实参  ByRef 传址调用形参传递给实参 Label标签  potion 选择  compare比较  dim定义 resule结果  datebase 把存入数据库 Enable 可用 Visible 可视 Getdate 获取资料 Activate 激活 KeyPress按键 DDL数据定义语言 DML数据操纵语言 else否则 EOF 重复

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。