VB,我想在一个窗体内读取一个access多个表中内容进行相互运算,帮忙!!

2025-01-07 16:33:37
推荐回答(1个)
回答1:

VB的数据库编程,看你的Access是本机还是放在远程计算机上的:
如果是本机:使用Data控件,如果是远程:使用Daodc控件。
使用方法基本一样:
一、连接数据库
0、Data1.Connect 属性:设置数据库文件格式,默认为:Access 2000;
1、Data1.DatabaseName属性,设置连接数据库文件,类型为:String
2、Data1.RecordSource 属性:设置数据表或记录集,类型为:String
3、data1.Refresh:这一步不能漏,该方法刷新并返回记录集
以上0是默认的,1-3完成后,就可以操作数据了;
比如:
Data1.DatabaseName = “C:\MyData\数据库.MDB”
Data1.RecordSource = "商品数据表"
Data1.Refresh
Data1.Recordset.MoveFirst ‘ 移动到第1条记录
Data1.Recordset.MoveLast ‘ 移动到最后1条记录
Data1.Recordset.MoveNext ‘ 移动到下1条记录
Data1.Recordset.MovePrevious ‘ 移动到前1条记录
二、对数据进行运算
下面是你说的相互运算:
假设数据表里有字段“商品单价”,“商品总数”
dim ZongJia As Single
ZongJia = Data1.Recordset.Fields("商品单价") * Data1.Recordset.Fields("商品总数")
这是对同一个数据库中的同一个表的同一条记录进行运算,也可以对不同表中的记录进行:
可以多添加几个Data控件,这要看你的具体情况:
例如:
Y = Data1.Recordset.Fields("字段1") + Data2.Recordset.Fields("字段2")
三、修改数据:
比如,要把计算结果,填入数据库(就用刚才总价为例)
Data1.Recordset.Edit
Data1.Recordset.Fields("总价") = ZongJia
Data1.Recordset.Update
当然可以直接:
Data1.Recordset.Edit
Data1.Recordset.Fields("总价") = Data1.Recordset.Fields("商品单价") * Data1.Recordset.Fields("商品总数")
Data1.Recordset.Update
四、删除一条记录:
先使用移动命令,移到要删除的那条记录:用:
Data1.Recordset.Delete
五、添加一条记录(只能加在最后位置,而且是空白的记录,可以用三的方法添入数据)
Data1.Recordset.AddNew
就这样了,只能介绍到这里了,希望对你有帮助!