以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 表A部分数据转到表B的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=28827) |
||||
-- 作者:aygp -- 发布时间:2013/2/20 1:23:00 -- 表A部分数据转到表B的问题 表A部分数据转到表B的问题 有一“学生基本信息”表,此表中学生信息不可重复。有一“奖助表”,此表中学生信息可以多次重复,因为某一名学生在校期间可以多次获得奖学金。我在项目中建了一个“奖助学金评定”窗体,在“学生基本信息”表中筛选了4条数据,想通过“批量转换”按钮将筛选出的4条数据复制到“奖助表”中对应的列中。请问“批量转换”按钮的代码如何写?见附件
|
||||
-- 作者:小猪鑫鑫 -- 发布时间:2013/2/20 8:41:00 -- 楼主:您的数据源好像没有上传上来,没法打开您的数据库啊! |
||||
-- 作者:lsy -- 发布时间:2013/2/20 8:51:00 -- Dim nma() As String = {"A1","A2","A3"} \'学生基本信息表数据来源列
如果是所有列都复制,代码如下:
|
||||
-- 作者:lin_hailun -- 发布时间: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 -- 发布时间:2013/2/20 9:41:00 -- 不好意思,疏忽了。3楼的代码出现问题,请帮忙改一下:
此主题相关图片如下:截图00.jpg |
||||
-- 作者:lin_hailun -- 发布时间: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 -- 发布时间: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 -- 发布时间:2013/2/20 9:49:00 -- 林老师的代码通过。谢谢! |
||||
-- 作者:aygp -- 发布时间:2013/2/20 10:50:00 -- 现在对 "管理项目1"进行了修改,增加了一个“录入窗体”,在“学生基本信息”表中筛选的若干条数据是在同一个年月获得同一个等级的助学金,因此想把同一个年月、同一个等级的助学金信息填入到“录入窗体”中,点击确认按钮后,就一次把相关数据都批量填入到“奖助表”的对应列中。请问以下林老师的“确认”按钮的代码应该如何修改?"管理项目2"见附件 Dim f As New Filler
|
||||
-- 作者:lin_hailun -- 发布时间: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 |