珲 发表于:2017-10-31 20:54:34
表1 :PID,OID PID为主键
表2:PID,OID OID为主键
不是主键是都可为空
我想实现的功能是,在窗体中将表1当前记录复制到表2(OID不为空时),当表2已存在OID,PID不为空且表2.PID≠表1.PID时提示已存在相同OID,并撤销输入。
附上示例文件,复制功能我已经做好了,就差怎么判断了。请各位老师指教。
点击下载此附件
' Dim stLinkCriteria As String
' Dim intCount As Integer
'
' stLinkCriteria = "[OID]=" & "'" & Me![OID] & "'"
' intCount = DCount("OID", "表2", stLinkCriteria)
If DCount("OID", "表2", "OID='" & Me.OID & "'") > 1 Or IsNull(Me.PID) Or DCount("PID", "表2", "PID='" & Me.PID & "'") > 1 Then
MsgBox "表2已存在该OID主键或PID为空或PID值有重复!"
Me.PID = Null
Me.PID.SetFocus
Exit Sub
Else
' If Len(Me.OID) > 0 And intCount = 0 Then
DoCmd.SetWarnings False
DoCmd.RunSQL "INSERT INTO 表2(PID,OID) VALUES('" & Me.PID & "','" & Me.OID & "')"
DoCmd.SetWarnings True
End If
Me.Requery
谢谢楼上,虽然没实现我要的功能,但提示思路了,解决了
总记录:2篇 页次:1/1 9 1 :