|
楼主 |
发表于 2014-2-27 13:10
|
显示全部楼层
zhaogang1960 发表于 2014-2-27 12:05
请看附件
我表示我太天真了。。。。以为简单改几个数字就搞定了。。。。。
其实我要2个update,第一个你已经帮我搞定了,第二个也很类似
rt,access中的表和excel的格式几乎一样
access的表的字段:ID 日期 类型 型号 产线 工序号 移入 移出 经办人 状态
excel中的字段: 日期 类型 型号 产线 工序号 移入 移出 经办人 状态
就出了id(自动编号之外全一样,我现在想将同中种类,同型号的数据更新,供应商,联系方式,库存,安全库存等信息)
ps:假定excel中的型号,种类100%在access中也有记录)
这里只要修改状态就可以了。。。。。。(其他条件作为判断是哪一条数据的依据)
我照你的修改成
Sub pass()
Dim cnn As Object
Set cnn = CreateObject("adodb.connection")
Dim s$, Arr, i%, SQL$
cnn.Open "Provider=Microsoft.Ace.OLEDB.12.0;Data Source=" & ThisWorkbook.Path & "\数据库.accdb"
Arr = Range("A1").CurrentRegion
For i = 3 To UBound(Arr, 2)
s = s & ",a." & Arr(1, i) & "=b." & Arr(1, i)
Next
SQL = "update 记录 a,[Excel 12.0;imex=0;Database=" & ThisWorkbook.FullName & ";].[" & ActiveSheet.Name & "$" _
& Range("a1").CurrentRegion.Address(0, 0) & "] b set " & Mid(s, 2) & " where a.类型=b.类型 and a.型号=b.型号and a.日期=b.日期 and a.产线=b.产线 and a.工序=b.工序"
cnn.Execute SQL
MsgBox "修改完毕。"
cnn.Close
Set cnn = Nothing
End Sub
直接悲剧的,报错了。。。。。求赵老师看看,该怎么改。。。。
|
|