如何在ACCESS中实现输入多个商品名称,自动出来总价

想要通过输入某些商品名以及数量,自动出来一个商品清单,其中包括总价?... 想要通过输入某些商品名以及数量,自动出来一个商品清单,其中包括总价? 展开
 我来答
tjrmgs
推荐于2016-01-31 · TA获得超过5765个赞
知道大有可为答主
回答量:2161
采纳率:94%
帮助的人:1041万
展开全部

这个需求,通过手工输入商品名称因为比较随意,无法保证每次都能得到预想的结果。建议改为从列表中选商品比较稳妥。下面示范供参考

1)创建商品定价表并录入数据

2)新建一个窗体

添加两个列表框

List1 显示待选商品

属性设置:列数=2;列标题=是;行来源类型=表/查询;行来源=商品定价

List2 显示已选商品、数量,金额列表

属性设置:列数=4;列宽=3cm;1cm;1cm;2cm;列标题=是;

                 行来源类型=值列表;行来源=商品名;单价;数量;金额; 绑定列=0;

添加3个命令按钮

Command1 清除选定商品列表中的所有项目

Command2 将选定的商品和数量送到选定商品列表框并进行金额汇总

Command1 清除选定商品列表中的一个项目

添加已给标签 Label8 用于显示总价

添加一个文本框 Text1 用于输入商品数量数量

属性设置:格式=常规数字 (防止输入非数字数量);默认值=1

窗体设计视图如下

为该窗体添加下列代码

Option Compare Database
Private Sub Command1_Click()  '清空选定列表
    Dim i As Long
    i = List2.ListCount - 1
    Do Until i = 0
       List2.RemoveItem (i)
       i = i - 1
    Loop
    Label8.Caption = "金额合计:"
End Sub

Private Sub Command2_Click()  '将选定的商品和数量送到选定商品列表框并进行金额汇总
    Dim str As String
    If IsNull(Text1) Then
        MsgBox "请指定商品数量"
        Text1.SetFocus
        Exit Sub
    End If
    With List1
        If .ListCount < 1 Then Exit Sub
        If .ListIndex < 0 Then
            MsgBox "请选定一个待选商品(左边)"
            .SetFocus
            Exit Sub
        End If
        str = .Column(0) & ";" & .Column(1) & ";" & Text1 & ";" & .Column(1) * Text1
    End With
    With List2
        .AddItem str
        .SetFocus
    End With
    showSum
End Sub

Private Sub Command3_Click() '清除选定商品列表中的一个项目
    Dim i As Long
    i = List2.ListIndex
    If List2.ListCount = 1 Then Exit Sub
    If List2.ListIndex < 0 Then Exit Sub
    List2.RemoveItem (i + 1)
    List2.SetFocus
    showSum
End Sub

Private Sub showSum()  '编写自定义过程自动显示总价
    Dim i As Long, Hz As Double
    With List2
        For i = 1 To .ListCount - 1
            Hz = Hz + Val(.Column(3, i))
        Next i
    End With
    Label8.Caption = "金额合计:" & Hz
End Sub

到此大功告成,运行效果如下

更多追问追答
追问
你的回答很详细,万分感谢!能不能用窗体、查询、和宏命令来实现呢!  代码我不会呀 看不懂代码   加我扣好吗   344530178
追答
加Q就免了,示例数据库可以发给你,我的回答本身就是窗体解决方案。宏命令太死板实现这个功能非常麻烦。查询可以用代码动态拼写SQL,实现起来比我的示范方案还要复杂。
officecn交流
2015-01-19 · 知道合伙人软件行家
officecn交流
知道合伙人软件行家
采纳数:494 获赞数:980
中山大学毕业,从事IT行业16年.主要从事ERP CRM HRM等软件的开发,熟悉access sql server office vb vba c#

向TA提问 私信TA
展开全部
1.数据筛选
2.dsum求和
追问
具体  一点好吗     数据库  我是完全菜鸟,能帮到我  愿意出1000分!  我的QQ:344530178
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
揭戈雅s2
2015-01-18 · TA获得超过514个赞
知道小有建树答主
回答量:8621
采纳率:0%
帮助的人:2322万
展开全部
你说的可以实现啊
更多追问追答
追问
我知道可以实现,我要知道如何实现?能教会我,我愿意出1000分
追答
可以教你啊 看名字 不要分儿
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式