以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助] 自动增加多行数据  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=53746)

--  作者:wumingrong1
--  发布时间:2014/7/14 19:43:00
--  [求助] 自动增加多行数据
如下图所示:我希望当点击  “保存”按钮时:1、首先检测   “表A”  中是否有存在相同内容行、如果有就不增加该行;2、如果没有就新增三行;3、每行都填入“设备”中的3个内容、而“板件”中的3对内容则按每行进行填入。4、添加完后删除“板件名称”和“板件型号”列中内容同时为“”的行。


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


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

[此贴子已经被作者于2014-7-14 19:51:03编辑过]

--  作者:有点甜
--  发布时间:2014/7/14 19:46:00
--  
 什么意思?执行多次增加一行的代码即可。
--  作者:wumingrong1
--  发布时间:2014/7/14 20:07:00
--  
你能写一个给我参考吗?
--  作者:有点甜
--  发布时间:2014/7/14 20:11:00
--  

 

[此贴子已经被作者于2014-7-14 20:10:53编辑过]

--  作者:有点甜
--  发布时间:2014/7/14 20:16:00
--  

代码

Dim t1 As String = e.Form.Controls("TextBox1").Text
Dim t2 As String = e.Form.Controls("TextBox2").Text
Dim t3 As String = e.Form.Controls("TextBox3").Text
Dim t4 As String = e.Form.Controls("TextBox4").Text
Dim t5 As String = e.Form.Controls("TextBox5").Text
Dim t6 As String = e.Form.Controls("TextBox6").Text
Dim t7 As String = e.Form.Controls("TextBox7").Text
Dim t8 As String = e.Form.Controls("TextBox8").Text
Dim c1 As String = e.Form.Controls("ComboBox1").Text
Dim ndr As DataRow = DataTables("表A").Find("第一列 = \'" & c1 & "\' and 第二列 = \'" & t1 & "\' and 第三列 = \'" & t2 & "\'")
If ndr IsNot Nothing Then
    If t2 > "" Then
        ndr = DataTables("表A").AddNew
        ndr("第一列") = c1
        ndr("第二列") = t1
        ndr("第三列") = t2
        ndr("第四列") = t3
        ndr("第五列") = t4
    End If
    If t5 > "" Then
        ndr = DataTables("表A").AddNew
        ndr("第一列") = c1
        ndr("第二列") = t1
        ndr("第三列") = t2
        ndr("第四列") = t5
        ndr("第五列") = t6
    End If
    If t7 > "" Then
        ndr = DataTables("表A").AddNew
        ndr("第一列") = c1
        ndr("第二列") = t1
        ndr("第三列") = t2
        ndr("第四列") = t7
        ndr("第五列") = t8
    End If
End If


--  作者:wumingrong1
--  发布时间:2014/7/15 8:47:00
--  
\'If ndr IsNot Nothing Then

这条命令是什么意思?加上这条命令的话就无论如何都增加不了行

--  作者:Bin
--  发布时间:2014/7/15 8:49:00
--  
判断是否找到 NDR这一行  不增加行 说明一直找到.
--  作者:有点甜
--  发布时间:2014/7/15 9:07:00
--  
以下是引用wumingrong1在2014-7-15 8:47:00的发言:
\'If ndr IsNot Nothing Then

这条命令是什么意思?加上这条命令的话就无论如何都增加不了行

 

取决于你设置的条件

 

Dim ndr As DataRow = DataTables("表A").Find("第一列 = \'" & c1 & "\' and 第二列 = \'" & t1 & "\' and 第三列 = \'" & t2 & "\'")


--  作者:wumingrong1
--  发布时间:2014/7/15 9:50:00
--  
但是我敢百分比确保  表A  中绝对没有和我录入内容相同的行;但就是还是没有新增到行;不使用它就可以

Dim c1 As String = e.Form.Controls("ComboBox1").Text
Dim t51 As String = e.Form.Controls("TextBox51").Text
Dim t52 As String = e.Form.Controls("TextBox52").Text
Dim t1 As String = e.Form.Controls("TextBox1").Text
Dim t2 As String = e.Form.Controls("TextBox2").Text

Dim ndr As DataRow = DataTables("设备板件列表").Find("设备厂家 = \'" & c1 & "\' and 设备名称 = \'" & t51 & "\' and 设备型号 = \'" & t52 & "\'and 板件名称 = \'" & t1 & "\'and 板件型号 = \'" & t2 & "\'")
If ndr IsNot Nothing Then
   If t1 > "" And t2 > "" Then
        ndr = DataTables("设备板件列表").AddNew()
        ndr("设备厂家") = c1
        ndr("设备名称") = t51
        ndr("设备型号") = t52
        ndr("板件名称") = t1
        ndr("板件型号") = t2
    End If
    
End If

以上这样就怎么也新增不了行;下面这样就可以

Dim c1 As String = e.Form.Controls("ComboBox1").Text
Dim t51 As String = e.Form.Controls("TextBox51").Text
Dim t52 As String = e.Form.Controls("TextBox52").Text
Dim t1 As String = e.Form.Controls("TextBox1").Text
Dim t2 As String = e.Form.Controls("TextBox2").Text

Dim ndr As DataRow = DataTables("设备板件列表").Find("设备厂家 = \'" & c1 & "\' and 设备名称 = \'" & t51 & "\' and 设备型号 = \'" & t52 & "\'and 板件名称 = \'" & t1 & "\'and 板件型号 = \'" & t2 & "\'")
\'If ndr IsNot Nothing Then
   If t1 > "" And t2 > "" Then
        ndr = DataTables("设备板件列表").AddNew()
        ndr("设备厂家") = c1
        ndr("设备名称") = t51
        ndr("设备型号") = t52
        ndr("板件名称") = t1
        ndr("板件型号") = t2
    End If
    
\'End If

--  作者:有点甜
--  发布时间:2014/7/15 9:52:00
--  
 回复9楼,因为你 设备板件列表 里存在对应的相同数据的行。