设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 4056|回复: 29
打印 上一主题 下一主题

[表] 如何获取子窗体中的某一字段值

[复制链接]
跳转到指定楼层
1#
发表于 2009-8-5 15:17:34 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
写了一个库存系统,现有一问题未能解决,请先看下图
,如何可以通过保存按键,对订单明细子窗体中的入库数量字段值,进行入库处理?入库代码我已写好!

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2009-8-5 19:11:16 | 显示全部楼层
将子窗体修改后的数据生成到一个新查询中,然后将新查询追加到入库表中。
nxjswt 发表于 2009-8-5 17:31


但我目的不是这样,请先看我计算库存的代码!现时,我只能一条记录入完,按一下保存,触发以下事件,所以我想问,如何让子窗体中同一记录的物料编号字段值与入库数量批量入库!
On Error GoTo Err_Save_Click
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
sNum = Me.订单明细子窗体Form.物料编号
cnt = Me.订单明细子窗体.Form.入库数量
Call 更新物料入库存(cnt, sNum)
------------------------------------------- 以下是定义的模块
Public Sub 更新物料入库存(ByVal x#, ByVal y$)
Dim curdb As Database
Dim curRS As DAO.Recordset
Dim X0#, X1#, Sdate As Date
Sdate = Date
Set curdb = CurrentDb
Set curRS = curdb.OpenRecordset("select * from 库存 where 物料编号='" & y & "'") '物料编号.Value
If Not curRS.EOF Then
   X0 = curRS.Fields("现有库存")
   'X1 = X0 + CInt(x)
   X1 = X0 + x
   curdb.Execute "update 库存 set 原有库存=" & X0 & ",现有库存=" & X1 & ",库存变动=" & x & ",库存变动日期=#" & Sdate & "# where 物料编号='" & y & "'"
End If
End Sub
3#
 楼主| 发表于 2009-8-6 08:37:28 | 显示全部楼层
顶顶顶
4#
 楼主| 发表于 2009-8-6 10:53:55 | 显示全部楼层
不明白:1、同一订单会有同一物品的多条记录?2、入库是单独的表?3、你是想在按【保存】的时候才统一更新库存,而不是在保存子窗体的每一条记录时更新库存?
如果2、3的回答是肯定的,
curdb.Execute "update 库存 ...
aslxt 发表于 2009-8-6 10:03


首先1,一订单里,分有很多细项,当然不存在同一物品的多条记录
      2,入库表是单独的表,系统还设有出库表,库存表
      3,是的,我是想按“保存”的时候,可以统一进行更新库存
5#
 楼主| 发表于 2009-8-6 10:58:51 | 显示全部楼层
x=dsum("入库数量","入库明细表","入库单ID=’” & 入库单ID &”‘ and  物料编号='" & y &"'”)
aslxt 发表于 2009-8-6 10:05

这里的X,即我在窗体中的“入库数量”,其实说明白,就是想用数组方式,先将入库明细子窗体中的“物料编号”“入库数量”先存起来,再分别进行更新库存而取代现时的,一条一条更新!不知道,我理解是否正确!
6#
 楼主| 发表于 2009-8-6 11:38:53 | 显示全部楼层
例如:
    Set rec = New ADODB.Recordset
    rec.Open "select distinct  物料编号 from 入库 where 入库单ID='" & 入库单ID & "'", CurrentProject.Connection, adOpenKeyset, adLockOptimistic, adCmdTableDi ...
aslxt 发表于 2009-8-6 11:19


如果这样,该如何定议SNum及Cnt,?
7#
 楼主| 发表于 2009-8-6 14:53:22 | 显示全部楼层
x=dsum("入库数量","入库","入库单ID=’” & 入库单ID &”‘ and  物料编号='" & rec.Fields(0) &"'”)

这一段出错
8#
 楼主| 发表于 2009-8-6 19:05:24 | 显示全部楼层
还在头痛中
9#
 楼主| 发表于 2009-8-6 21:30:45 | 显示全部楼层
注意符号和空格要符合标准,当然表、字段名称也要符合你的表的东东
x=dsum("入库数量","入库","入库单ID=’” & 入库单ID & "'  and  物料编号='"  & rec.Fields(0) & "'")
aslxt 发表于 2009-8-6 19:30

编译没错,在运行的时候出错!
10#
 楼主| 发表于 2009-8-6 22:17:08 | 显示全部楼层
本帖最后由 stvent 于 2009-8-6 22:18 编辑

例如:在同一入库单上进行A1、A10、A101、A102各入库数量2,而库存单上现时A1、A10、A101、A102分别为0、1、1、28,如正常入库,应该为2、3、3、30,请aslxt帮忙看看!

本帖子中包含更多资源

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

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

本版积分规则

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

GMT+8, 2024-6-17 09:08 , Processed in 0.095729 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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