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


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

主题:条件

帅哥哟,离线,有人找我吗?
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


 回到顶部
帅哥哟,离线,有人找我吗?
yetle
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | 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号中餐保存到报餐表里面



 回到顶部
帅哥哟,离线,有人找我吗?
yetle
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | 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

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


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


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

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


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

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

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


加好友 发短信
等级:四尾狐 帖子:858 积分:6381 威望:0 精华:0 注册:2017/2/13 9:04:00
  发帖心情 Post By:2019/5/18 14:38:00 [显示全部帖子]

已经是完整代码了

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


加好友 发短信
等级:四尾狐 帖子:858 积分:6381 威望:0 精华:0 注册:2017/2/13 9:04:00
  发帖心情 Post By:2019/5/18 14:42:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:新建 文本文档 (14).txt


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


加好友 发短信
等级:四尾狐 帖子:858 积分:6381 威望:0 精华:0 注册:2017/2/13 9:04:00
  发帖心情 Post By:2019/5/20 11:16:00 [显示全部帖子]

MessageBox.show("[姓名] = '" & name  & "' And [工号] = '" & gh  & "'  And [报餐日期] = '" & e.PostValues("报餐日期")  & "'")
可以正常弹出,重复提交的时候msgbox(1)-msgbox(6)没有弹出,会有msgbox(7)弹出

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


加好友 发短信
等级:四尾狐 帖子:858 积分:6381 威望:0 精华:0 注册:2017/2/13 9:04:00
  发帖心情 Post By:2019/5/20 15:27:00 [显示全部帖子]

我修改了一下,测试后,可以正常提交没有重复日期的报餐,提交重复报餐的时候也会提示已经报餐不能重复提交,
可是当之前有提交过如日期为5.20早餐,现在提交日期为5.20日中餐会提示中餐已经报餐不能重复提交,看代码也不是这么回事啊


Dim e As RequestEventArgs = args(0)
Dim wb As New weui
Select Case e.Path
    Case "bc.htm"
        ''''执行验证函数,获取用户userid和name----20190423
        Dim cs = Functions.Execute("钉钉验证",e)
        ''''执行验证函数,获取用户userid和name----20190423
        If cs > "" Then
            Dim userid ,name,gh
            Dim Values() As String
            Values = cs.split("|")
            userid =Values(0)
            name =Values(1)
            gh= Values(2)
            ''''通过获取的cs分离得到userid和name----20190423
            If userid > "" Then
                'wb.AddPageTitle("","pageheader",userid & "我的工作台",gh & name & "欢迎您!")
                wb.AddPageTitle("","pageheader", "欢迎使用报餐系统",gh & name & "欢迎您!")
                
                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("[姓名] = '" & name  & "' And [工号] = '" & gh  & "' and [报餐日期] = '" & e.PostValues("报餐日期")  & "'")
                    
                    If hpr IsNot Nothing Then '在这里,再处理你网页提交过来的值
                        'If hpr IsNot Nothing And e.Postvalues("早餐") = "on"  Then
                        If hpr("早餐") = "on"  And e.Postvalues("早餐") = "on" Then
                            With wb.AddMsgPage("","msgpage2","提交失败",  "早餐已经订过!")
                                .icon = "Warn" '改变图标
                                .AddButton("btn1","返回").Attribute = ""
                            End With
                            e.WriteString(wb.Build)
                            Return "" '必须返回
                        Else
                            hpr("早餐") =  "on"
                        End If
                    
                    'If hpr IsNot Nothing And e.Postvalues("中餐") = "on"  Then
                    If hpr("中餐") = "on"  And e.Postvalues("中餐") = "on" Then
                        With wb.AddMsgPage("","msgpage2","提交失败",  "中餐已经订过!")
                            .icon = "Warn" '改变图标
                            .AddButton("btn1","返回").Attribute = ""
                        End With
                        e.WriteString(wb.Build)
                        Return "" '必须返回
                    Else
                        hpr("中餐") =  "on"
                    End If
                    'End If
                    'If hpr IsNot Nothing And e.Postvalues("晚餐") = "on"  Then
                    
                    If hpr("晚餐") = "on"  And e.Postvalues("晚餐") = "on" Then
                        
                        With wb.AddMsgPage("","msgpage2","提交失败",  "晚餐已经订过!")
                            .icon = "Warn" '改变图标
                            .AddButton("btn1","返回").Attribute = ""
                        End With
                        e.WriteString(wb.Build)
                        Return  ""'必须返回
                    Else
                        hpr("晚餐") =  "on"
                    End If
                    'End If
                    'If hpr Is Nothing Then
                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

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


加好友 发短信
等级:四尾狐 帖子:858 积分:6381 威望:0 精华:0 注册:2017/2/13 9:04:00
  发帖心情 Post By:2019/5/20 16:55:00 [显示全部帖子]

数据表中存在的数据:

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

我选重复日期2019-05-21,选早餐,msgbox(hpr("中餐"))弹出on,msgbox(e.Postvalues("中餐"))为空,msgbox("[姓名] = '" & name  & "' And [工号] = '" & gh  & "' and [报餐日期] = '" & e.PostValues("报餐日期")  & "'")正常显示了姓名工号和日期
msgbox(hpr("中餐"))不应弹出on才对
[此贴子已经被作者于2019/5/20 17:05:28编辑过]

 回到顶部
总数 12 1 2 下一页