MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


2 participantes

    [Resolvido]Delete baseado em 2 criterios e Insert com novos criterios

    avatar
    janiomjunior
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 19
    Registrado : 19/07/2017

    [Resolvido]Delete baseado em 2 criterios e Insert com novos criterios Empty [Resolvido]Delete baseado em 2 criterios e Insert com novos criterios

    Mensagem  janiomjunior 15/9/2017, 19:54

    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.

    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
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    [Resolvido]Delete baseado em 2 criterios e Insert com novos criterios Empty Re: [Resolvido]Delete baseado em 2 criterios e Insert com novos criterios

    Mensagem  JPaulo 15/9/2017, 22:10

    Use o Me.Form_SFormFrm_.Requery logo após o comando delete.
    Só depois faz o insert.


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Delete baseado em 2 criterios e Insert com novos criterios Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Delete baseado em 2 criterios e Insert com novos criterios Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Delete baseado em 2 criterios e Insert com novos criterios Folder_announce_new Instruções SQL como utilizar...
    avatar
    janiomjunior
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 19
    Registrado : 19/07/2017

    [Resolvido]Delete baseado em 2 criterios e Insert com novos criterios Empty Re: [Resolvido]Delete baseado em 2 criterios e Insert com novos criterios

    Mensagem  janiomjunior 18/9/2017, 14:08

    JPaulo,

    eu já tentei tb mas o compilador dá um erro justamente nessa linha de comando.

    Deixa te explicar.....Eu tenho um sub formulário com uma caixa de combinação e nessa cbo eu seleciono ferramentas. Na hora que escolho a ferramenta no cbo o banco de dados faz uma busca para saber se esta ferramenta não está em outra caixa e se estiver avisa que está e pergunta se quer mudar de caixa. Quando escolho para mudar, o database apaga o registro antigo e insere um novo registro com a nova caixa que a ferramenta se encontra.

    NA tabela que esse sub formulário é ligada possui duas chaves primarias que é caixa e código de ferramenta.

    Ja tentei:

    Me.Form_SFormFrm_.Requery

    Mostra o erro:

    Objeto requerido (Erro 424)

    o objeto é obrigatório

    tentei tb:

    Form_SFormFrm_.Requery

    mostra o erro:

    Objeto requerido (Erro 424)

    o objeto é obrigatório

    Já tentei atribuir o caminho do formulário a uma variável de controle e pedir o Requery nessa variável mas ele continua dando o erro:

    Objeto requerido (Erro 424)

    o objeto é obrigatório

    Eu tentei as sub before update e after update mas continua apresentando o mesmo problema de registro duplicado.


    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 & "' ")
            Form_SFormFrm_.Requery
            CurrentDb.Execute "INSERT INTO Tbl_SFormFrm(Codcx, Codferr, Descricao, Od) VALUES ('" & UpCodcx & "', '" & Busca & "', '" & UpDesc & "', '" & UpOd & "')"
            'Me.Requery
            'Me.Undo
            'DoCmd.RunCommand acCmdRefresh
           
      Else
            Cancel = True
            Me.Undo
      End If
     Else

            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 & "' ")
            Form_SFormFrm_.Requery
            CurrentDb.Execute "INSERT INTO Tbl_SFormFrm(Codcx, Codferr, Descricao, Od) VALUES ('" & UpCodcx & "', '" & Busca & "', '" & UpDesc & "', '" & UpOd & "')"
            'Me.Refresh
            'Me.Undo
            DoCmd.RunCommand acCmdRefresh
           
            flag = 0

    End If
    End If
    End If
    flag = 0
    rsc.Close
    'Set db = Nothing
    Set rsc = Nothing
    End Sub
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    [Resolvido]Delete baseado em 2 criterios e Insert com novos criterios Empty Re: [Resolvido]Delete baseado em 2 criterios e Insert com novos criterios

    Mensagem  JPaulo 18/9/2017, 14:21

    Qual é o nome correto do formulario e o do subformulario ?


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Delete baseado em 2 criterios e Insert com novos criterios Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Delete baseado em 2 criterios e Insert com novos criterios Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Delete baseado em 2 criterios e Insert com novos criterios Folder_announce_new Instruções SQL como utilizar...
    avatar
    janiomjunior
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 19
    Registrado : 19/07/2017

    [Resolvido]Delete baseado em 2 criterios e Insert com novos criterios Empty Re: [Resolvido]Delete baseado em 2 criterios e Insert com novos criterios

    Mensagem  janiomjunior 18/9/2017, 15:33

    JPAULO,

    eu estou confuso justamente com isso.

    Qual o nome que devo considerar na programação? é o nome do formulário que aparece em todos os objetos do access?

    se sim:

    Formulario: Form_NCxFrm

    Sub Form: Form_SFormFrm
    avatar
    janiomjunior
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 19
    Registrado : 19/07/2017

    [Resolvido]Delete baseado em 2 criterios e Insert com novos criterios Empty Re: [Resolvido]Delete baseado em 2 criterios e Insert com novos criterios

    Mensagem  janiomjunior 18/9/2017, 15:35

    Eu ja tentei o comando requery com esses nomes.

    Form_NCxFrm.requery

    Form_SFormFrm.requery

    ou

    me.Form_SFormFrm.requery

    me.Form_NCxFrm.requery
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    [Resolvido]Delete baseado em 2 criterios e Insert com novos criterios Empty Re: [Resolvido]Delete baseado em 2 criterios e Insert com novos criterios

    Mensagem  JPaulo 18/9/2017, 15:40

    Você quando olha para os objectos do seu banco, os seus formularios têm os nomes a começar por Form_ ????

    Veja bem, que não acredito muito, a menos se você os denominou assim mesmo.

    Se tiverem será;
    Código:
    Forms!Form_NCxFrm!Form_SFormFrm.Form.Requery

    Se não tiverem será;
    Código:
    Forms!NCxFrm!SFormFrm.Form.Requery


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Delete baseado em 2 criterios e Insert com novos criterios Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Delete baseado em 2 criterios e Insert com novos criterios Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Delete baseado em 2 criterios e Insert com novos criterios Folder_announce_new Instruções SQL como utilizar...
    avatar
    janiomjunior
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 19
    Registrado : 19/07/2017

    [Resolvido]Delete baseado em 2 criterios e Insert com novos criterios Empty Re: [Resolvido]Delete baseado em 2 criterios e Insert com novos criterios

    Mensagem  janiomjunior 19/9/2017, 14:22

    JPAULO,

    deu certo atualizando apenas o Form Principal:
    Código:
    Forms!Form_NCxFrm.Requery
    na sub after update.

    Muito obrigado. bounce
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    [Resolvido]Delete baseado em 2 criterios e Insert com novos criterios Empty Re: [Resolvido]Delete baseado em 2 criterios e Insert com novos criterios

    Mensagem  JPaulo 19/9/2017, 14:28

    Obrigado pelo retorno o forum agradece.


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Delete baseado em 2 criterios e Insert com novos criterios Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Delete baseado em 2 criterios e Insert com novos criterios Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Delete baseado em 2 criterios e Insert com novos criterios Folder_announce_new Instruções SQL como utilizar...

    Conteúdo patrocinado


    [Resolvido]Delete baseado em 2 criterios e Insert com novos criterios Empty Re: [Resolvido]Delete baseado em 2 criterios e Insert com novos criterios

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 28/3/2024, 16:24