Pessoal,
quero deletar um registro da minha tabela baseada em um formulário. Os critérios para DELETAR são as duas chaves primarias da minha tabela ao qual são selecionadas no formulário. Anteriormente quando eu não havia definido chave primaria eu apenas atualizava o registro mas agora eu tenho que deletar e inserir um novo registro, no entanto quando dou o comando de deletar, funciona....quando dou o comando de inserir ele roda só que o formulário mostra como se houvessem duplicatas de chave primaria. Se eu apertar esc ele faz o que eu quero e não reclama mais.
quero deletar um registro da minha tabela baseada em um formulário. Os critérios para DELETAR são as duas chaves primarias da minha tabela ao qual são selecionadas no formulário. Anteriormente quando eu não havia definido chave primaria eu apenas atualizava o registro mas agora eu tenho que deletar e inserir um novo registro, no entanto quando dou o comando de deletar, funciona....quando dou o comando de inserir ele roda só que o formulário mostra como se houvessem duplicatas de chave primaria. Se eu apertar esc ele faz o que eu quero e não reclama mais.
- Código:
Private Sub cboCodFerr_BeforeUpdate(Cancel As Integer)
'--adaptacao
' Dim intx As Integer
'--adaptacao
'programa original
Dim Busca As String
Dim stlinkcriteria As String
Dim UpCodcx As String
Dim UpDesc As String
Dim UpOd As String
Dim rsc As DAO.Recordset
Set rsc = Me.RecordsetClone
Busca = Me.cboCodFerr.Value
stlinkcriteria = "codferr= '" & Busca & "'"
If DCount("codferr", "Tbl_SformFrm", stlinkcriteria) > 0 Then
'Identifica que caixa de ferramentas se encontra a ferramenta
Dim caixa$
caixa = DLookup("Codcx", "Tbl_SFormFrm", "CodFerr= '" & Busca & "'")
'-----
'Se a caixa é a mesma selecionada, avisa que a ferramenta ja esta na caixa.
If caixa = Me.CodCx.Value Then
MsgBox ("A ferramenta ja esta na caixa.")
Cancel = True
Me.Undo
'Senao, pergunta se deseja mover da caixa anterior para a caixa atual.
Else
If caixa <> "OFICINA DO SE" Then
Dim flag As Integer
flag = 1
End If
If flag = 1 Then
If MsgBox("Atenção, registo " & Busca & " já esta na caixa: " & caixa & vbCr & vbCr & " Deseja mover?", vbYesNo, "Aviso") = vbYes Then
UpCodcx = Me.CodCx.Value
UpDesc = Me.cboCodFerr.Column(1)
UpOd = Me.cboCodFerr.Column(3)
CurrentDb.Execute ("DELETE * from Tbl_SFormFrm WHERE codcx= '" & caixa & "' And codferr= '" & Busca & "' ")
CurrentDb.Execute "INSERT INTO Tbl_SFormFrm(Codcx, Codferr, Descricao, Od) VALUES ('" & UpCodcx & "', '" & Busca & "', '" & UpDesc & "', '" & UpOd & "')"
'Me.Requery
'Me.Undo
DoCmd.RunCommand acCmdRefresh
'Me.Form_SFormFrm_.Requery
Else
Cancel = True
Me.Undo
End If