以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]代码问题文本框为空  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=53680)

--  作者:xokxiao
--  发布时间:2014/7/13 11:03:00
--  [求助]代码问题文本框为空

增加红色部分代码后

文本框为空时代码起作用

文本框不为空时AddNew不起作用

错在哪,应怎样修改

 

自己发现问题TextBox5应改TextBox1

 谢谢大家

Dim r As Row = Tables("商品资料表").Current

If r Is Nothing Then
   
    msgbox("没有该商品")
   
Else
   
    If Forms("入库窗口").Controls("TextBox5").Text =""  Then
        Return

\'返回
    Else
        
        Dim ndr As DataRow = DataTables("商品入库表").AddNew
       
        ndr("商品号") = r("商品号")
       
        ndr("商品名") = r("商品名")
       
        ndr("条形码") = r("助记码")
       
        ndr("助记码") = r("助记码")
       
        ndr("自编码") = r("自编码")
       
        ndr("规格") = r("规格")
       
        ndr("单位") = r("单位")
       
        ndr("生产单位") = r("生产单位")
       
        ndr("单位") = r("单位")
       
        ndr("批文") = r("批文")
       
        ndr("入库号") = e.Form.Controls("TextBox2").text
       
        ndr("数量") = e.Form.Controls("TextBox3").text
       
        ndr("单价") = e.Form.Controls("TextBox4").text
       
        ndr("入库金额") = e.Form.Controls("TextBox5").text
       
        ndr("入库日期") = e.Form.Controls("DateTimePicker1").Value
    End If
End If

[此贴子已经被作者于2014-7-13 11:05:56编辑过]

--  作者:有点甜
--  发布时间:2014/7/13 11:05:00
--  
 你想实现什么?
--  作者:xokxiao
--  发布时间:2014/7/13 11:09:00
--  
我的意思是TextBox1没有内容时就返回不执行下面,有内容就执行下面的代码
--  作者:有点甜
--  发布时间:2014/7/13 11:11:00
--  

If Forms("入库窗口").Controls("TextBox1").Text > ""  Then

    \'要执行的代码

End If


--  作者:xokxiao
--  发布时间:2014/7/13 11:16:00
--  

  \'要执行的代码

Return
\'返回

[此贴子已经被作者于2014-7-13 11:16:03编辑过]

--  作者:有点甜
--  发布时间:2014/7/13 11:17:00
--  
 return就是返回啊,你遇到什么问题?
--  作者:xokxiao
--  发布时间:2014/7/13 11:23:00
--  
以下是引用有点甜在2014-7-13 11:17:00的发言:
 return就是返回啊,你遇到什么问题?

这个问题自己找到TextBox1误改TextBox5

新的问题就出来TextBox1要反复按下材AddNew增加行

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.table


--  作者:有点甜
--  发布时间:2014/7/13 11:26:00
--  
 完全不懂你的意思,你想什么时候,执行这段代码啊
--  作者:xokxiao
--  发布时间:2014/7/13 11:41:00
--  
以下是引用有点甜在2014-7-13 11:26:00的发言:
 完全不懂你的意思,你想什么时候,执行这段代码啊


图片点击可在新窗口打开查看此主题相关图片如下:未命名.jpg
图片点击可在新窗口打开查看

--  作者:有点甜
--  发布时间:2014/7/13 11:43:00
--  

 代码写到keydown事件

 

If e.KeyCode = Keys.Enter Then
   
    Dim Filter As String
   
    With e.Form.Controls("TextBox1")
               
        If .text IsNot Nothing Then
           
            Filter &= "助记码= \'" & .text & "\'"
           
            Filter &= " or 条形码= \'" & .text & "\'"
           
            Filter &= " or 商品名= \'" & .text & "\'"
           
            Filter &= " or 自编码= \'" & .text & "\'"
           
            Filter &= " or 商品号= \'" & .text & "\'"
           
           
           
        End If
       
    End With
   
    If Filter > "" Then
       
        Tables("商品资料表").Filter = Filter
       
    Else
       
        Tables("商品资料表").Filter = ""
       
    End If
   
    e.cancel = True
    Dim r As Row = Tables("商品资料表").Current

If r Is Nothing Then
   
    msgbox("没有该商品")
   
Else
   
    If Forms("入库窗口").Controls("TextBox1").Text ="" Then
        Return
\'返回
    Else
       
        Dim ndr As DataRow = DataTables("商品入库表").AddNew
       
        ndr("商品号") = r("商品号")
       
        ndr("商品名") = r("商品名")
       
        ndr("条形码") = r("助记码")
       
        ndr("助记码") = r("助记码")
       
        ndr("自编码") = r("自编码")
       
        ndr("规格") = r("规格")
       
        ndr("单位") = r("单位")
       
        ndr("生产单位") = r("生产单位")
       
        ndr("单位") = r("单位")
       
        ndr("批文") = r("批文")
       
        ndr("入库号") = e.Form.Controls("TextBox2").text
       
        ndr("数量") = e.Form.Controls("TextBox3").text
       
        ndr("单价") = e.Form.Controls("TextBox4").text
       
        ndr("入库金额") = e.Form.Controls("TextBox5").text
       
        ndr("入库日期") = e.Form.Controls("DateTimePicker1").Value
    End If
End If
End If