Board logo

標題: 在ACCESS子表單中的計算結果出錯 [打印本頁]

作者: pcwh3    時間: 2011-2-17 22:27     標題: 在ACCESS子表單中的計算結果出錯

附件中的ACCESS檔案,在表單中計算出來的數據與實際相差甚遠.
檢查過很多次,都找不出哪裡出錯.
請各位高手指點一下.
作者: aa7551    時間: 2011-2-21 09:41

大大不是很了解,所有數據都是輸入,沒有任何計算,能否再加說明
作者: pcwh3    時間: 2011-2-21 22:13

回復 2# aa7551
當在子表單中輸入長、寬及高時,在最後輸入高的數字之後,便會觸動到afterupdate功能,此功能被設定呼叫一個巨集去計算其cbm,再將結果存入主表單中。
問題是,計算出來的結果出錯。
找了很久都找不出錯在哪裡,故此希望高手們幫忙一下,找出錯處,及如何去改寫程式。
謝謝。
作者: aa7551    時間: 2011-2-22 15:06

大大的問題是否為 L:89,W:89,H:74,P:1 乘積為53.05,結果是錯誤
一.在Private Sub Pallet_AfterUpdate()
    [outcbm] = Round(([Length] / 100) * ([Width] / 100) * ([Height] / 100) * [Pallet], 3)
    Call outCBM_Auto_Update
End Sub
先確認這公式是否正確?([Length] / 100) * ([Width] / 100) * ([Height] / 100) * [Pallet]
二.小數點取幾位
作者: aa7551    時間: 2011-2-22 15:53

[outcbm] = Round(([Length] / 100) * ([Width] / 100) * ([Height] / 100) * [Pallet], 3)
你可以試著去攔截width的值為8055,而使用me.width去求值剛好為8055,所以在此程式中只要去改欄名就好
width勿使用,其它的你自行修改
作者: pcwh3    時間: 2011-2-22 23:11

回復 5# aa7551


將[Width]更改為[W]等之後,結果出來回復了正常. 謝謝指導.

但同時帶出一個問題, 這個width字是否一個"特殊"字? 是否日後要避開此等"特殊"字?
作者: aa7551    時間: 2011-2-23 21:47

這是一個系統用字,如何避免?筆者的習慣是table name + column可能會很長,但是絻對不會與系統用字發生同字問題,提供參考
作者: pcwh3    時間: 2011-2-24 13:22

回復 7# aa7551


謝謝指教。
整個ACCESS檔案現在運作順暢。




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)