Foxtable(狐表)用户栏目专家坐堂 → 条件


  共有2280人关注过本帖树形打印复制链接

主题:条件

帅哥哟,离线,有人找我吗?
yetle
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:858 积分:6381 威望:0 精华:0 注册:2017/2/13 9:04:00
条件  发帖心情 Post By:2019/5/16 17:46:00 [只看该作者]

                        Dim hpr = DataTables("报餐").Find("[姓名] = '" & dr("姓名")  & "' and [工号] = '" & dr("工号")  & "'and [报餐日期] = '" & dr("报餐日期")  & "' and [晚餐] = '" & dr("晚餐")  & "'")  假如我这里想要查找早餐或者中餐或者晚餐满足条件,是不是改为or [早餐] = '" & dr("早餐")  & "' or [中餐] = '" & dr("中餐")  & "' or [晚餐] = '" & dr("晚餐")  & "'         测试好像不行,该怎么写?
                        If hpr IsNot Nothing Then
                            dr.save()
                            With wb.AddMsgPage("","msgpage","报餐增加成功", "请按提交的报餐消费") '生成成功提示页
                                .AddButton("btn1","继续报餐","bc.htm")
                            End With
                        Else
                            With wb.AddMsgPage("","msgpage","重复报餐", "请重新选择报餐") '生成成功提示页
                                .icon = "Warn"
                                .AddButton("btn1","继续报餐","bc.htm")
                            End With
                        End If


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/5/16 19:29:00 [只看该作者]

 Dim hpr = DataTables("报餐").Find("[姓名] = '" & dr("姓名")  & "' and [工号] = '" & dr("工号")  & "'and [报餐日期] = '" & dr("报餐日期")  & "' and ([早餐] = '" & dr("早餐")  & "' or [中餐] = '" & dr("中餐")  & "' or [晚餐] = '" & dr("晚餐")  & "')"

 回到顶部
帅哥哟,离线,有人找我吗?
yetle
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:858 积分:6381 威望:0 精华:0 注册:2017/2/13 9:04:00
  发帖心情 Post By:2019/5/17 17:37:00 [只看该作者]

请教老师:
测试不是我想要的结果,需求是同一个员工新提交的报餐,
如提交的是25号早餐,假如报餐表里面存在25号报的早餐,则提示重复报餐
如提交的是25号早餐和中餐,假如报餐表里存在25号报的早餐,则提示25号早餐已报,请不要重复提交,25号中餐保存到报餐表里面



 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/5/17 18:00:00 [只看该作者]

1、先不要新增行,往里面填入数据。

 

2、先查找是否找到对应的行

 

Dim hpr = DataTables("报餐").Find("[姓名] = '" & dr("姓名")  & "' and [工号] = '" & dr("工号")  & "'and [报餐日期] = '" & dr("报餐日期")  & "'")

If hpr isnot Nothing Then '在这里,再处理你网页提交过来的值

   If e.values("早餐控件名") = true Then

        if hpr("早餐") = true Then

            msgbox("早餐已经订过")

        else

             hpr("早餐") = true

        end If

    End If

   If e.values("午餐控件名") = true Then

        if hpr("午餐") = true Then

            msgbox("午餐已经订过")

        Else 

             hpr("午餐") = true

        end If

    End If

   If e.values("晚餐控件名") = true Then

        if hpr("晚餐") = true Then

            msgbox("晚餐已经订过")

        Else 

             hpr("晚餐") = true

        end If

    End If

Else

    '新增一行,录入各列数据

End If


 回到顶部
帅哥哟,离线,有人找我吗?
yetle
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:858 积分:6381 威望:0 精华:0 注册:2017/2/13 9:04:00
  发帖心情 Post By:2019/5/18 9:26:00 [只看该作者]

重复提交没有弹出提示,直接提交保存了
Dim e As RequestEventArgs = args(0)
Dim wb As New weui
Select Case e.Path
    Case "bc.htm"             
                If e.PostValues.Count = 0 Then
                    wb.AddForm("","form1","bc.htm")
                    With wb.AddInputGroup("form1","ipg1","报餐日期")
                        .AddInput("报餐日期","报餐日期","date")
                    End With
                    With wb.AddCheckGroup("form1","选择","选择报餐")
                        .Add("早餐","早餐")
                        .Add("中餐","中餐")
                        .Add("晚餐","晚餐")
                    End With
                    With wb.AddButtonGroup("form1","btg1",True)
                        .Add("btn1", "确定", "submit")
                    End With
                    e.WriteString(wb.Build)
                Else
                    Dim nms() As String = {"报餐日期"} '不能为空的列名数组
                    For Each nm As String In nms
                        If e.PostValues.ContainsKey(nm) = False Then '生成错误提示页
                            With wb.AddMsgPage("","msgpage","增加失败", nm & "报餐日期不能为空!")
                                .icon = "Warn" '改变图标
                                .AddButton("btn1","返回").Attribute = ""
                            End With
                            e.WriteString(wb.Build)
                            'Return '必须返回
                        End If
                    Next
                    

                    Dim hpr = DataTables("报餐").Find("[姓名] = '" & e.PostValues("姓名")  & "' and [工号] = '" & e.PostValues("工号")  & "'and [报餐日期] = '" & e.PostValues("报餐日期")  & "'")
MessageBox.show(hpr)
                    If hpr IsNot Nothing Then '在这里,再处理你网页提交过来的值
                        If e.values("早餐") = True Then
                            If hpr("早餐") = True Then
                                msgbox("早餐已经订过")
                            Else
                                hpr("早餐") = True
                            End If
                        End If
                        If e.values("午餐") = True Then
                            If hpr("午餐") = True Then
                                msgbox("午餐已经订过")
                            Else
                                hpr("午餐") = True
                            End If
                        End If
                        If e.values("晚餐") = True Then
                            If hpr("晚餐") = True Then
                                msgbox("晚餐已经订过")
                            Else
                                hpr("晚餐") = True
                            End If
                        End If
                    Else
                    Dim dr As DataRow = DataTables("报餐").AddNew() '新增一行,录入各列数据                        
                        For Each nm As String In nms
                            If e.PostValues.ContainsKey(nm) Then
                                dr(nm) = e.PostValues(nm)
                            End If
                        Next

                            dr("早餐") = e.PostValues("早餐")
                            dr("中餐") = e.PostValues("中餐")
                            dr("晚餐") = e.PostValues("晚餐")
                            dr("报餐时间") = Date.Today
                            dr("姓名") = name
                            dr("工号") = gh

                        Dim tp As TimeSpan = dr("报餐日期") - dr("报餐时间")
                        dr("报餐") = tp.TotalDays
                        If dr("报餐")> =1 Then
                            dr.save()
                            With wb.AddMsgPage("","msgpage","报餐增加成功", "请按提交的报餐消费") '生成成功提示页
                                .AddButton("btn1","继续报餐","bc.htm")
                            End With
                        Else
                            With wb.AddMsgPage("","msgpage","报餐不成功,您需要提前报餐", "请重新选择报餐日期") '生成成功提示页
                                .icon = "Warn"
                                .AddButton("btn1","继续报餐","bc.htm")
                            End With
                            
                        End If
                    End If
                    
                    
                    e.WriteString(wb.Build)
                End If
            End If
        End If
End Select

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105473 积分:536350 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/5/18 9:34:00 [只看该作者]

比如:
……
                If e.values("早餐") = True Then
                    If hpr("早餐") = True Then
                        With wb.AddMsgPage("","msgpage2","提交失败",  "早餐已经订过!")
                            .icon = "Warn" '改变图标
                            .AddButton("btn1","返回").Attribute = ""
                        End With
                        e.WriteString(wb.Build)
                        Return '必须返回
                    Else
                        hpr("早餐") = True
                    End If
                End If
                If e.values("午餐") = True Then
                    If hpr("午餐") = True Then
                        With wb.AddMsgPage("","msgpage2","提交失败",  "午餐已经订过!")
                            .icon = "Warn" '改变图标
                            .AddButton("btn1","返回").Attribute = ""
                        End With
                        e.WriteString(wb.Build)
                        Return '必须返回
                    Else
                        hpr("午餐") = True
                    End If
                End If

 回到顶部
帅哥哟,离线,有人找我吗?
yetle
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:858 积分:6381 威望:0 精华:0 注册:2017/2/13 9:04:00
  发帖心情 Post By:2019/5/18 11:54:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:微信图片_20190518115327.png
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105473 积分:536350 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/5/18 13:23:00 [只看该作者]

Return ""

或者

Return nothing


If hpr("早餐") = True Then
                        With wb.AddMsgPage("","msgpage2","提交失败",  "早餐已经订过!")
                            .icon = "Warn" '改变图标
                            .AddButton("btn1","返回").Attribute = ""
                        End With
                        e.WriteString(wb.Build)
                        Return "" '必须返回
                    Else
                        hpr("早餐") = True
                    End If

 回到顶部
帅哥哟,离线,有人找我吗?
yetle
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:858 积分:6381 威望:0 精华:0 注册:2017/2/13 9:04:00
  发帖心情 Post By:2019/5/18 13:32:00 [只看该作者]

return的错误提示没有了,可重复提交还是没有弹出提示,直接提交保存了

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105473 积分:536350 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/5/18 13:46:00 [只看该作者]

把完整代码放到txt文件上传上来

 回到顶部
总数 22 1 2 3 下一页