使用同样可以编辑的if else语句向表单添加新记录

问题描述 投票:0回答:1

我只是猜测这是Access的正确VBA查询编码。我是C#开发人员,请耐心等待。我目前有一个表和一个窗体,并且有一个事件过程,如果您单击窗体内的框,则可以编辑该特定记录。当我点击关闭表单按钮时,它将关闭,保存和更新。但是,现在出现了一个问题,我可以单击没有数据的框来添加新记录,但是它会发送语法错误。我假设这样做是因为我使用的VBA查询代码正在寻找它进行编辑,而不是添加新记录。我可以单击消息框上的X并仍然输入新记录。我对此的想法是添加一个IF ELSE语句。我不能这样吗?如果需要编辑某些内容,我可以。还是我必须在其他地方进行更改?我还阅读了我可以编辑消息框以添加新记录的信息,单击角落的X并继续添加新记录。这也是一个想法。

If Me.CurrentRecord = "CalibrationKey" Then
DoCmd.OpenForm "Calibration Detail", , , "[CalibrationKey]= " & Me.[CalibrationKey], acFormEdit, acDialog
Else: DoCmd.OpenForm "Calibration Detail", , , "[CalibrationKey]= " & Me.[CalibrationKey], acFormAdd, acDialog
End If
End Sub```

ms-access access-vba ms-access-2016
1个回答
0
投票

带有或不带有数据的框是表格中的字段吗?在这种情况下,应将您拥有的代码放在box(field)的onclick事件下将calibrationkey设为被单击的框的名称

也如下更改代码

如果不是IsNull(CalibrationKey.value),则DoCmd.OpenForm“ Calibration Detail”,,,“ [CalibrationKey] =”&Me。[CalibrationKey],acFormEdit,acDialog否则:DoCmd.OpenForm“ Calibration Detail”,,,“ [CalibrationKey] =”&Me。[CalibrationKey],acFormAdd,acDialog万一结束Sub`''

© www.soinside.com 2019 - 2024. All rights reserved.