Foxtable(狐表)用户栏目专家坐堂 → [求助]


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

主题:[求助]

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


加好友 发短信
等级:三尾狐 帖子:645 积分:4583 威望:0 精华:0 注册:2012/11/12 14:27:00
[求助]  发帖心情 Post By:2013/1/23 15:34:00 [只看该作者]

从林老师那里学习到跨表引用数据,进行了修改,加了一个防止重复引入的条件,执行时不报错,但没反应。请指教!!!

     从报名表引用数据到DataTables(""& xzb.text & ""),不加防止重复引入的条件时,执行正常。

 

Dim jsmc As WinForm.ComboBox = e.Form.Controls("竞赛名称")
Dim xzb As WinForm.ComboBox = e.Form.Controls("选择表")
Dim xm As WinForm.ComboBox = e.Form.Controls("项目")
Dim dt As DataTable = DataTables(""& xzb.text & "")
Dim dt1 As DataTable = DataTables("报名表")
Dim dr,fr As DataRow
Dim Ary As String()

Dim qus As List(Of String)= dt.GetUniqueValues("", "竞赛名称")
Dim xxs As List(Of String)= dt.GetUniqueValues("", "编号")

For Each qu As String In qus
    For Each xx As String In xxs
        Dim flt As String  = "竞赛名称 = '" & qu & "'  And  编号 = '" & xx & "'"
        If dt.Find(flt) Is Nothing Then
           
            For Each Ary In dt1.GetUniqueValues("竞赛名称='" & jsmc.text & "' And 参赛项目  like '*" & xm.Text & "*'","编号","中小学","学校","姓名","场地","参赛项目","竞赛名称")
                dr = dt.AddNew
                dr("编号") = Ary(0)
                dr("中小学") = Ary(1)
                dr("学校") = Ary(2)
                dr("姓名") = Ary(3)
                dr("场地") = Ary(4)
                dr("参赛项目") = Ary(5)
                dr("竞赛名称") = Ary(6)
            Next
        End If
    Next
Next

DataTables(""& xzb.text & "").AllowEdit = False


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


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

 呃……哪有你这样的引用数据?太混乱了吧?

 你是想填充数据还是想怎样,没看懂你代码想表达写什么。

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


加好友 发短信
等级:三尾狐 帖子:645 积分:4583 威望:0 精华:0 注册:2012/11/12 14:27:00
  发帖心情 Post By:2013/1/23 16:59:00 [只看该作者]

这是从您那里学习的引用语句,执行正常,现在想加入一个防止重复引用的条件

Dim xzb As WinForm.ComboBox = e.Form.Controls("选择表")
Dim xm As WinForm.ComboBox = e.Form.Controls("项目")
Dim dt As DataTable = DataTables(""& xzb.text & "")
Dim dt1 As DataTable = DataTables("报名表")
Dim dr,fr As DataRow
Dim Ary As String()
For Each Ary In dt1.GetUniqueValues("参赛项目  like '*" & xm.Text & "*'","编号","中小学","学校","姓名","组别","场地")
    dr = dt.AddNew
    dr("编号") = Ary(0)
    dr("中小学") = Ary(1)
    dr("学校") = Ary(2)
    dr("姓名") = Ary(3)
    dr("组别") = Ary(4)
    dr("场地") = Ary(5)
Next

DataTables(""& xzb.text & "").AllowEdit = False


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


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

不清楚你的逻辑是什么不过估计这样可以。

Dim jsmc As WinForm.ComboBox = e.Form.Controls("竞赛名称")
Dim xzb As WinForm.ComboBox = e.Form.Controls("选择表")
Dim xm As WinForm.ComboBox = e.Form.Controls("项目")
Dim dt As DataTable = DataTables(""& xzb.text & "")
Dim dt1 As DataTable = DataTables("报名表")
Dim dr,fr As DataRow
Dim Ary As String()

For Each Ary In dt1.GetUniqueValues("竞赛名称='" & jsmc.text & "' And 参赛项目  like '*" & xm.Text & "*'","编号","中小学","学校","姓名","场地","参赛项目","竞赛名称")
    Dim flt As String  = "竞赛名称 = '" & ary(0) & "'  And  编号 = '" & ary(6) & "'"
    If dt1.Find(flt) Is Nothing Then    
        dr = dt.AddNew
        dr("编号") = Ary(0)
        dr("中小学") = Ary(1)
        dr("学校") = Ary(2)
        dr("姓名") = Ary(3)
        dr("场地") = Ary(4)
        dr("参赛项目") = Ary(5)
        dr("竞赛名称") = Ary(6)
    End If
Next

DataTables(""& xzb.text & "").AllowEdit = False
[此贴子已经被作者于2013-1-23 17:10:42编辑过]

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


加好友 发短信
等级:三尾狐 帖子:645 积分:4583 威望:0 精华:0 注册:2012/11/12 14:27:00
  发帖心情 Post By:2013/1/23 17:08:00 [只看该作者]

某一名学生已经被引入,下一次引入时不会再把他引入进来。

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


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

 其实我觉得你应该用这种填充吧?

Dim Cols1() As String = {"来源列一","来源列二","来源列三"}
Dim Cols2() As String = {"接收列一","接收列二","接收列三"}
For Each dr1 As DataRow In DataTables("表A").Select("[金额] > 100")
    Dim dr2 As DataRow = DataTables("表B").AddNew()
    For i As Integer = 0 To Cols1.Length -1
        dr2(Cols2(i)) = dr1(Cols1(i))
    Next
Next

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


加好友 发短信
等级:三尾狐 帖子:645 积分:4583 威望:0 精华:0 注册:2012/11/12 14:27:00
  发帖心情 Post By:2013/1/24 10:34:00 [只看该作者]

经过测试,还是可以重复引用。再想想办法,拜托了!

你说的填充方案我学习了,感觉不适用我的方案。

 

[此贴子已经被作者于2013-1-24 10:37:56编辑过]

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


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

以下是引用wsxdwh在2013-1-24 10:34:00的发言:

经过测试,还是可以重复引用。再想想办法,拜托了!

你说的填充方案我学习了,感觉不适用我的方案。

 

[此贴子已经被作者于2013-1-24 10:37:56编辑过]


楼主,你要进步啊,变通一下啊。好吧?

Dim flt As String  = "竞赛名称 = '" & ary(6) & "'  And  编号 = '" & ary(0) & "'"

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


加好友 发短信
等级:三尾狐 帖子:645 积分:4583 威望:0 精华:0 注册:2012/11/12 14:27:00
  发帖心情 Post By:2013/1/24 10:58:00 [只看该作者]

哦!这我早就改过来试了,根本就不执行。

现在又试了一次,还是不执行,也没有错误提示。

 


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


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

以下是引用wsxdwh在2013-1-24 10:58:00的发言:

哦!这我早就改过来试了,根本就不执行。

现在又试了一次,还是不执行,也没有错误提示。

 


不空谈,项目,数据。

 回到顶部
总数 18 1 2 下一页