我在一对多关系中有一个问题和行动表。
我有一个表单OIssues,它允许用户浏览每个问题。它有一个嵌入式子窗体,显示与该问题相关的操作,还有执行宏的命令按钮,允许用户快速向子窗体添加操作。
但是,我希望能够在用户尝试添加针对该问题已存在的操作时提示用户。
因此,我认为我需要将VBA添加到命令按钮单击,这将检查IssueID 1234存在多少条记录,并且属于“更改请求”类型。如果大于1,则提示用户。但是我找不到正确的命令来做到这一点!
非常感谢任何帮助。
答案 0 :(得分:0)
按钮后面的VBA代码。
Dim db as database
Dim rec as recordset
set db = currentDb
set rec = db.openrecordset("Select IssueID from YourTableName WHERE IssueID = " & Me.IssueID & " AND Type = '" & Me.Type & "'")
X = 0
rec.movefirst
If rec.eof = False then
rec.movelast
X = rec.recordcount
EndIf
If X > 1 then
msgbox "This already exists"
EndIf
编辑:我没有具体看到你的表格布局是什么,所以你可能必须在OpenRecordSet中进行某种加入而不是直接“从YourTableName中选择IssueID”。
答案 1 :(得分:-1)
A slightly better answer would be to use the COUNT function for example :-
Dim db as database
Dim rec as recordset
dim cnt as long
set db = currentDb
set rec = db.openrecordset("Select count(IssueID) from YourTableName WHERE IssueID = " & Me.IssueID & " AND Type = '" & Me.Type & "'")
cnt=0
if not rec.eof then cnt=rec.fields(0)
If cnt > 0 then msgbox "This already exists"