以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=25742)

--  作者:mamasong
--  发布时间:2012/11/15 16:31:00
--  [求助]

我编辑了个输入窗口,有几列的信息是必须输入才能允许保存的,我下面的代码有什么问题吗?请高手帮忙看下,代码比较啰嗦,难为你们了啊。谢谢

 

If e.Form.Controls("票据编号").value IsNot Nothing And e.Form.Controls("票据类型").value IsNot Nothing And e.Form.Controls("出票单位").value IsNot Nothing And e.Form.Controls("票面金额").value IsNot Nothing And e.Form.Controls("出票日期").value IsNot Nothing And e.Form.Controls("到期日期").value IsNot Nothing And e.Form.Controls("收款单位").value IsNot Nothing And e.Form.Controls("票据来源").value IsNot Nothing And e.Form.Controls("出票银行").value IsNot Nothing And e.Form.Controls("票据状态").value IsNot Nothing Then
    Dim s As String = e.Form.Controls("票据状态").value
    If s = "转让"  Then
       
        If e.Form.Controls("转让单位").value IsNot Nothing Then
            CurrentTable.current.save()
            CurrentTable.current.locked = True
        Else
            MessageBox.show("转让状态下转让单位必须输入内容!")
        End If
       
    ElseIf s <> "转让" Then
       
        If e.Form.Controls("转让单位") Is Nothing Then
            CurrentTable.current.save()
            CurrentTable.current.locked = True
        Else
            MessageBox.show("您有*必输项未输入内容或非转让状态下转让单位非法存在内容,请重新输入!")
        End If
       
    End If
   
End If


--  作者:mamasong
--  发布时间:2012/11/15 16:31:00
--  
图片点击可在新窗口打开查看谁能帮忙看下啊
--  作者:mamasong
--  发布时间:2012/11/15 16:32:00
--  
为什么我设置的必输项 没有内容也可以保存呢?
--  作者:lin_hailun
--  发布时间:2012/11/15 16:46:00
--  
控件太多的话,就用一个循环吧。差不多了。

dim colnames() as string = {"票据编号", "票据类型", "票据类型"}

for each colname as string in colnames
    if e.form.controls(colname).text = "" then
        msgbox("您有*必输项未输入内容,请重新输入!")
        return
    end if
next

    Dim s As String = e.Form.Controls("票据状态").value
    If s = "转让"  Then
       
        If e.Form.Controls("转让单位").Text <> "" Then
            CurrentTable.current.save()
            CurrentTable.current.locked = True
        Else
            MessageBox.show("转让状态下转让单位必须输入内容!")
        End If
       
    ElseIf s <> "转让" Then
       
        If e.Form.Controls("转让单位").Text <> "" Then
            CurrentTable.current.save()
            CurrentTable.current.locked = True
        Else
            MessageBox.show("非转让状态下转让单位非法存在内容,请重新输入!")
        End If
       
    End If