Office中国论坛/Access中国论坛
标题:
尺寸转换和计算公式报
[打印本页]
作者:
菜鸟求助
时间:
2009-7-29 12:01
标题:
尺寸转换和计算公式报
点计算按钮报错
见附档
作者:
aslxt
时间:
2009-7-29 12:53
把:
Private Sub Command54_Click()
Me.PO1.Form.AllowEdits = True
DoCmd.GoToControl "PO1"
DoCmd.GoToRecord , , acFirst
For i = 1 To [PO1]!Text40
[PO1]!MO2_KG = [PO1]!Thick * [PO1]!Width / 1000 * [PO1]!Length / 1000 * [PO1]!MO2_Sheet * 7.85
DoCmd.GoToRecord , , acNext
'DoCmd.GoToRecord , , acNext
Next i
'其中“Text40”为[PO1]的一个控件,该控件的控件来源:=Count(*)
End Sub
改为:
Private Sub Command54_Click()
Me.PO1.Form.AllowEdits = True
DoCmd.GoToControl "PO1"
DoCmd.GoToRecord , , acFirst
For i = 1 To [PO1]!Text40 - 1
[PO1]!MO2_KG = [PO1]!Thick * [PO1]!Width / 1000 * [PO1]!Length / 1000 * [PO1]!MO2_Sheet * 7.85
DoCmd.GoToRecord , , acNext
'DoCmd.GoToRecord , , acNext
Next i
'其中“Text40”为[PO1]的一个控件,该控件的控件来源:=Count(*)
End Sub
因为你的子表不允许添加记录!
作者:
aslxt
时间:
2009-7-29 12:57
另外:
[PO1]!MO2_KG = [PO1]!Thick * [PO1]!Width / 1000 * [PO1]!Length / 1000 * [PO1]!MO2_Sheet * 7.85
公式中还有参与计算的(值)类型错误,
作者:
菜鸟求助
时间:
2009-7-29 13:39
总是有这样提示是怎么回事呢?
[attach]39053[/attach]
作者:
aslxt
时间:
2009-7-29 14:11
问题出在mm(str)的参数中
作者:
菜鸟求助
时间:
2009-7-29 14:15
能帮改改吗?
作者:
aslxt
时间:
2009-7-29 14:16
窗体的〔转换厚〕〔转换宽〕〔转换长〕控件来源?
作者:
aslxt
时间:
2009-7-29 14:19
修改模块为:
Public Function MM(ByVal STR As String)
Dim AA, BB, CC, DD, EE
Dim QQ
If IsNull(STR) = True Or Len(STR) = 0 Then Exit Function
If Asc(Right(STR, 1)) = 34 Or Right(STR, 1) = "'" Then
If Asc(Right(STR, 1)) = 34 Then
QQ = 25.4
ElseIf Right(STR, 1) = "'" Then
QQ = 304
End If
AA = Left(STR, Len(STR) - 1)
BB = InStr(1, AA, "-")
If BB > 0 Then
CC = Left(AA, BB - 1)
DD = Mid(AA, BB + 1, 1)
EE = Mid(AA, BB + 3, 1)
MM = Format((CC + DD / EE) * QQ, "0.00")
Else
BB = InStr(1, AA, "/")
If BB > 0 Then
DD = Mid(AA, BB - 1, 1)
EE = Mid(AA, BB + 1, 1)
MM = Format((DD / EE) * QQ, "0.00")
Else
MM = Format(AA * QQ, "0.00")
End If
End If
ElseIf Right(STR, 2) = "mm" Then
MM = Format(Left(STR, Len(STR) - 2), "0.00")
Else
MM = STR
End If
End Function
作者:
菜鸟求助
时间:
2009-7-29 14:37
本帖最后由 菜鸟求助 于 2009-7-29 14:39 编辑
多谢高手,问题基本解决。
但我点计算时,只计算第一笔,后面记录不计算了。
作者:
菜鸟求助
时间:
2009-7-29 14:46
如何只计算现在的记录呢?
作者:
aslxt
时间:
2009-7-29 17:55
DoCmd.GoToControl "PO1"
DoCmd.GoToRecord , , acFirst
For i = 1 To [PO1]!Text40 - 1
[PO1]!MO2_KG = [PO1]!Thick * [PO1]!Width / 1000 * [PO1]!Length / 1000 * [PO1]!MO2_Sheet * 7.85
DoCmd.GoToRecord , , acNext
'DoCmd.GoToRecord , , acNext
Next i
改为:
[PO1]!MO2_KG = [PO1]!Thick * [PO1]!Width / 1000 * [PO1]!Length / 1000 * [PO1]!MO2_Sheet * 7.85
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3