设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[窗体] 通过列表框统计一组记录之后将结果传递给窗体记录

[复制链接]
跳转到指定楼层
1#
发表于 2008-11-26 08:56:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1、双击左边列表框,添加商品到右边列表(并不需要记录这张列表,只是给操作员看着明白)
2、一个商品可被添加多次。比如商品AAAAA被双击了3次,在右边列表框里 要显示该商品数量为3,
3、同时计算所有商品总数以及总价格。
4、按“添加账单”键,所选商品总数以及总价录入"账目清单”,并自动将账目清单里“商品系列”赋值成“ABC系列",保存记录。

这个功能非常实用,苦于处于初学阶段,很多关键之处解决不了,先做了个架子,请高手指点指点代码怎么写.

先谢了.

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2008-11-26 09:23:22 | 只看该作者
直接追加不是更方便

[ 本帖最后由 Henry D. Sy 于 2008-11-26 17:04 编辑 ]
3#
发表于 2008-11-26 17:17:32 | 只看该作者
你的窗体也不知道有什么错误,一打开就出错,我把他删了

重做了一个,不知道是不是你所要求的那样??
  1. Private Sub Form_Load()
  2.     GetTotal
  3. End Sub

  4. Private Sub List0_DblClick(Cancel As Integer)

  5.     Dim rs As New ADODB.Recordset
  6.     Dim strSQL, SQL As String
  7.     Dim lngOldQty As Long
  8.     Dim curOldAmt As Currency

  9.     strSQL = "Insert into 账单(商品系列,数量,总价)values('" & Me.List0.Column(2) & "',1," _
  10.            & Me.List0.Column(3) & ")"
  11.     CurrentDb.Execute strSQL              '追加记录

  12.     SQL = "select * from 账单 where 商品系列='" & Me.List0.Column(2) & "' order by 编号"
  13.     rs.Open SQL, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
  14.     If rs.RecordCount = 2 Then
  15.         lngOldQty = rs!数量
  16.         curOldAmt = rs!总价
  17.         rs.Delete                                    '合并记录
  18.         rs.MoveNext
  19.         rs!数量 = rs!数量 + lngOldQty
  20.         rs!总价 = rs!总价 + curOldAmt
  21.         rs.Update
  22.     End If
  23.     rs.Close
  24.     Set rs = Nothing
  25.     Me.List2.Requery
  26.     GetTotal
  27. End Sub




  28. Sub GetTotal()
  29.     Dim Qty As Long
  30.     Dim Amt As Currency
  31.     Dim I As Integer
  32.     For I = 1 To Me.List2.ListCount - 1             '统计数据
  33.         Qty = Qty + CLng(Me.List2.Column(2, I))
  34.         Amt = Amt + CCur(Me.List2.Column(3, I))
  35.     Next
  36.     Me.Text6 = Qty
  37.     Me.Text8 = Amt
  38. End Sub
复制代码

[ 本帖最后由 Henry D. Sy 于 2008-11-26 17:25 编辑 ]

本帖子中包含更多资源

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

x
4#
 楼主| 发表于 2008-11-26 18:51:25 | 只看该作者
谢谢啦,这对新手学习来说太好了
最后一点可能我说的不是很清楚,要求是把列表框汇总出来的结果传递到账单窗体内,如图

本帖子中包含更多资源

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

x
5#
发表于 2008-11-26 20:15:39 | 只看该作者
其实你这个list2只是显示下数据,又簿输入数据,可以用汇总查询作为他的行来源,省去了记录合并的代码。

还是按你的要求办,
1. 将list2的行来源更改为
  1. SELECT 账单.编号, 账单.商品系列, 账单.数量, 账单.总价
  2. FROM 账单
  3. WHERE (((账单.商品系列) Not Like "abc系列"))
  4. ORDER BY 账单.商品系列;
复制代码
2. 增加更新abc系列的代码,更改如下(其他不变)
  1. Private Sub List0_DblClick(Cancel As Integer)

  2.     Dim rs As New ADODB.Recordset
  3.     Dim strSQL, SQL As String
  4.     Dim lngOldQty As Long
  5.     Dim curOldAmt As Currency

  6.     strSQL = "Insert into 账单(商品系列,数量,总价)values('" & Me.List0.Column(2) & "',1," _
  7.            & Me.List0.Column(3) & ")"
  8.     CurrentDb.Execute strSQL              '追加记录

  9.     SQL = "select * from 账单 where 商品系列='" & Me.List0.Column(2) & _
  10.           "' order by 编号"
  11.     rs.Open SQL, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
  12.     If rs.RecordCount = 2 Then
  13.         lngOldQty = rs!数量
  14.         curOldAmt = rs!总价
  15.         rs.Delete                                    '合并记录
  16.         rs.MoveNext
  17.         rs!数量 = rs!数量 + lngOldQty
  18.         rs!总价 = rs!总价 + curOldAmt
  19.         rs.Update
  20.     End If
  21.     rs.Close
  22.     Set rs = Nothing
  23.     Me.List2.Requery
  24.     GetTotal
  25.     SQL = "Update 账单 set 数量=" & Me.Text6 & ",总价=" & Me.Text8 & _
  26.         " where 商品系列='abc系列'"
  27.     CurrentDb.Execute SQL
  28. End Sub
复制代码

[ 本帖最后由 Henry D. Sy 于 2008-11-26 20:19 编辑 ]
6#
 楼主| 发表于 2008-11-27 01:42:31 | 只看该作者
按照以上方法没有实现啊,请再看看
7#
发表于 2008-11-27 08:11:26 | 只看该作者
原帖由 popo559 于 2008-11-27 01:42 发表
按照以上方法没有实现啊,请再看看


不会吧

[ 本帖最后由 Henry D. Sy 于 2008-11-27 08:47 编辑 ]

本帖子中包含更多资源

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

x
8#
发表于 2008-11-27 08:12:57 | 只看该作者
看看一下
9#
发表于 2008-11-27 08:46:22 | 只看该作者
终于明白你的意思了
你是要追加一个汇总记录,而不仅仅是更新数量和总价。对吧?
附件更新在7楼,你看看是不是你要求的那样。
10#
发表于 2008-11-27 18:14:44 | 只看该作者
终于明白你的意思了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-12 01:59 , Processed in 0.101236 second(s), 35 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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