Access365 30/9/2012, 19:17
Olá criquio e Alexandre!
Resultou na seguinte mensagem:
O campo especificado 'Pessoa' pode se referir a mais de uma tabela relecionada na cláusula FROM da instrução SQL.
Eis o procedimento completo:
________________________________________
Private Sub Comando37_Click()
On Error GoTo Err_Comando37_Click
If IsNull(Me.Código) Then
MsgBox "Você não escolheu nenhum cliente!", vbQuestion, "Aviso"
Exit Sub
ElseIf MsgBox("Tem certeza que deseja excluir este cliente?" _
& vbCr & vbCr & "Ao excluir este cliente, todos os serviços cadastrados para ele" _
& vbCr & vbCr & "também serão excluídos.", vbYesNo + vbQuestion, "Confirmar") = vbYes Then
'CurrentDb.Execute "DELETE * FROM Cadastros WHERE Pessoa='" & Me.Pessoa & "'"
'CurrentDb.Execute "DELETE * FROM Cadastros INNER JOIN Serviço AND Compromisso WHERE Código=" & Me.Código & ""
CurrentDb.Execute "DELETE Cadastros.* FROM (Cadastros INNER JOIN Serviço ON Cadastros.Pessoa=Serviço.Pessoa) INNER JOIN Compromisso ON Serviço.Pessoa=Compromisso.Pessoa WHERE Pessoa='" & Me.Pessoa & "'"
CurrentDb.Execute "DELETE Serviço.* FROM (Cadastros INNER JOIN Serviço ON Cadastros.Pessoa=Serviço.Pessoa) INNER JOIN Compromisso ON Serviço.Pessoa=Compromisso.Pessoa WHERE Pessoa='" & Me.Pessoa & "'"
CurrentDb.Execute "DELETE Compromisso.* FROM (Cadastros INNER JOIN Serviço ON Cadastros.Pessoa=Serviço.Pessoa) INNER JOIN Compromisso ON Serviço.Pessoa=Compromisso.Pessoa WHERE Pessoa='" & Me.Pessoa & "'"
DoCmd.RunCommand acCmdRefreshPage
MsgBox "Cliente excluído com sucesso!", vbInformation, "Aviso"
Form_Exclusão.Requery
Else
Me.Pessoa.Visible = False
Me.Código.Visible = False
Me.Localidade.Visible = False
Me.Bairro.Visible = False
Exit_Comando37_Click:
Exit Sub
Err_Comando37_Click:
MsgBox "O cliente não foi excluído!", vbInformation, "Falha"
Resume Exit_Comando37_Click
End If
End Sub
________________________________________
Dentro das tabelas:
CADASTRO
Código_____login_____Data_____Pessoa(chave)
1__________paulo_____xxxx_____José
COMPROMISSO (CODGerado nunca se repete, mas a Pessoa sim)
Código_____login_____CODGerado(chave)_____Pessoa_____opCaso
1__________paulo_____3333_________________José_______Inativo
2__________paulo_____4444_________________José_______Inativo
3__________paulo_____5555_________________José_______Ativo
SERVIÇO (CODGerado se repete junto com a Pessoa)
Código_____login_____CODGerado_____Pessoa
1__________paulo_____3333__________José
2__________paulo_____3333__________José
3__________paulo_____3333__________José
4__________paulo_____4444__________José
5__________paulo_____4444__________José
_________________________________________________________
Viu como José ficou interligado nas três tabelas?
Através da exclusão da Pessoa em Cadastros, eu deverei programar a exclusão do Compromisso, pois se foi feito um Serviço no mesmo CODGerado de Compromisso, a Pessoa em Serviço deverá ser excluída. Somente em serviço a exclusão será individual.
Tá me matando!
Obrigado amigos.