Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

[5分]我一直搞不懂Dlookup怎么用?

李应强  发表于:2009-06-08 15:48:44  
复制

我先将自己的用法弄个示例上来,麻烦知道的朋友指点下,如何用Dlookup,谢谢了!

点击下载此附件

 

Top
82077802 发表于:2009-06-08 17:52:02

                                    

语法:
    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之类的合计函数必竟是一个预定义好格式的函数,所支持的语法有限,但对于大多数的要求是都能够满足的。



李应强 发表于:2009-06-09 08:34:57

这样的回答是一点都没用的。在帮助和百度上都能够搜的到,现在是当前的问题能否用dlookup解决,如能,应该如何书写语句?



范范 发表于:2009-06-09 09:06:19

chinalyq语气好硬哦,毕竟人家没有收到你任何的报酬,而且82077802的回答是相当系统的。

你在查询中的话只能实现单个查询 如 单价1: DLookUp("单价","2","工序='热缩'"),如果需批量的可以建立一个窗体,再将窗体视图变成数据表格式. DLookUp("单价","2","工序='" & forms!单价表!工序 & "'")



不务实 发表于:2009-06-09 09:37:25
DLookUp("单价","2","[工序]='" & [工序] & "'")

不务实 发表于:2009-06-09 09:43:21

DLookUp("单价","2","[工序]='" & [工序] & "'")

 

 

单价     是你要引用表    2     的字段

第一个工序   是你表      1     的字段

第二个工序   是你表      2     的字段

 

 

"[工序]='" & [工序] & "'"      这句是条件      本例中工序是文本型的

工序   是数字型改为        "[工序]=" & [工序] & ""

工序   是日期型改为        "[工序]=#" & [工序] & "#"

 

 

这样你就好理解了,我也是搞了很长时间才明白的

希望你能理解,不要忘记设为最佳答案

 

 

 

 



董秀杰 发表于:2009-06-09 13:29:52

学习了



李应强 发表于:2009-06-09 15:37:04

谢谢3楼,可惜你的方法于我还是没任何帮助。

 

十分感谢4楼,5楼。

4楼非常直观的解决了困扰我多日的难题,这种问题,就是给我帮助文档和百度上的资料,我再看十年也是不会的。

5楼更是系统的帮我分析了,具体问题在其他情况如何操作的方法。以使我在往后的应用中能百尺杆头更进一步!



总记录:7篇  页次:1/1 9 1 :