我有三张表。 SAP(工厂、物料、物料描述、库存、单位) LOCAL(物料、物料描述、安全库存) 安全库存(工厂、物料、物料描述、库存、安全库存、单位)
我想要对比(SAP.物料=LOCAL.物料)and (SAP.库存<LOCAL.安全库存)的时候 将这些符合条件的数据写入到安全库存这张表里面。 用以下拼凑的只会写入一条数据到安全库存这张表里 哪位大哥帮忙完善以下,在线等待,谢谢啊。
Dim conn As New ADODB.Connection conn.Open "Provider=SQLOLEDB.1;User ID='sa';Password='123456';Initial Catalog='工具室';Data Source='172.16.155.212' " conn.Execute ("delete from 安全库存") sql = "select * from SAP,LOCAL where SAP.物料 = LOCAL.物料 and SAP.库存 < LOCAL.安全库存" rs.Open sql, conn, adOpenKeyset, adLockPessimistic sql = "select * from 安全库存" Set rs2 = New ADODB.Recordset rs2.Open sql, cnn, adOpenKeyset, adLockOptimistic With rs2 .AddNew '添加各个字段的数据 .Fields("工厂") = Trim(rs.Fields(0)) 'SAP工厂 .Fields("物料") = Trim(rs.Fields(1)) 'SAP物料 .Fields("物料描述") = Trim(rs.Fields(2)) 'SAP物料描述 .Fields("库存") = Trim(rs.Fields(3)) 'SAP库存 .Fields("安全库存") = Trim(rs.Fields(7)) 'SAP库存 .Fields("单位") = Trim(rs.Fields(4)) .Update '更新数据表 End With 'rsNum.Close Set rsNum = Nothing
sql = "insert into 安全库存 select SAP.工厂, SAP.物料, SAP.物料描述, SAP.库存, LOCAL.安全库存, SAP.单位 from SAP, LOCAL where SAP.物料 = LOCAL.物料 and SAP.库存 < LOCAL.安全库存"
看上去好像是某个固定的任务, 隔一段时间就需要来一次的. 既然这样何不直接安排SQL server自动执行? 连VB都不用了. 直接在SQL SERVER管理器中添加计划任务
|