Office中国论坛/Access中国论坛

标题: 如何判断3个条件下的记录是否存在? [打印本页]

作者: SunmoonBaby    时间: 2007-11-26 14:49
标题: 如何判断3个条件下的记录是否存在?
目的:查询满足3个字段相同时的记录是否存在
用If exists ( select * from table where *='*')连着做3次麽?还是可以用  &  或者什么简便点的方式



版主啊:随着技术的升级,希望的要求也随着升级,问题也就随着升级了啊,真是越来越复杂了啊...哈哈
作者: SunmoonBaby    时间: 2007-11-26 15:52
标题: 是这样的麽?
Private Sub K_AfterUpdate()
    ' 判断"检查时间"是否录入
    If Not IsDate(Me.检查时间) Then
        MsgBox "请输入检查时间"
        Me.检查时间.SetFocus
        Exit Sub
    End If
    ' 判断 [K]植在正常范围内时
    If [K] >= 3.5 & [K] <= 5.5 Then
        [K-性质] = "正常"
       ' 判断条件:[编号][检查时间][异常项目]同时相同的记录就是需要处理的记录
         If DCount("[异常项目]", "[异常结果]", "[编号],[检查时间]") > 0 Then Recordset.Delete  ' 存在记录就删除(说明以前录入的错了)
        Exit Sub
    End If
   
    If [K] > 5.5 Then
        [K-性质] = "升高"
        If DCount("[异常项目]", "[异常结果]", "[编号],[检查时间]") > 0 Then [异常结果]![异常结果] = Me.[K]  ' 存在记录便更新
        Else
            Dim mySQL As String
            mySQL = "INSERT into 异常结果(异常项目,异常结果,检查时间,编号,姓名,性别,检查时年龄)"
            mySQL = mySQL & " values('K','" & Me.[K] & "',#" & Me.[检查时间] & "# ," & Me.[编号] & ",'" & Me.[姓名] & "','" & Me.[性别] & "','" & Me.[检查时年龄] & "')"
            CurrentDb.Execute mySQL
            Exit Sub
        End If
    End If
   
    If [K] < 3.5 Then
        [K-性质] = "降低"
        If DCount("[异常项目]", "[异常结果]", "[编号],[检查时间]") > 0 Then [异常结果]![异常结果] = Me.[K]
        Else
            Dim mySQL As String
            mySQL = "INSERT into 异常结果(异常项目,异常结果,检查时间,编号,姓名,性别,检查时年龄)"
            mySQL = mySQL & " values('K','" & Me.[K] & "',#" & Me.[检查时间] & "# ," & Me.[编号] & ",'" & Me.[姓名] & "','" & Me.[性别] & "','" & Me.[检查时年龄] & "')"
            CurrentDb.Execute mySQL
            Exit Sub
        End If
    End If
        
End Sub

[ 本帖最后由 SunmoonBaby 于 2007-11-26 16:04 编辑 ]
作者: andymark    时间: 2007-11-26 20:40
有好几个地方错, 上传例子吧
作者: wktt33    时间: 2007-11-26 21:26
在查询条件中使用 OR  语句.
作者: SunmoonBaby    时间: 2007-11-27 09:18
标题: 文件上传
焦点:"生化"窗体,[K]
目的:填入[K]数据后判断:1,3.5<= [K] <= 5.5  时:查找[异常结果]表中有无符合"编号","检查时间","异常项目"的记录,如果有就删除,同时更新本窗体中[K-性质]为"正常"
                                      2,[K]<3.5 时:查找[异常结果中有无符合"编号","检查时间","异常项目"的记录,如果有就更新[异常结果]字段中的数据,没有就插入记录,同时更新本窗体中[K-性质]为"降低"
                                      3,[K]>5.5 时:查找[异常结果中有无符合"编号","检查时间","异常项目"的记录,如果有就更新[异常结果]字段中的数据,没有就插入记录,同时更新本窗体中[K-性质]为"升高"

有点麻烦的要求,呵呵,原来让非专业人员作这些数据库的活还真是难啊,呵呵,
再次多谢各位!
作者: SunmoonBaby    时间: 2007-11-27 16:50
标题: 版主真是太...素质了...呵呵
多谢,多谢
又解决了一部分要求,嘿嘿,真像蚂蚁啃骨头,呵呵




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