Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

学习了2周做了个小东西,还有些不明白的地方望老师指点

ljwily  发表于:2011-12-03 21:56:07  
复制

各位老师好,做了个销售订单输入的东西。还有以下几个问题无法解决希望老师指点下:

1、登陆后,销售订单输入的界面不显示之前的记录。

2、只有按保存才对输入的记录进行保存。

3、合计怎么才能自动根据数量*销售价格自动换算并保存在表中。

4、取消导航条。

谢谢。等待老师的回复。

点击下载此附件

 

Top
西出阳关无故人 发表于:2011-12-03 22:00:48

问题一,

DoCmd.OpenForm "销售订单表头", , , , acFormAdd



西出阳关无故人 发表于:2011-12-03 22:03:39

问题三

Private Sub 数量_AfterUpdate()
  合计 = Nz(数量, 0) * Nz(销售单价, 0)
End Sub


Private Sub 销售价格_AfterUpdate()
  合计 = Nz(数量, 0) * Nz(销售单价, 0)
End Sub



西出阳关无故人 发表于:2011-12-03 22:05:37

问题四

在窗体的属性中,把“导航按钮”设为“否”



西出阳关无故人 发表于:2011-12-03 22:14:11

问题二

比较复杂,(不过可以基于你的现有实例的)最简单的方法

Private Sub Form_BeforeUpdate(Cancel As Integer)
  If MsgBox("数据已经变化,要保存吗?", vbYesNo) = vbNo Then
    DoCmd.RunCommand acCmdUndo
    Cancel = True
  End If
End Sub



ljwily 发表于:2011-12-03 22:14:21

西出阳关无故人你好

DoCmd.OpenForm "销售订单表头", , , , acFormAdd

这个命令我应该放在什么事件中。



ljwily 发表于:2011-12-03 22:18:36

西出阳关无故人你好

Private Sub 数量_AfterUpdate()
  合计 = Nz(数量, 0) * Nz(销售单价, 0)
End Sub


Private Sub 销售价格_AfterUpdate()
  合计 = Nz(数量, 0) * Nz(销售单价, 0)
End Sub

这2 命令我试了算出来合计是0不知道什么原因



西出阳关无故人 发表于:2011-12-03 22:22:03

如果用户录入一个单子,在忘记按【保存】后就丢失录入的数据,他一定会骂娘的。所以我建议取消【保存】按钮,而是在自动保存前提示他一下,检查数据是否录入正确。

我们单位的大型erp系统,也是每条记录都要按【保存】按钮,录入数据量小的时候,还不觉得烦,大量数据录入的时候,很多人都在骂娘!



ljwily 发表于:2011-12-03 22:32:14

问题1  OK

问题2  未明白能否详细说明下(是否是保存按钮的单击命令?)

问题3  尚未解决(合计数为0)

问题4  OK



ljwily 发表于:2011-12-03 22:35:52

西出阳关无故人你好

如何才能实现您所说的“而是在自动保存前提示他一下,检查数据是否录入正确。”

本人刚接触access 希望你能把当成小白来讲解,谢谢



西出阳关无故人 发表于:2011-12-03 23:22:58

前面提供的为

合计 = Nz(数量, 0) * Nz(销售单价, 0)
实属错误,应为

合计 = Nz(数量, 0) * Nz(销售价格, 0)



西出阳关无故人 发表于:2011-12-03 23:28:24

问题二的答复的解释:

把【保存记录】按钮删除,然后把主窗体的“更新前”事件写成如下代码

Private Sub Form_BeforeUpdate(Cancel As Integer)
  If MsgBox("数据已经变化,要保存吗?", vbYesNo) = vbNo Then
    DoCmd.RunCommand acCmdUndo
    Cancel = True
  End If
End Sub
可以达到,当数据变化了,在用户离开记录前询问用户是否保存,如果用户选择“否”,所做的数据更改将不保存



西出阳关无故人 发表于:2011-12-03 23:30:08
ljwily 发表于:2011-12-03 23:42:16

西出阳关无故人 

十分感谢 THK



总记录:13篇  页次:1/1 9 1 :