Foxtable(狐表)用户栏目专家坐堂 → 表A部分数据转到表B的问题


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

主题:表A部分数据转到表B的问题

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


加好友 发短信
等级:三尾狐 帖子:693 积分:5206 威望:0 精华:0 注册:2011/3/15 12:34:00
表A部分数据转到表B的问题  发帖心情 Post By:2013/2/20 1:23:00 [只看该作者]

表A部分数据转到表B的问题

有一“学生基本信息”表,此表中学生信息不可重复。有一“奖助表”,此表中学生信息可以多次重复,因为某一名学生在校期间可以多次获得奖学金。我在项目中建了一个“奖助学金评定”窗体,在“学生基本信息”表中筛选了4条数据,想通过“批量转换”按钮将筛选出的4条数据复制到“奖助表”中对应的列中。请问“批量转换”按钮的代码如何写?见附件

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.rar


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


加好友 发短信
等级:四尾狐 帖子:832 积分:5867 威望:0 精华:6 注册:2011/5/27 11:41:00
  发帖心情 Post By:2013/2/20 8:41:00 [只看该作者]

楼主:您的数据源好像没有上传上来,没法打开您的数据库啊!

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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2013/2/20 8:51:00 [只看该作者]

Dim nma() As String = {"A1","A2","A3"}  '学生基本信息表数据来源列
Dim nmb() As String = {"B1","B2","B3"}  '奖助表数据接收列
Dim dr As DataRow = DataTables("奖助表").AddNew
For i As Integer = 0 To nma.Length - 1
    dr(nmb(i)) =  DataTables("学生基本信息").DataRow(nma(i))   
Next

 

如果是所有列都复制,代码如下:


Dim dr As DataRow = DataTables("奖助表").AddNew
For Each dc As DataCol In DataTables("奖助表").DataCols
    dr(dc.Name) = DataTables("学生基本信息").DataRow(dc.Name)
Next


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


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

 楼主你的数据表打不开。

可以用3楼的代码,或者考虑用数据填充器。

Dim f As New Filler
f.SourceTable = DataTables("订单") '指定数据来源
f.SourceCols = "产品,客户" '指定数据来源列
f.Filter = Tables("订单").Filter
f.DataTable = DataTables("统计") '指定数据接收表
f.DataCols = "产品,客户" '指定数据接收列
f.Fill() '填充数据

http://www.foxtable.com/help/topics/0680.htm

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


加好友 发短信
等级:三尾狐 帖子:693 积分:5206 威望:0 精华:0 注册:2011/3/15 12:34:00
  发帖心情 Post By:2013/2/20 9:41:00 [只看该作者]

不好意思,疏忽了。3楼的代码出现问题,请帮忙改一下:

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:用户.rar


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

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


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

 代码这样改。

Dim nma() As String = {"A1","A2","A3"}  '学生基本信息表数据来源列
Dim nmb() As String = {"B1","B2","B3"}  '奖助表数据接收列
For Each r As Row In Tables("学生基本信息").rows
    Dim dr As DataRow = DataTables("奖助表").AddNew
    For i As Integer = 0 To nma.Length - 1
        dr(nmb(i)) =  r(nma(i))
    Next
Nex


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


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

 或者这样改。

Dim f As New Filler
f.SourceTable = DataTables("学生基本信息") '指定数据来源
f.SourceCols = "A1,A2,A3" '指定数据来源列
f.Filter = Tables("学生基本信息").Filter
f.DataTable = DataTables("奖助表") '指定数据接收表
f.DataCols = "B1,B2,B3" '指定数据接收列
f.Fill() '填充数据

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


加好友 发短信
等级:三尾狐 帖子:693 积分:5206 威望:0 精华:0 注册:2011/3/15 12:34:00
  发帖心情 Post By:2013/2/20 9:49:00 [只看该作者]

林老师的代码通过。谢谢!

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


加好友 发短信
等级:三尾狐 帖子:693 积分:5206 威望:0 精华:0 注册:2011/3/15 12:34:00
  发帖心情 Post By:2013/2/20 10:50:00 [只看该作者]

现在对 "管理项目1"进行了修改,增加了一个“录入窗体”,在“学生基本信息”表中筛选的若干条数据是在同一个年月获得同一个等级的助学金,因此想把同一个年月、同一个等级的助学金信息填入到“录入窗体”中,点击确认按钮后,就一次把相关数据都批量填入到“奖助表”的对应列中。请问以下林老师的“确认”按钮的代码应该如何修改?"管理项目2"见附件

Dim f As New Filler
f.SourceTable = DataTables("学生基本信息") '指定数据来源
f.SourceCols = "系部,年级,班级,姓名,贫困生,辅导员" '指定数据来源列
f.Filter = Tables("学生基本信息").Filter
f.DataTable = DataTables("奖助表") '指定数据接收表
f.DataCols = "系部,年级,班级,姓名,贫困生,辅导员" '指定数据接收列
f.Fill() '填充数据

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:相关管理项目2.rar


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


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

 看看是否这样?

Dim d As WinForm.DateTimePicker = e.Form.Controls("DateTimePicker1")
Dim l As WinForm.TextBox = e.Form.Controls("TextBox1")
Dim m As WinForm.TextBox = e.Form.Controls("TextBox2")

Dim nma() As String = {"院系","年级","班级","专业","姓名","贫困生","辅导员"}  '学生基本信息表数据来源列
Dim nmb() As String = {"院系","年级","班级","专业","姓名","贫困生","辅导员"}  '奖助表数据接收列
For Each r As Row In Tables("学生基本信息").rows
    Dim dr As DataRow = DataTables("奖助表").AddNew
    For i As Integer = 0 To nma.Length - 1
        dr(nmb(i)) =  r(nma(i))
    Next
    dr("奖助年月") = d.Value
    dr("奖助等级") = l.Text
    dr("奖助金额") = m.Text
Next

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