DLookup用法示例.doc_第1页
DLookup用法示例.doc_第2页
DLookup用法示例.doc_第3页
DLookup用法示例.doc_第4页
DLookup用法示例.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

综合:DLookup用法示例作者:zhengjia 文章来源:Access中国/Office中国 点击数: 3393 更新时间:2004-2-12提示: 以下用法示例适合于大部分的合计函数(域函数如:DMax, DMin等)语法: DLookup(expr, domain, criteria)参数解释: expr:要获取值的字段名称 domain :要获取值的表或查询名称 criteria:用于限制 DLookup 函数执行的数据范围。如果不给 criteria 提供值,Dlookup 函数将返回域中的一个随机值。正常用法 用于数值型条件值: DLookup(字段名称 , 表或查询名称 , 条件字段名 = n) 用于字符串型条件值:(注意字符串的单引号不能丢失) DLookup(字段名称 , 表或查询名称 , 条件字段名 = 字符串值) 用于日期型条件值:(注意日期的#号不能丢失) DLookup(字段名称 , 表或查询名称 , 条件字段名 = #日期值#) Dim str As String Dim rs As New ADODB.Recordset str = select * from qryfuzhu_in_child where 入库ID= & Me.入ID & And 库存数 0 Set rs = GetRs(str) If rs.EOF Then gt_MessageBox 你无权使用此功能,请与系统管理员联系!, 1 Else Dim kc As Long kc = DLookup(库存数, qryfuzhu_in_child, 入库ID = Me.入ID) Me.入数 = kc End If从窗体控件中引用条件值用法 用于数值型条件值: 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之类的合计函数必竟是一个预定义好格式的函数,所支持的语法有限,但对于大多数的要求是都能够满足的。ACCESS 日期函数 部分其它函数 1. 将文本型 2003.08.04 转换为日期型 2003-08-04( date(replace (2003.08.04,.,-)2. 根据出生日期算年龄= iif (month(date()-month(出生日期)-1,year(date()-year(出生日期),year(date()-year(出生日期)-1)3. 取出货期前 10 天的日期值 dateadd( y, -10 ,出货期)取出货期前一个月的日期值 dateadd( m, -1 , date()4. 显示四位年份 = datepart(yyyy,日期)5. 显示两日期之前相差的天数 = datediff ( d, 订货日, 发货日)6. 取第一个字符 =left(产品名称,1)7. 取最后两个字符 = right (资产代码,2)8. 去掉首尾空格 trim(地址)9. 计算每个月的天数day(dateadd(d,-1,format(date,yyyy-mm-01)当系统为每月第一天时弹出提示 privatesubform_load()ifday(date()=1thenmsgboxxxxxxxxxxendifendsub如何使用刷新后不回到第一笔记录 1.在optioncomparedatebase下面声明一个变量dimintcurRecasinteger2.刷新前记下当前记录并关闭回响intcurRec=currentrecordapplication.echofalse3.刷新后返回,打开回响docmd.gotoRecord,acgoto,intcurRecapplication.echotrue*me.refresh刷新2007-01-19 14:07 ACCESS - 一例联合查询代码以下示例来自ACCESS911表:payID fullname pay 2a¥500.004a¥600.005a¥700.006b¥800.007b¥55.00查询结果:查询1fullnamepay a¥700.00a¥600.00a¥500.00a小计¥1,800.00b¥55.00b¥800.00b小计¥855.00总计¥2,655.00联合查询代码:selectfullname,payfrompayunionallSELECTpay.fullname&小计AS表达式1,Sum(pay.pay)ASpayAllFROMpayGROUPBYpay.fullname&小计UNIONALLselect总计,sum(pay)frompayORDERBYfullname;1.进入子窗体后焦点直接到最后新增的一行内PrivateSub出货明细表录入子窗体_Enter()DoCmd.GoToRecord,acNewRecEndSub2.打开窗体后进入新增模式法一:新增形式PrivateSubForm_Load()DoCmd.GoToRecord,acNewRecEndSub法二:筛选形式PrivateSubCommand0_Click()DoCmd.OpenForm供应商档案2,acNormal,acFormAddEndSub下移一条记录docmd.gotorecord,acnext移动到第一条记录docmd.gotorecord,acfirst前一条记录docmd.gotorecord,acprevious最后一条记录docmd.gotorecord,aclast退出系统docmd.quit新建属性me.allowadditions=true编辑属性me.allowedits=true删除属性me.allowdeletions=true新记录docmd.gotorecord,acnewrec删除记录docmd.runcommandaccmddeleterecord系统提示语msgbox保存成功!,vbinformation,提示-!msgboxXXXXXX,Vbcritical,警告-X锁定控件locked=true指定控件能否接受焦点me.控件.enabled=true能标签颜色me.labelcol

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论