| 网站首页 | 业界新闻 | 小组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 232 人关注过本帖
标题:导入EXCEL到数据表然后根据ID号批量循环运算到另一个表啊
只看楼主 加入收藏
pxinfo
Rank: 1
等 级:新手上路
帖 子:11
专家分:5
注 册:2019-6-30
结帖率:0
  问题点数:0  回复次数:7   
导入EXCEL到数据表然后根据ID号批量循环运算到另一个表啊
有两个表,表a , ID、姓名、收入金额、时间 表b,ID、姓名、余额,将Excel的数据导入表a后怎么根据ID号和姓名对表b的余额进行计算啊?代码怎么写啊?
搜索更多相关主题的帖子: 导入  EXCEL  循环  运算  姓名  
2019-06-30 22:40
wufuzhang
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:广州
等 级:版主
威 望:8
帖 子:132
专家分:763
注 册:2017-8-9
  得分:0 
1、你的数据表是什么控件?
2、余额计算公式是什么?
你问题描述的太简单了!

不经历千百遍的调试,怎能体会成功时那一刹那的喜悦。
2019-06-30 22:50
pxinfo
Rank: 1
等 级:新手上路
帖 子:11
专家分:5
注 册:2019-6-30
  得分:0 
这位老师,控件是Adodc、DataGrid,access数据库,公式是 余额=收入金额+余额
2019-06-30 22:59
pxinfo
Rank: 1
等 级:新手上路
帖 子:11
专家分:5
注 册:2019-6-30
  得分:0 
我是希望可以循环批量的进行运算,同时将很多个ID的收入金额加到表b
2019-06-30 23:00
pxinfo
Rank: 1
等 级:新手上路
帖 子:11
专家分:5
注 册:2019-6-30
  得分:0 
我是这么错误的写的
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=123456;Data Source=" + App.Path + "\123.mdb;"
    Adodc1.RecordSource = "Select ID AS ID ,姓名 AS 姓名,收入金额 AS 收入金额From 月收入表 "
    Adodc1.Refresh
     Set DataGrid1.DataSource = Adodc1
Adodc2.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=123456;Data Source=" + App.Path + "\123.mdb;"
    Adodc2.RecordSource = "Select ID AS ID ,姓名 AS 姓名,余额 AS 余额 From 余额表"
  Adodc2.Refresh
   With Adodc1.Recordset
 If Adodc1.Recordset.Fields("ID") = Adodc2.Recordset.Fields("ID") Then
    Do While Not Adodc1.Recordset.EOF
    .Fields("余额") = .Fields("余额") + Adodc1.Recordset.Fields("收入金额")
     
                  .Update
      Adodc1.Recordset.MoveNext
              Loop
     End If
     
 End With
    Set DataGrid2.DataSource = Adodc2
End Sub
2019-06-30 23:06
wufuzhang
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:广州
等 级:版主
威 望:8
帖 子:132
专家分:763
注 册:2017-8-9
  得分:0 
表a中记录条数=Adodc1.Recordset.RecordCount
用For循环,判断表a的ID是否与表b的相等(ID应该是唯一的)
相等的话,就提取a中的收入金额,和b中的余额,相加赋给
b中的余额;
不相等的话,就在b中最后面新增一行,把相应的信息加入进去。

不经历千百遍的调试,怎能体会成功时那一刹那的喜悦。
2019-06-30 23:40
wufuzhang
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:广州
等 级:版主
威 望:8
帖 子:132
专家分:763
注 册:2017-8-9
  得分:0 
With Adodc1.Recordset
  Do While Not Adodc1.Recordset.EOF
     Adodc2.Recordset.MoveFirst
     Do While Not Adodc2.Recordset.EOF
        If Adodc1.Recordset.Fields("ID") = Adodc2.Recordset.Fields("ID") Then
           Adodc2.Recordset.Fields("余额") = Adodc2.Recordset.Fields("余额") + Adodc1.Recordset.Fields("收入金额")
           .Update
        Else
           Adodc2.Recordset.MoveLast
           Adodc2.Recordset.AddNew
           Adodc2.Recordset.Fields("余额") = Adodc1.Recordset.Fields("收入金额")
        End If
        Adodc2.Recordset.MoveNext
     Loop
     Adodc1.Recordset.MoveNext
  Loop
End With

不经历千百遍的调试,怎能体会成功时那一刹那的喜悦。
2019-07-01 00:09
pxinfo
Rank: 1
等 级:新手上路
帖 子:11
专家分:5
注 册:2019-6-30
  得分:0 
老师,提示在对应所需名称或序数的集合中,未找到项目
  Adodc2.Recordset.Fields("余额") = Adodc2.Recordset.Fields("余额") + Adodc1.Recordset.Fields("收入金额")但是将Adodc1.Recordset.Fields("收入金额")改成Adodc1.Recordset.Fields(2)后可以运行了,不过个别ID加不上谢谢老师
2019-07-02 21:18







关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.037987 second(s), 8 queries.
Copyright©2004-2019, BCCN.NET, All Rights Reserved