返回列表 上一主題 發帖

在ACCESS子表單中的計算結果出錯

在ACCESS子表單中的計算結果出錯

附件中的ACCESS檔案,在表單中計算出來的數據與實際相差甚遠.
檢查過很多次,都找不出哪裡出錯.
請各位高手指點一下.

testing.zip (31.31 KB)

大大不是很了解,所有數據都是輸入,沒有任何計算,能否再加說明

TOP

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

TOP

大大的問題是否為 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]
二.小數點取幾位

TOP

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

TOP

回復 5# aa7551


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

但同時帶出一個問題, 這個width字是否一個"特殊"字? 是否日後要避開此等"特殊"字?

TOP

這是一個系統用字,如何避免?筆者的習慣是table name + column可能會很長,但是絻對不會與系統用字發生同字問題,提供參考

TOP

回復 7# aa7551


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

TOP

        靜思自在 : 【時日莫空過】一個人在世間做了多少事,就等於壽命有多長。因此必須與時間競爭,切莫使時日空過。
返回列表 上一主題