以文本方式查看主题 - 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、添加完后删除“板件名称”和“板件型号”列中内容同时为“”的行。 [此贴子已经被作者于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 |
-- 作者: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楼,因为你 设备板件列表 里存在对应的相同数据的行。 |