Caros colegas, o N_saida1 não pode ser repetido pelo digitador a não ser que o CodReceita2 não exista na tabela.
O que está errado, pois mesmo não existindo a receita ele diz que já existe?
Agradeço desde já!
MPS
Private Sub N_Saida1_BeforeUpdate(Cancel As Integer)
Dim db As DAO.Database
Dim db2 As DAO.Database
Dim rs As DAO.Recordset
Dim parametro As String
Dim intretval As Integer
Dim parametro2 As String
Dim rs2 As DAO.Recordset2
parametro = Me.N_Saida1
parametro2 = Me.CodReceita2
Set db = CurrentDb()
Set rs = db.OpenRecordset("SELECT * FROM movimentacao WHERE n_saida1=" & parametro)
If rs.RecordCount > 0 Then
Set db2 = CurrentDb()
Set rs2 = db.OpenRecordset("SELECT * FROM movimentacao WHERE CodReceita2 = " & parametro2)
If rs2.RecordCount > 0 Then
intretval = MsgBox("Este código já existe!", vbOKCancel + vbQuestion + vbDefaultButton2, "Atenção")
Select Case intretval
Case vbCancel
SendKeys "{esc}"
Cancel = True
Case vbOK
Cancel = True
End Select
'End If
End If
rs.Close
db.Close
End If
End Sub
O que está errado, pois mesmo não existindo a receita ele diz que já existe?
Agradeço desde já!
MPS
Private Sub N_Saida1_BeforeUpdate(Cancel As Integer)
Dim db As DAO.Database
Dim db2 As DAO.Database
Dim rs As DAO.Recordset
Dim parametro As String
Dim intretval As Integer
Dim parametro2 As String
Dim rs2 As DAO.Recordset2
parametro = Me.N_Saida1
parametro2 = Me.CodReceita2
Set db = CurrentDb()
Set rs = db.OpenRecordset("SELECT * FROM movimentacao WHERE n_saida1=" & parametro)
If rs.RecordCount > 0 Then
Set db2 = CurrentDb()
Set rs2 = db.OpenRecordset("SELECT * FROM movimentacao WHERE CodReceita2 = " & parametro2)
If rs2.RecordCount > 0 Then
intretval = MsgBox("Este código já existe!", vbOKCancel + vbQuestion + vbDefaultButton2, "Atenção")
Select Case intretval
Case vbCancel
SendKeys "{esc}"
Cancel = True
Case vbOK
Cancel = True
End Select
'End If
End If
rs.Close
db.Close
End If
End Sub