设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1109|回复: 4
打印 上一主题 下一主题

[查询] 这个更新查询中的用变量如何调用?

[复制链接]
跳转到指定楼层
1#
发表于 2007-2-7 19:23:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Dim qc As Integer
Dim jy As Integer
qc = Me.库存 - Me.订单量

If Me.库存 <> 0 Or Not IsNull(Me.库存) Then

   If qc < 0 Then
   jy = 0
   Else
   jy = qc
   End If
End If
DoCmd.SetWarnings False
DoCmd.RunSQL " UPDATE 半成品库存表 INNER JOIN 生产订单_库存查询 ON (半成品库存表.库存类型 = 生产订单_库存查询.库存类型) AND (半成品库存表.客户编号 = 生产订单_库存查询.客户编号) AND (半成品库存表.产品代号 = 生产订单_库存查询.产品代号) SET 半成品库存表.库存数量 = jy"
DoCmd.SetWarnings Tru

这个变量jy如何用在这个更新查询中?

主要想实现这个功能:就是在下订单时,能够自动半成品的库存调到订单中去,然后自动扣除库存表中的数据,

开始是在子窗体的更新事件中直接运行一个更新查询,好象可以实现,但速度太慢,现在想在订单量更新后事件中直接用更新查询,不知如何实现这个功能,如下图




[此贴子已经被作者于2007-2-7 11:41:12编辑过]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2007-2-7 19:40:00 | 只看该作者
try:

DoCmd.RunSQL " UPDATE 半成品库存表 INNER JOIN 生产订单_库存查询 ON (半成品库存表.库存类型 = 生产订单_库存查询.库存类型) AND (半成品库存表.客户编号 = 生产订单_库存查询.客户编号) AND (半成品库存表.产品代号 = 生产订单_库存查询.产品代号) SET 半成品库存表.库存数量 = " & Jy & ""
3#
 楼主| 发表于 2007-2-7 19:49:00 | 只看该作者
谢谢
4#
 楼主| 发表于 2007-2-7 21:43:00 | 只看该作者
Dim qc As Integer
Dim jy As Integer
qc = Me.库存 - Me.订单量

If Me.库存 <> 0 Or Not IsNull(Me.库存) Then

   If qc < 0 Then
   jy = 0
   Else
   jy = qc
   End If
End If
DoCmd.SetWarnings False
DoCmd.RunSQL "UPDATE 半成品库存表, 生产订单明细表 SET 半成品库存表.库存数量 = " & jy & " WHERE (((半成品库存表.产品代号)=[生产订单明细表]![产品代号]) AND ((半成品库存表.客户编号)=[生产订单明细表]![客户编号]));"

DoCmd.SetWarnings True

为什么我用上面的方法得到的结果是库存表中所有的数据都改变了,我在订单明细中输入客户编号12345,产品代号为MCH0121A,库存显示为800PCS,当我输入订单量为600PCS时,库存表中的数据全部都减了600PCS,可我的条件就是要符合客户编号和产品代号的啊,为什么?




[此贴子已经被作者于2007-2-7 13:45:39编辑过]

5#
 楼主| 发表于 2007-2-7 22:05:00 | 只看该作者
解决了。

DoCmd.RunSQL "UPDATE 半成品库存表, 生产订单明细表 SET 半成品库存表.库存数量 = " & jy & " WHERE 半成品库存表.产品代号=" & 产品代号.Value & " AND 半成品库存表.客户编号='" & 客户编号.Value & "'"




[此贴子已经被作者于2007-2-7 14:05:24编辑过]

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-15 18:13 , Processed in 0.084906 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表