Office中国论坛/Access中国论坛

标题: 多条件如何处理,请帮改一下附件 [打印本页]

作者: liaohk    时间: 2014-12-30 11:30
标题: 多条件如何处理,请帮改一下附件
[attach]55294[/attach]
[attach]55295[/attach]
   如果我只选部门是可以,但加上时期就三条件就不行了
'选部门时打√事件可以
   If Me.车间 <> "" Then
    DoCmd.RunSQL "update 加班信息表 set 二级时间 =now() WHERE (加班信息表.一级审批= True) and (加班信息表.二级审批= FALSE) and (部门 ='" & Me.车间.Value & "')"
    DoCmd.RunSQL "update 加班信息表 set 二级审批 = 1 WHERE (部门 ='" & Me.车间.Value & "') and (加班信息表.一级审批= True)"
    End If
'如果选起始日期和结束日期就不行?
   If Not IsNull(Me.起始日期) Or IsNull(Me.截止日期) Then
    DoCmd.RunSQL "update 加班信息表 set 二级审批 = 1 WHERE 加班信息表.一级审批= True) and format(实际开始时间,'yyyy-mm-dd')='" & Format(Me.起始日期.Value, "yyyy-mm-dd") & "' and format(实际结束时间,'yyyy-mm-dd')='" & Format(Me.截止日期.Value, "yyyy-mm-dd") & "' "
    DoCmd.RunSQL "update  加班信息表 set 二级时间 =now()  WHERE  加班信息表.一级审批= True) and format(实际开始时间,'yyyy-mm-dd')='" & Format(Me.起始日期.Value, "yyyy-mm-dd") & "' and format(实际结束时间,'yyyy-mm-dd')='" & Format(Me.截止日期.Value, "yyyy-mm-dd") & "' "
    End If
我想实现这个三条件“部门”“起始日期”“结束日期”这三个条件任意选择都可以实现对应打上√。请老师,朋友们帮改改怎么写?

但总是没有打起√,不知错在那里?

作者: roych    时间: 2014-12-30 11:44
改:If Not IsNull(Me.起始日期) Or IsNull(Me.截止日期) Then为:If Not IsNull(Me.起始日期) Or Not IsNull(Me.截止日期) Then试试?顺便说下,你的附件可能是包含工作组文件的,打不开,没法调试。
作者: nicknick16    时间: 2014-12-30 12:07
你的sql语句字符串不灵活,基本是不专业  
如果需要单独联系我
作者: todaynew    时间: 2014-12-30 14:30
dim ssql as string
if isnull(me.车间.value) then
   ssql="update 加班信息表 set 一级时间=#" & now() & "#,一级审批=true "
else
   ssql="update 加班信息表 set 二级时间=#" & now() & "#,二级审批=true "
end if
if isnull(me.起始日期.value)=false and isnull(me.截止日期.value)=false then
   ssql=ssql & "where 报班日期>=#" & me.起始日期.value & "# and 报班日期<=#" & me.截止日期.value & "#"
   CurrentDb.Execute ssql
end if
me.阁下子窗体控件名称.Form.Requery


作者: liaohk    时间: 2014-12-30 18:28
重新上传,老师们再帮改一下,




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3