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


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

主题:条件

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


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

已经是完整代码了

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


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

请重新给出最新修改后的完整代码

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


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

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


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


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

测试看弹出了哪些提示框

……                    
                    Dim hpr = DataTables("报餐").Find("[姓名] = '" & e.PostValues("姓名")  & "' and [工号] = '" & e.PostValues("工号")  & "'and [报餐日期] = '" & e.PostValues("报餐日期")  & "'")
MessageBox.show("[姓名] = '" & e.PostValues("姓名")  & "' and [工号] = '" & e.PostValues("工号")  & "'and [报餐日期] = '" & e.PostValues("报餐日期")  & "'")
                    If hpr IsNot Nothing Then '在这里,再处理你网页提交过来的值
msgbox(1)
                        If e.values("早餐") = True Then
                            If hpr("早餐") = True Then
msgbox(2)
                                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
msgbox(3)
                            If hpr("中餐") = True Then
msgbox(4)
                                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
msgbox(5)
                            If hpr("晚餐") = True Then
msgbox(6)
                                With wb.AddMsgPage("","msgpage2","提交失败",  "晚餐已经订过!")
                                    .icon = "Warn" '改变图标
                                    .AddButton("btn1","返回").Attribute = ""
                                End With
                                e.WriteString(wb.Build)
                                Return  ""'必须返回
                            Else
                                hpr("晚餐") = True
                            End If
                        End If
                    Else
msgbox(7)
                        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
……

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

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


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

 

1、你说的重复提交是怎么操作的?在提交按钮快速点击两次提交?请点击提交的时候间隔大一点再测试。

 

2、请做一个实例发上来测试。

 

 

 

 


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

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


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

弹出值看一下如

 

Dim hpr = DataTables("报餐").Find("[姓名] = '" & name  & "' And [工号] = '" & gh  & "' and [报餐日期] = '" & e.PostValues("报餐日期")  & "'")

msgbox(hpr("中餐"))

msgbox(e.Postvalues("中餐"))

msgbox("[姓名] = '" & name  & "' And [工号] = '" & gh  & "' and [报餐日期] = '" & e.PostValues("报餐日期")  & "'")

If hpr("中餐") = "on"  And e.Postvalues("中餐") = "on" Then

 

如果弹出的值正常,你把报餐表的数据删除后重新测试一下。


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

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


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

你给中餐赋值了吧?

 

                    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" ' 改成 hpr("中餐") =  e.values("中餐")
                    End If

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