Foxtable(狐表)用户栏目专家坐堂 → [求助]多张excel合并成一张


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

主题:[求助]多张excel合并成一张

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


加好友 发短信
等级:幼狐 帖子:82 积分:816 威望:0 精华:0 注册:2016/9/30 11:31:00
[求助]多张excel合并成一张  发帖心情 Post By:2016/10/6 0:03:00 [显示全部帖子]

现在一题作业题。多张excel表合并成一张,表格如下:

 

姓名

选课

成绩

学分

备注

陈大

语文

65

2

 

刘二

数学

66

2

 

张三

英语

58

2

 

王五

化学

77

2

 

杨六

语文

64

2

 

黄七

数学

57

2

 

周八

英语

77

2

 

赵九

物理

55

1

不及格

 

 

姓名

选课

成绩

学分

备注

陈大

数学

73

2

 

刘二

物理

69

2

 

张三

英语

65

2

重修

李四

数学

45

1

不及格 

王五

英语

77

2

 

杨六

语文

64

2

 

黄七

数学

63

2

重修



合并要求:如果下一张表中,出现同名同选课,以新表数据成绩学分等为准(即覆盖原表中的一列)。

新手无从下手,请老师指点一二。谢谢
[此贴子已经被作者于2016/10/6 0:04:48编辑过]

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


加好友 发短信
等级:幼狐 帖子:82 积分:816 威望:0 精华:0 注册:2016/9/30 11:31:00
  发帖心情 Post By:2016/10/6 12:48:00 [显示全部帖子]

按照你所述,在命令窗口输入:
Dim s As Row
For Each a As Row In Tables("原表").Rows
    r=DataTables("新表").find("姓名='" & a("姓名") & "' And 选课='" & a("选课") & "'")
    If r Is Nothing Then
        s=Tables("新表").AddNew
        s("姓名")=a("姓名")
        s("选课")=a("选课")
        s("成绩")=a("成绩")
        s("学分")=a("学分")
        s("备注")=a("备注")
    Else
        
        r("成绩")=a("成绩")
        r("学分")=a("学分")
        r("备注")=a("备注")
        
    End If
    
Next


执行的时候报错了。
编译错误:“r”是private,因此他在此文上下文中不可访问。
错误代码: r=DataTables("新表").find("姓名='" & a("姓名") & "' And 选课='" & a("选课") & "'")


这个是什么问题??我重启过两次了,依然这个报错。


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


加好友 发短信
等级:幼狐 帖子:82 积分:816 威望:0 精华:0 注册:2016/9/30 11:31:00
  发帖心情 Post By:2016/10/6 13:28:00 [显示全部帖子]

老师,我只是想学好表单统计,就foxtable当成软件来操作了。

一点开就开发板块,感觉一下子要学的好多了。

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


加好友 发短信
等级:幼狐 帖子:82 积分:816 威望:0 精华:0 注册:2016/9/30 11:31:00
  发帖心情 Post By:2016/10/6 15:22:00 [显示全部帖子]

老师,谢谢你的答复。

按照二楼所述,请问可以,导入两张excel表,新建一张表,然后在杂项命令窗口编一段程序。对比两张表导入到新表中吗?

另,八楼那个编译错误,又是什么问题?

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


加好友 发短信
等级:幼狐 帖子:82 积分:816 威望:0 精华:0 注册:2016/9/30 11:31:00
  发帖心情 Post By:2016/10/6 16:24:00 [显示全部帖子]

谢谢老师。

可是要符合两个条件啊。合并要求:如果下一张表中,出现同名同选课,以新表数据成绩学分等为准(即覆盖原表中的一列)。

Dim dr As DataRow = DataTables("成绩表").Find("姓名 = '" & bh & "'")

是这句要改吗?



 回到顶部