龙泉青瓷茶具品牌:access 中 dlookup语句

来源:百度文库 编辑:中财网 时间:2024/05/04 18:45:47
语法:

    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之类的合计函数必竟是一个预定义好格式的函数,所支持的语法有限,但对于大多数的要求是都能够满足的。
=DLookUp("count([姓名])","[排课记录_学生]","[班组]='" & [Forms]![教室班组]![班组名称] & "'")

DLookUp("[创建日期]","[任务列表]","[id] in (DLookUp(max(id),'[任务列表]'))")

=Dlookup("max(层ID)","[标准化知识列表]","层ID like '"& left([层ID],len([层ID])-3)&"???'")