Access交流中心

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

Dlookup代码出错

FENG  发表于:2010-10-14 16:46:14  
复制

大家好,请帮忙看看订购明细表窗体里这段代码错在哪里!该如何改正!设计的功能是:每一种材料有使用四种货币的单价,在订购明细表里填写货币区分再更新单价ID后,所选币种的单价就会自动导入.代码及附近如下:

Private Sub 单价ID_afterupdate()
Me![规格] = Me![单价ID].Column(1)
Me![类型] = Me![单价ID].Column(2)
If Me.货币区分 = "RMB" Then
Me.单价 = DLookup("RMB", "材料单价表", "[RMB]='" & Me.单价 & "'")
Me.货币单位 = "元"
ElseIf Me.货币区分 = "HKD" Then
Me.单价 = DLookup("HKD", "材料单价表", "[HKD]='" & Me.单价 & "'")
Me.货币单位 = "元"
ElseIf Me.货币区分 = "JPY" Then
Me.单价 = DLookup("JPY", "材料单价表", "[JPY]='" & Me.单价 & "'")
Me.货币单位 = "円"
ElseIf Me.货币区分 = "USD" Then
Me.单价 = DLookup("USD", "材料单价表", "[USD]='" & Me.单价 & "'")
Me.货币单位 = "元"
End If
DoCmd.GoToControl "数量"
End Sub

点击下载此附件

 

Top
羽扇子君 发表于:2010-10-14 19:22:43

代码改了一下:点击下载此附件

建议:

1.在[货币区分]表中,建立 与“本位币”的换算关系 的字段,也就是 汇率 ;同时,再加入[货币单位]字段,把[货币单位表]整合进来 ;

2.在[材料单价表]中,写一个“本位币”的单价,把其它的删除之;

 



FENG 发表于:2010-10-14 22:36:16

羽扇子君谢谢你,代码经你一改,已达到要求,但如果填写完一条记录后,想要修改单价ID就不行了,而且货币分区更新后,单价也不会改变。这个有办法改变吗???



羽扇子君 发表于:2010-10-15 06:45:22

把我的那2点建议使用了,就可以了.

 

订单已达成,为什么还要修改单价呢?

 

P.S.:

建立表的时候,一定要多多考虑,如果架构的不合理,那么以后所做的查询/窗体/报表,也就都在不合理之上.一旦哪天基础表要改.就够受的了;

因此,表设计看似简单,实际最难.要合理,全面,直观,科学……所以有人说:表设计时,无论付出多大努力,都是不为过的.



FENG 发表于:2010-10-15 09:30:29
羽扇子君你好!没有想到你这么早给我回复,遵照你的建议我作了修改,但觉得[货币分区表]不符合你的原意,你看下是这样修改吗????点击下载此附件

羽扇子君 发表于:2010-10-15 15:52:27

给你改了不少.你自己消化一下:点击下载此附件



FENG 发表于:2010-10-15 20:27:05

羽扇子君,谢谢你!确实是改了很多,我一定会好好的消化消化,希望有一天也能像你们一样去帮助到别人!



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