| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3640 人关注过本帖
标题:[求助:]如何在VB中计算ACCESS数据某字段的值
只看楼主 加入收藏
xo1437404152
Rank: 1
等 级:新手上路
帖 子:17
专家分:1
注 册:2014-3-19
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:19 
[求助:]如何在VB中计算ACCESS数据某字段的值
请教各位高手,假设在数据库里有一表A,字段1,字段1有1,2,3......,我想实现2-1,3-2,4-3....依次类推,并把计算结果写入到表A里的另一个字段2中,该如何写?
搜索更多相关主题的帖子: 如何 数据库 
2014-03-31 17:48
vbvcr51
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:18
帖 子:364
专家分:1724
注 册:2013-11-3
收藏
得分:0 
简单.不知道你采用什么来连接access.控件还是adodc对象?
2014-03-31 19:25
owenlu1981
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:13
帖 子:211
专家分:1130
注 册:2013-5-17
收藏
得分:0 
没看明白需求,能否详细点?
2014-03-31 20:07
xo1437404152
Rank: 1
等 级:新手上路
帖 子:17
专家分:1
注 册:2014-3-19
收藏
得分:0 
adodc对象连接的,
我的意思就是说,计算表A中字段X一列数据,让这列数据的下一个减去上一个数据,计算结果赋给字段Y,字段X有数据:
id 字段X 字段Y
1    1     (2-1的值)
2    2     (3-2的值)
3    3     (4-3的值)
...............
要计算2-1的值写入字段Y
2014-03-31 23:44
owenlu1981
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:13
帖 子:211
专家分:1130
注 册:2013-5-17
收藏
得分:0 
最后一个数值怎么处理?
2014-04-01 08:15
xo1437404152
Rank: 1
等 级:新手上路
帖 子:17
专家分:1
注 册:2014-3-19
收藏
得分:0 
最后一个数值不变,直接放到字段2中的最后一个
2014-04-02 12:15
owenlu1981
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:13
帖 子:211
专家分:1130
注 册:2013-5-17
收藏
得分:0 
方法1:循环计算
Rs.Open "Select * from A order by [ID]",Conn,1,1
If Not Rs.EOF then
    Rs.MoveFirst
    ID = Rs.Fields("ID")
    ID_Val = Rs.Fields("字段1")
    Rs.MoveNext
    Do while not Rs.EOF
        Conn.Excute("Update A Set [字段2] = " & Rs.Fields("字段1")-ID_Val & " where [ID] = '" & ID & "'")
        ID = Rs.Fields("ID")
        ID_Val = Rs.Fields("字段1")
        Rs.MoveNext
    Loop
    Conn.Excute("Update A Set [字段2] = [字段2] where [ID] = '" & ID & "'")
EndIf
Rs.Close

方法2,:建立临时表C
Select * into C from (Select [ID],[字段1],IIF(IsNull[字段2],[字段1],[字段2]-[字段1]) as [字段2] from (Select A.[ID],A.[字段1],B.[字段1] as [字段2] from A left join A B on B.[ID]=A.[ID]+1))
删除表A, 重命名C为A
2014-04-02 12:44
xo1437404152
Rank: 1
等 级:新手上路
帖 子:17
专家分:1
注 册:2014-3-19
收藏
得分:0 
按照方法输,提示“对象不支持该属性和方法或方法”
2014-04-02 13:20
owenlu1981
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:13
帖 子:211
专家分:1130
注 册:2013-5-17
收藏
得分:20 
出错行是?
要先引用ADO 并定义 Dim Conn As New ADODB.Connection, Rs As New ADODB.Recordset

Private sub Command1_Click
RsMain.CursorLocation = adUseClient
Rs.Open "Select * from A order by [ID]",Conn,1,1
If Not Rs.EOF then
    Rs.MoveFirst
    ID = Rs.Fields("ID")
    ID_Val = Rs.Fields("字段1")
    Rs.MoveNext
    Do while not Rs.EOF
        Conn.Excute("Update A Set [字段2] = " & Rs.Fields("字段1")-ID_Val & " where [ID] = '" & ID & "'")
        ID = Rs.Fields("ID")
        ID_Val = Rs.Fields("字段1")
        Rs.MoveNext
    Loop
    Conn.Excute("Update A Set [字段2] = [字段2] where [ID] = '" & ID & "'")
EndIf
Rs.Close
End sub
收到的鲜花
  • xo14374041522014-04-02 23:27 送鲜花  3朵   附言:谢谢对我的问题的解答!
  • xo14374041522014-04-02 23:28 送鲜花  2朵   附言:非常感谢!
2014-04-02 14:13
xo1437404152
Rank: 1
等 级:新手上路
帖 子:17
专家分:1
注 册:2014-3-19
收藏
得分:0 
出错行是: Conn.Excute("Update A Set [字段2] = " & Rs.Fields("字段1")-ID_Val & " where [ID] = '" & ID & "'")
RsMain.CursorLocation = adUseClient‘这行是什么意思?
2014-04-02 14:40
快速回复:[求助:]如何在VB中计算ACCESS数据某字段的值
数据加载中...
 
   



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

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