本帖最后由 lichaobin 于 2013-7-11 23:46 编辑
DLOOKUP在ADO及EXCEL表间的查询运用例子:按表1的数据查询,并添加表2的小类名称,必须用ADO+SQL在EXCEL表中完成!表1:sheet1数据如下:file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtml1/05/clip_image001.jpgfile:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtml1/05/clip_image003.jpg表2:sheet2数据如下:file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtml1/05/clip_image004.jpgfile:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtml1/05/clip_image005.jpg目的要搞成这样:file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtml1/05/clip_image006.jpgSQL代码如下:SELECT [商品编码],[商品条码],[商品名称],[数量],[小类编码],DLOOKUP("小类名称","Sheet2$","商品编码=" & "'" & 商品编码 & "'") AS 小类名称 FROM [Sheet1$] 注意事项: DLookup(expr, domain, [criteria]) DLookup("字段名称" , "表或查询名称" , "条件字段名 = n") expr:要获取值的字段名称 domain :要获取值的表或查询名称 criteria:用于限制 DLookup 函数执行的数据范围。如果不给 criteria 提供值,Dlookup 函数将返回域中的一个随机值。 DLOOKUP函数在SELECT查询语句中使用,一般效率很差.但仍有作用.需要注 意的是:三参数均为文本,用双引号标志,字段变量值,前后需加"'"号表示值.例:DLOOKUP("字段名称","表和查询名称$","条件字段名="&","&字值变量名&"'")SELECT [商品编码],[商品条码],[商品名称],[数量],[小类编码],DLOOKUP("小类名称","Sheet2$","商品编码=" & "'" & 商品编码 & "'") AS 小类名称 FROM [Sheet1$] 请问有 accessDlookup函数 实例可以提供参考吗? 最佳答案 语法: 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)&"???'") Dlookup函数3 摘 要:Dlookup函数3 工资表录入窗体中,如何使用DLOOKUP将上个月的该值设为默认值。可以给个例子吗工资 =DLookup("[工资字段名]","[工资表的名称]","[人员ID] = "& 人员ID &" AND [月份] = "& Str(当前月份 - 1))工资 =nz(DLookup("[工资字段名]", "[工资表的名称]", "[人员ID] = " & 人员ID & " AND [月份] = " & Str(当前月份 - 1)) ,0)4 Dlookup中如何使用变量作为条件?Dima As Stringa = Me.CaptionIf IsNull(DLookup("[权限名]", "权限查询", "[用户] =[Forms]![主面板]![用户名] And [权限名]= a ")dlookup这里总是报错!改成這樣吧.:If IsNull(DLookup("[权限名]", "权限查询", "[用户] ='" & [Forms]![主面板]![用户名] & "'" & " And [权限名]='" & a & "'")5请教DLookup函数的返回值access帮助中“ValidationRule、ValidationText 属性”条目下有如下示例:ValidationRule 属性:DLookup("客户ID", "客户", "客户ID = Forms!客户!客户ID") Is NullValidationText 属性:输入项必须是唯一的“客户ID”(域合计函数只允许在窗体级的有效性中使用)请教各位,DLookup("客户ID", "客户", "客户ID = Forms!客户!客户ID") Is Null 的返回值是什么?谢谢!用on error gotoerrdim aa=DLookup("客户ID", "客户", "客户ID = Forms!客户!客户ID") exiterr:msgbox err显示值就是了楼上的朋友,不好意思,我刚开始学Access,请问您写的程序如何运行?在一个按钮的单击事件中,写上上面的代码,然后打开窗体,单击此按钮。a=DLookup("[客户ID]", "客户", "[客户ID] ="& Forms!客户!客户ID) msgbox "a=" & aDLookup("客户ID", "客户", "客户ID = Forms!客户!客户ID") Is Null 是一个条件判断式,返回True或False.而DLookup("客户ID", "客户", "客户ID = Forms!客户!客户ID") 则返回“客户”表(查询)中满足条件:"客户ID = Forms!客户!客户ID"的客户ID字段的字段值,如果没有满足条件的记录则返回"NULL"值。 dlookup可以多条件查询:成绩表姓名 性别 成绩张三 男 80张三 女 85 =dlookup("成绩","成绩表","姓名='" & 姓名 & “‘ and 性别='" & 性别 & “‘”)如果姓名=张三,性别=男,则返回80如果姓名=张三,性别=女,则返回85
DLOOKUP函数在ADO及EXCEL表中的运用例子.rar
(182.7 KB, 下载次数: 148)
|