【发布时间】:2020-06-19 13:48:49
【问题描述】:
我正在尝试从 Access 中的表单中遍历表中的列,以查明“案例名称”是否已存在,如果不存在,则将新记录添加到表中。我希望标准基于文本框的输入值。好消息是我已经知道如何使用下面的代码向表中添加新记录。我只是停留在如何遍历表以找出记录是否已经存在。提前致谢!
Private Sub SaveNewCase_Click()
If Me.txtNewCaseName.Value <> "Null" And Me.txtCaseDepth.Value <> "Null" And Me.txtCaseHeight2.Value <> "Null" And Me.txtCaseWeight.Value <> "Null" And Me.txtCaseWidth <> "Null" And Me.cboCaseCategory.Value <> "Null" Then
'I think the loop should go here, but not sure'
CurrentDb.Execute "INSERT INTO tblCases(CaseName, CaseWidth, CaseHeight, CaseCasters, CaseWeight, CaseDepth, CaseCategory) " & _
" VALUES ('" & Me.txtNewCaseName & "'," & Me.txtCaseWidth & "," & Me.txtCaseHeight2 & ",'" & Me.chkboxCasters & "'," & Me.txtCaseWeight & "," & Me.txtCaseDepth & ",'" & Me.cboCaseCategory & "')"
Else
MsgBox "Please enter all new case criteria."
End If
End Sub
【问题讨论】:
-
不需要循环。使用 DCount。
-
如果您将
CaseName设为主键或唯一索引,您不必再担心,因为在重复插入/更新时会引发错误
标签: sql vba forms loops ms-access