我有一个程序,它保存保龄球测量并计算椭圆形拇指&插入的跨度修正。我唯一的问题是当我尝试使用宏添加新记录时(使用“Openform”和“goto record ... new”)。这个按钮完美无缺,直到我使用椭圆形拇指输入记录,这需要根据返回3021运行时错误的形式的数据进行计算。编辑当前数据库记录也可以完美地运行。 Debug在“计算椭圆形sin / cos”表示法下的rs.edit处挂起。
Private Sub Combo151_AfterUpdate()
Call OvalCalc
End Sub
Private Sub OvalCalc()
Me.Hole1.Value = Me.Combo151.Column(2)
Me.Hole1f.Value = Me.Combo151.Column(1)
Dim db As Database
Dim rs As Recordset
Dim cutcount As Integer
Dim Cut As Integer
Dim CutnameH As String
Dim CutnameV As String
Set db = CurrentDb
Set rs = db.OpenRecordset("select * FROM MeasureT Where CustomerID=" & Me.CustomerID)
If OvalDegree <> 0 Then
'Calculate Oval Sin/Cos
Refresh
rs.Edit
rs.Fields("OvalVert") = Hole1
rs.Update
rs.Edit
rs.Fields("OvalDiff") = Round(OvalHoriz - OvalVert, 3)
rs.Update
rs.Edit
rs.Fields("OvalSin") = Round([OvalDiff] * Sin([OvalDegree] * 1.74532925199433E-02), 3)
rs.Fields("OvalCos") = Round([OvalDiff] * Cos([OvalDegree] * 1.74532925199433E-02), 3)
rs.Update
If OvalSin > OvalCos Then
rs.Edit
rs.Fields("OvalCuts") = Round(OvalSin / 0.036, 3)
我的完整数据库可从以下网址下载:https://drive.google.com/file/d/0B0n3PtRkzdg4UXNDZXg3QTFfeVk/view
MainMenuF(包含名称搜索和添加新按钮) 测试椭圆程序时,应输入“OVAL THUMB”水平值(ex值:1)&amp; Degree(ex值:35)Fields和Forward / Reverse(ex值:.250)&amp;左/右音高(ex值:.250)(拇指孔的上方和右侧)。然后在输入拇指尺寸(combo151 afterupdate())(ex值:15/16)后,程序将计算Sin / Cos / Diff / Cuts和工作台移动以获得所需的孔尺寸。有趣的是......如果你结束调试器并重新输入拇指大小第二次......它完美无缺。切割手指夹持程序(也使用基于表数据的计算)即使在新记录上也能完美地工作。我是一名Dbase III +程序员,正在努力学习和学习适应访问...任何帮助/建议将不胜感激。我知道我错过了一些简单的事情。 (旁注:表格上的椭圆计算按钮无法正常工作)
*更新:不完全修复,但我找到了解决方法。我添加了一个“保存记录”按钮,在添加拇指大小之前按下该按钮(如果已输入学位则激活椭圆例程)似乎可以解决问题。我可能会出错,因为与dbase III相比,我是访问新手...但我相信记录没有写入,我的例行程序试图对不存在的记录进行计算。因此,为什么保存记录按钮在创建记录时有效,并允许椭圆例程按计划完成。