VBA 访问代码中的 If Else 语句语法错误

Syntax error in my If Else statement in my VBA access code

我已经研究这个问题一段时间了,感谢堆栈溢出和 google 的帮助,我已经接近答案了。让我给你一些见解。我有一个 table 和 2 个表格以及一个名为 CalibrationKey 的键,它会自动递增为自动编号以跟踪记录以及有多少和没有。在 1 个表格上是我所有的 table 字段。在我的第二个表格中,第一个表格的子字段输入 table。第一种形式是校准,第二种形式是校准细节。在我的第一个表格中,我有它,所以你可以编辑或添加一个新记录(我的问题开始的地方)。我的第二个表格我有它所以你只能添加一个新记录并将 属性 Sheet 上的数据条目设置为是,因为我只希望你能够从该表格添加一个新记录。所以我在我的第一个表单中做了一个 If Else 语句作为点击事件,如果我的文本框是空的,那么你添加一个新记录。如果它不为空,则编辑表单。但是,每次尝试执行此操作时都会出现语法错误。我不确定是什么问题。

Private Sub Make_Click()
If Not IsNull(Make.Value) Then
DoCmd.OpenForm "Calibration Detail", , , "[CalibrationKey]= " & Me.[CalibrationKey], acFormAdd, acDialog
Else: DoCmd.OpenForm "Calibration Detail", , , "[CalibrationKey]= " & Me.[CalibrationKey], acFormEdit, acDialog
End If
End Sub

Then I found that a IsEmpty might be easier, but it gives the same Syntax error in the ELSE line of code as the Not IsNull line did. 

Private Sub Make_Click()
If IsEmpty(Make.Value) Then
DoCmd.OpenForm "Calibration Detail", , , "[CalibrationKey]= " & Me.[CalibrationKey], acFormAdd, acDialog
Else: DoCmd.OpenForm "Calibration Detail", , , "[CalibrationKey]= " & Me.[CalibrationKey], acFormEdit, acDialog
End If
End Sub 

尝试将不正确的语法问题诊断为 IsEmpty 或 Not IsNull 似乎在同一行上给出了相同的语法错误。希望更正语法错误,哪个函数更好用,而不是 IsEmpty 或 Not IsNull

尝试使用正常的 If-Then-Else 语法:

Private Sub Make_Click()

    Dim DataMode As acFormOpenDataMode

    If Me.Dirty = True Then
        'Save record.
        Me.Dirty = False
    End If

    If Not IsNull(Make.Value) Then
        DataMode = acFormOpenDataMode.acFormAdd
    Else
        DataMode = acFormOpenDataMode.acFormEdit
    End If
    DoCmd.OpenForm "Calibration Detail", , , "[CalibrationKey]= " & Me.[CalibrationKey], DataMode, acDialog

End Sub