Foxtable(狐表)用户栏目专家坐堂 → [求助]SQLtable重复数据删除&数据填充


  共有9349人关注过本帖树形打印复制链接

主题:[求助]SQLtable重复数据删除&数据填充

帅哥哟,离线,有人找我吗?
lin_hailun
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/9/27 11:41:00 [只看该作者]

以下是引用lxhmax在2012-9-27 11:04:00的发言:
太感谢你了~

麻烦你再帮我看个问题,在中间按钮栏哪里有个“添加项目”,当样品信息表”检测项目“列有”农残21项检测“的时候,按照道理是根据检测项目表里的”加载明细项目“在检测项目结果表生成21条数据,可是现在却只能生成一条数据,麻烦你帮我看看是哪里出问题了!

呵呵,楼主,看了很久,还是未明白你要表达的,还有你想达到的。

因为逻辑较为复杂,楼主最好基于例子说明问题。还有就是最好截图。

我比较蠢。

 回到顶部
帅哥哟,离线,有人找我吗?
lxhmax
  12楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:621 积分:5549 威望:0 精华:0 注册:2012/8/2 19:04:00
  发帖心情 Post By:2012/9/27 12:07:00 [只看该作者]

以下是引用lin_hailun在2012-9-27 11:41:00的发言:

呵呵,楼主,看了很久,还是未明白你要表达的,还有你想达到的。

因为逻辑较为复杂,楼主最好基于例子说明问题。还有就是最好截图。

我比较蠢。
其实就是跟据一条信息拆分数据~
你这么说我可就得找洞钻啦,是我的表述不够清楚,麻烦你了~谢谢啦!
图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看
图片点击可在新窗口打开查看此主题相关图片如下:2.jpg
图片点击可在新窗口打开查看

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


 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/9/27 14:21:00 [只看该作者]

 是这句代码写错了

dr = DataTables("检测项目结果").Find("样品编号 = '" & Ary(0) & "' and 加载明细项目 = '" & Values(i) & "'")

 换成

dr = DataTables("检测项目结果").Find("样品编号 = '" & Ary(0) & "' and 加载明细项目 = '" & Values(i) & "' And 检测项目 = '" & Ary1(0) & "'")

 回到顶部
帅哥哟,离线,有人找我吗?
lxhmax
  14楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:621 积分:5549 威望:0 精华:0 注册:2012/8/2 19:04:00
  发帖心情 Post By:2012/9/27 15:58:00 [只看该作者]

 
以下是引用lin_hailun在2012-9-27 10:50:00的发言:
 嗯嗯,欠考虑,下面是最后的代码

Forms("检测流程流转记录表").open()
Dim bh As String = e.Form.Controls("TextBox12").Text
Dim t As Table = Tables("检测流程流转记录表_Table1")
t.Fill("select * from {检测流程流转记录表} where 委托编号 = '" & bh & "' order by 样品编号, 检测依据","FQTlxh", True)
t.SetColVisibleWidth("样品编号|70|样品名称|70|样品数量|60|检测项目|220|检测依据|150|检测部门|60|制表人|60|制表时间|70|发表时间|70|要求完成时间|70")
t.AllowEdit = True

Dim merge As String = ""
For i As Integer = 1 To t.Rows.Count - 1
    merge = merge & "," & t.Rows(i)("检测项目")
    t.Rows(i)("检测项目") = Nothing
    If t.Rows(i-1)("样品编号") <> t.Rows(i)("样品编号") OrElse t.Rows(i-1)("检测依据") <> t.Rows(i)("检测依据") Then
        merge = merge.Trim(",")
        t.Rows(i-1)("检测项目") = merge
        merge = ""
    End If
Next
merge = merge.Trim(",")
t.Rows(t.Rows.Count - 1)("检测项目") = merge

t.Filter = "检测项目 is not null"
hailun~这段代码还是有点问题,就是实现的结果是,检测项目跟检测依据错了一行的位置,就是第一行的检测项目对应到了第二行的检测依据,第二行的对应到了第三行~麻烦你再看看~谢谢啦!

 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/9/27 16:12:00 [只看该作者]

这个应该行了吧。

Forms("检测流程流转记录表").open()
Dim bh As String = e.Form.Controls("TextBox12").Text
Dim t As Table = Tables("检测流程流转记录表_Table1")
t.Fill("select * from {检测流程流转记录表} where 委托编号 = '" & bh & "' order by 样品编号, 检测依据","FQTlxh", True)
t.SetColVisibleWidth("样品编号|70|样品名称|70|样品数量|60|检测项目|220|检测依据|150|检测部门|60|制表人|60|制表时间|70|发表时间|70|要求完成时间|70")
t.AllowEdit = True

Dim merge As String = t.Rows(0)("检测项目")
t.Rows(0)("检测项目") = Nothing
For i As Integer = 1 To t.Rows.Count - 1
    If t.Rows(i-1)("样品编号") <> t.Rows(i)("样品编号") OrElse t.Rows(i-1)("检测依据") <> t.Rows(i)("检测依据") Then
        merge = merge.Trim(",")
        t.Rows(i-1)("检测项目") = merge
        merge = ""
    End If
    merge = merge & "," & t.Rows(i)("检测项目")
    t.Rows(i)("检测项目") = Nothing
Next
merge = merge.Trim(",")
t.Rows(t.Rows.Count - 1)("检测项目") = merge

t.Filter = "检测项目 is not null"
[此贴子已经被作者于2012-9-27 16:15:17编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
lxhmax
  16楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:621 积分:5549 威望:0 精华:0 注册:2012/8/2 19:04:00
  发帖心情 Post By:2012/9/27 16:18:00 [只看该作者]

成了~哈哈~非常感谢

 回到顶部
总数 16 上一页 1 2