Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

如何进行数据更新

闲人  发表于:2013-05-04 21:06:28  
复制

你好:老师

我有2个表, 假设为表1和表2

 表1包含“产品图号”“工序名称”和“入库总数”字段

 表2也包含“产品图号”“工序名称”和“入库总数”字段

如果表1中的“产品图号”中 包含表2中的“产品图号”,就用表2中的“入库总数”去更新表1中的“入库总数”

如果表1中的“产品图号”中 不包含表2中的“产品图号”,就将表2“产品图号”“工序名称”和“入库总数”追加到表1中

我按照如下代码无法实现, 请老师指点

Dim rst1 As DAO.Recordset
Dim rst2 As DAO.Recordset
Dim str1 As String
Dim str2 As String

Set rst1 = CurrentDb.OpenRecordset("半成品汇总表")
Set rst2 = CurrentDb.OpenRecordset("半成品入库总数汇总表")
str1 = rst1![零件图号]
str2 = rst2![产品图号]
If str1 = str2 Then

DoCmd.RunSQL "update 半成品汇总表 inner join 半成品入库总数汇总表 on 半成品汇总表.零件图号 = 半成品入库总数汇总表.产品图号 set 半成品汇总表.本期入库总数 = 半成品入库总数汇总表.入库总数 where 半成品汇总表.零件图号 = 半成品入库总数汇总表.产品图号 and 半成品汇总表.工序名称 = 半成品入库总数汇总表.工序名称"

Else
DoCmd.RunSQL "insert into 半成品汇总表(零件图号,工序名称,本期入库总数) select 半成品入库总数汇总表.产品图号,半成品入库总数汇总表.工序名称,半成品入库总数汇总表.入库总数 from 半成品入库总数汇总表"
End If

 

 

Top
煮江品茶 发表于:2013-05-05 08:38:31
瞎折腾。既然是全部取表2的数据,那不就是删除表1的记录,追加表2到表1中嘛。

煮江品茶 发表于:2013-05-05 08:45:35
dim ssql as string
ssql="delete * from 表1 where 零件图号 in (select 产品图号 from 表2)"
currentdb.execute ssql
ssql="insert into 表1 (零件图号,工序名称,本期入库总数) "
ssql=ssql & "select 产品图号,工序名称,入库总数 from 表2"
currentdb.execute ssql

闲人 发表于:2013-05-05 13:41:09

你没有理解我的意思

如果表1中含有表2中的“零件图号”时, 更新表1中的的“本期入库总数”,如果表1中不含有表2中的“零件图号”时,在表1中追加表2 中的数据



黎红军 发表于:2013-05-06 20:24:06
你差一个循环记录,你的要求是需要针对表2中的记录来对查找表1中是否有相应的记录,如果有则更新表1中相应的值,如果无则把该行记录追加到表1中。

殷小宝 发表于:2013-05-06 21:13:10

rst1.movelast

rst1.movefirst

rst2.movelast

rst2.movefirst

for i=1 to rst2.recordcount

   for j=1 to rst1.recordcount

   if rst2("产品图号")=rst1("产品图号")

  currentdb.execute "update 表1  set 入库总数 = 表2.入库总数"

  exit for

  end if

 next

currentdb.execute"insert into 表1 (零件图号,工序名称,入库总数) select 产品图号,工序名称,入库总数 from 表2"
next



闲人 发表于:2013-05-11 11:03:33

很抱歉老师

按照你的方法也做不出来, 好像记录定位不到



总记录:6篇  页次:1/1 9 1 :