计算新记录时出现问题

时间:2016-12-06 07:52:12

标签: vba ms-access add edit calculation

我有一个程序,它保存保龄球测量并计算椭圆形拇指&插入的跨​​度修正。我唯一的问题是当我尝试使用宏添加新记录时(使用“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相比,我是访问新手...但我相信记录没有写入,我的例行程序试图对不存在的记录进行计算。因此,为什么保存记录按钮在创建记录时有效,并允许椭圆例程按计划完成。

0 个答案:

没有答案