以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助] 对时间控件进行条件判断时出错  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=59436)

--  作者:wumingrong1
--  发布时间:2014/11/4 12:40:00
--  [求助] 对时间控件进行条件判断时出错
有一个时间控件,进行该控件判断时提示错误。我该怎么改?

Dim ndr As DataRow = DataTables("机房电池放电登记表").Find("机房名称 = \'" & e.Form.Controls("机房名称").Text & "\' And 日期 = \'" & d1 & "\'  And 登记时间 = \'" & e.Form.Controls("登记时间" & i).Value & "\'  And 类型 = \'" & e.Form.Controls("类型" & i).Text & "\' and 负载电流 = \'" & e.Form.Controls("负载电流" & i).Text & "\'and 放电电压 = \'" & e.Form.Controls("放电电压" & i).Text & "\'")
        
        If ndr Is Nothing Then


图片点击可在新窗口打开查看此主题相关图片如下:360截图20141104123847984.jpg
图片点击可在新窗口打开查看<br/>

--  作者:y2287958
--  发布时间:2014/11/4 12:48:00
--  
日期前后加“#”?
--  作者:有点甜
--  发布时间:2014/11/4 14:06:00
--  

 日期或时间,要把 \'\' 改成 ##


--  作者:wumingrong1
--  发布时间:2014/11/4 14:26:00
--  
是这样吗?

Dim ndr As DataRow = DataTables("机房电池放电登记表").Find("机房名称 = \'" & e.Form.Controls("机房名称").Text & "\' And 日期 = \'" & d1 & "\' 
 And 登记时间 = \'" & e.Form.Controls(##登记时间## & i).Value & "\'  And 类型 = \'" & e.Form.Controls("类型" & i).Text & "\' and 负载电流 = \'" & e.Form.Controls("负载电流" & i).Text & "\'and 放电电压 = \'" & e.Form.Controls("放电电压" & i).Text & "\'")
--  作者:Bin
--  发布时间:2014/11/4 14:28:00
--  
And 登记时间 = #" & e.Form.Controls("登记时间" & i).Value & "# And 类型 = \'"
--  作者:wumingrong1
--  发布时间:2014/11/4 17:13:00
--  
确定是这样改没错吗?好像这样改了以后项目会自动关闭

Dim ndr As DataRow = DataTables("机房电池放电登记表").Find("机房名称 = \'" & e.Form.Controls("机房名称").Text & "\' And 日期 = \'" & d1 & "\'  And 登记时间 = #" & e.Form.Controls("登记时间" & i).Value & "#  And 类型 = \'" & e.Form.Controls("类型" & i).Text & "\' and 负载电流 = \'" & e.Form.Controls("负载电流" & i).Text & "\'and 放电电压 = \'" & e.Form.Controls("放电电压" & i).Text & "\'")
        
        If ndr Is Nothing Then



--  作者:有点甜
--  发布时间:2014/11/4 17:15:00
--  
 自动关闭和这段代码无关,可能和你下面的代码有问题。
--  作者:wumingrong1
--  发布时间:2014/11/4 17:29:00
--  
改了很多种都没改对,请帮我看看错在哪里?



For i As Integer = 1 To 6
        
Dim ndr As DataRow = DataTables("机房电池放电登记表").Find("机房名称 = \'" & e.Form.Controls("机房名称").Text & "\' And 日期 = \'" & e.Form.Controls("日期").Text & "\'  and  登记时间 = #" & e.Form.Controls("登记时间" & i).Value & "#   And  类型 = \'" & e.Form.Controls("类型" & i).Text & "\' and 负载电流 = \'" & e.Form.Controls("负载电流" & i).Text & "\'and 放电电压 = \'" & e.Form.Controls("放电电压" & i).Text & "\'")
        
        If ndr Is Nothing Then
            
            If e.Form.Controls("机房名称" ).Text > ""  And e.Form.Controls("日期" ).Text > ""   Then
               If e.Form.Controls("类型" & i ).Text > ""  Then
                    If  e.Form.Controls("登记时间" & i).text > "" And e.Form.Controls("负载电流" & i ).Text > ""  And e.Form.Controls("放电电压" & i ).Text > ""   Then
                        
                        ndr  = DataTables("机房电池放电登记表").AddNew
                        
                        ndr("机房名称") = e.Form.Controls("机房名称").Text
                        ndr("日期") = e.Form.Controls("日期").Text
                        ndr("登记时间") = e.Form.Controls("登记时间" & i).text 
                        ndr("负载电流") = e.Form.Controls("负载电流" & i).Text
                        ndr("放电电压") = e.Form.Controls("放电电压" & i).Text
                        ndr("类型") = e.Form.Controls("类型" & i).Text

                        DataTables("机房电池放电登记表").Save()
                        
                    Else
                        MessageBox.Show("请填入完整数据", "提示", MessageBoxButtons.OK, MessageBoxIcon.Question)
                    End If
                End If
                End If
End If
                
         
    Next

--  作者:有点甜
--  发布时间:2014/11/4 17:31:00
--  

 你给的代码看不出问题。

 

 自己调试一下 http://www.foxtable.com/help/topics/1485.htm

 

 

 


--  作者:wumingrong1
--  发布时间:2014/11/4 17:56:00
--  
2、3、4步骤都提示错误


图片点击可在新窗口打开查看此主题相关图片如下:360截图20141104175707375.jpg
图片点击可在新窗口打开查看


    MessageBox.Show(2)

    For i As Integer = 1 To 6
Dim d1 As Date = e.Form.Controls("登记时间" & i).Value
        Dim ndr As DataRow = DataTables("机房电池放电登记表").Find("机房名称 = \'" & e.Form.Controls("机房名称").Text & "\' And 日期 = \'" & e.Form.Controls("日期").Text & "\'  and  登记时间 = \'" & e.Form.Controls("登记时间" & i).Value & "\' And  类型 = \'" & e.Form.Controls("类型" & i).Text & "\' and 负载电流 = \'" & e.Form.Controls("负载电流" & i).Text & "\'and 放电电压 = \'" & e.Form.Controls("放电电压" & i).Text & "\'")
        
        If ndr Is Nothing Then
            
            If e.Form.Controls("机房名称" ).Text > ""  And e.Form.Controls("日期" ).Text > ""   Then
                MessageBox.Show(3)
                If e.Form.Controls("类型" & i ).Text > ""  Then
                    If  d1 > "" And e.Form.Controls("负载电流" & i ).Text > ""  And e.Form.Controls("放电电压" & i ).Text > ""   Then
                        MessageBox.Show(4)
                        ndr  = DataTables("机房电池放电登记表").AddNew
                        
                        ndr("机房名称") = e.Form.Controls("机房名称").Text
                        ndr("日期") = e.Form.Controls("日期").Text
                        ndr("登记时间") = d1
                        ndr("负载电流") = e.Form.Controls("负载电流" & i).Text
                        ndr("放电电压") = e.Form.Controls("放电电压" & i).Text
                        ndr("类型") = e.Form.Controls("类型" & i).Text
                        DataTables("机房电池放电登记表").Save()
                        MessageBox.Show(5)
                    Else
                        MessageBox.Show("请填入完整数据", "提示", MessageBoxButtons.OK, MessageBoxIcon.Question)
                    End If
                    MessageBox.Show(6)
                End If
            End If
            
        End If
    Next
[此贴子已经被作者于2014-11-4 17:55:59编辑过]