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


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

主题:[求助]

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


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

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

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

 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | 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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | 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

 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | 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) & "'"

 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | 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的发言:

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

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

 


不空谈,项目,数据。

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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/24 11:50: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 dt.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-24 15:02:34编辑过]

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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/24 15:03: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 dt.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

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


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

 原本代码就是可以的,如果你注意一下dt和dt1的话。

 回到顶部