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

    Erro no Update 3201, Depois de fazer relação entre tabelas

    avatar
    Misson Lira
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 335
    Registrado : 01/12/2016

    Erro no Update 3201, Depois de fazer relação entre tabelas  Empty Erro no Update 3201, Depois de fazer relação entre tabelas

    Mensagem  Misson Lira 18/9/2017, 12:52

    Bom dia, Pessoal!

    esse código abaixo, eu uso em um botão para incluir produtos de um formulário (Compra ) no SubForms (Compra_Subforms), Ou seja tenho duas tabelas que uma é compra e a outra compra_SubForms esse subforms ele recebe todos os produtos que foi comprado, ate aqui tudo bem, o comando funcionar perfeitamente. Só que quando excluí uma compra no formulário, na tabela de compra também excluir a compra, perfeitamente, só que  não se excluir da tabela compraSubForms. Então modifique minha tabelas em Relações, Marquei as propriedades Importa, Propagar Atualização e Propagar exclusão, Então depois disso resolveu meu problema de exclusão, quando excluir no formulário compra (TabalaCompra ) ele já excluir em CompraSubFomrs (TabelaCompraSubForms), Só que encontre um Problema, Meu Botão não funciona mais, Da um erro no "Update" = erro 3201 "Não é possível adicionar ou alterar registro,pois é necessário que ele tenha um registro relacionado na tabela compra.

    esse seria meu problema, alguém poderia e ajuda ??


    'Dim db As Database
    'Dim rs As DAO.Recordset

       If IsNull(IDCompraProduto) Then
           MsgBox "Nota não foi Aberta", vbInformation, "Aviso"
           Exit Sub
       ElseIf IsNull(NºNotaFiscal) Then
           MsgBox "O preenchimento do campo Nº Nota Fiscal é obrigatória", vbInformation, "Aviso"
           Me.NºNotaFiscal.SetFocus
           Exit Sub
       ElseIf IsNull(CBO_CodigoCompra) Then
           MsgBox "A seleção do produto é obrigatória, por código ou descrição.", vbInformation, "Aviso"
           Me.CBO_CodigoCompra.SetFocus
           Exit Sub
       ElseIf IsNull(TXT_QTDCompra) Then
           MsgBox "O preenchimento do campo QTD é obrigatória", vbInformation, "Aviso"
           Me.TXT_QTDCompra.SetFocus
           Exit Sub
       ElseIf IsNull(Fornecedor) Then
           MsgBox "O preenchimento do campo Fornecedor é obrigatório", vbInformation, "Aviso"
           Me.Fornecedor.SetFocus
           Exit Sub
           Else
           
           Dim db As Database
           Dim rs As DAO.Recordset

               Set db = CurrentDb() 'abre o banco de dados
               Set rs = db.OpenRecordset("TBL_MOV_Compra_SubForms_ListaProduto") 'Abre Tabela
                         
                      rs.AddNew 'Adiciona um novo registro
                      rs("IDCompraProdutoDet") = Me.IDCompraProduto
                      rs("QTDEntrada") = Me.TXT_QTDCompra
                      rs("CodProdutoCompra") = DLookup("IDProduto", "TBL_CDS_Produto", "CodProduto='" & Me.CBO_CodigoCompra & "'")
                      rs("Desconto") = Me.TXT_DescontoCompra
                      'rs("EntradaEstoqueVenda") = Me.TXT_SeleçãoVendaOrçamento
                      'rs("ValorUnit") = Me.TXTValorUnitario
                       rs.Update ' atualiza
                         
                   
                      rs.Close
                      db.Close
                      Me.FRM_MOV_Compra_SubForms_Produto.Requery 'Atualiza o SubForm
                      Me.Recalc
                      Me.Refresh
                      CBO_DescriçãoCompra = Null
                      Me.CBO_CodigoCompra = Null
                      Me.CBO_CodigoCompra.SetFocus
                      DoCmd.Save
       End If
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5074
    Registrado : 20/04/2011

    Erro no Update 3201, Depois de fazer relação entre tabelas  Empty Re: Erro no Update 3201, Depois de fazer relação entre tabelas

    Mensagem  Silvio 18/9/2017, 13:05

    Bom dia, erro de relacionamento mesmo, verificar se a chave primária da tabela compras se faz presente na tabela subcompras

    Tem que estar dessa forma conforme a figura abaixo:

    Erro no Update 3201, Depois de fazer relação entre tabelas  Forum16


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."
    avatar
    Misson Lira
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 335
    Registrado : 01/12/2016

    Erro no Update 3201, Depois de fazer relação entre tabelas  Empty Re: Erro no Update 3201, Depois de fazer relação entre tabelas

    Mensagem  Misson Lira 18/9/2017, 13:23

    Bom dia!
    sim esta dessa forma na minha relação, puxa de uma campo que é a chave primaria, o outro campo não.
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5074
    Registrado : 20/04/2011

    Erro no Update 3201, Depois de fazer relação entre tabelas  Empty Re: Erro no Update 3201, Depois de fazer relação entre tabelas

    Mensagem  Silvio 18/9/2017, 13:43

    Poste as entidades envolvidas para analises.


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."
    avatar
    Misson Lira
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 335
    Registrado : 01/12/2016

    Erro no Update 3201, Depois de fazer relação entre tabelas  Empty Re: Erro no Update 3201, Depois de fazer relação entre tabelas

    Mensagem  Misson Lira 18/9/2017, 13:52

    OK! esta no anexo.

    Trata se do Formulário FRM_MOV_Compra
    Anexos
    Erro no Update 3201, Depois de fazer relação entre tabelas  AttachmentSISETQ- Sistema de Estoque.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (303 Kb) Baixado 18 vez(es)
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5074
    Registrado : 20/04/2011

    Erro no Update 3201, Depois de fazer relação entre tabelas  Empty Re: Erro no Update 3201, Depois de fazer relação entre tabelas

    Mensagem  Silvio 18/9/2017, 14:08

    "Trata se do Formulário FRM_MOV_Compra"--> não veio ou não existe !


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."
    avatar
    Misson Lira
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 335
    Registrado : 01/12/2016

    Erro no Update 3201, Depois de fazer relação entre tabelas  Empty Re: Erro no Update 3201, Depois de fazer relação entre tabelas

    Mensagem  Misson Lira 18/9/2017, 14:11

    Desculpa! Mandei o sistema errado kkkkkkkk
    foi o correto
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5074
    Registrado : 20/04/2011

    Erro no Update 3201, Depois de fazer relação entre tabelas  Empty Re: Erro no Update 3201, Depois de fazer relação entre tabelas

    Mensagem  Silvio 18/9/2017, 15:11

    Algo parecido com isso...


    Código:
    Private Sub Comando150_Click()
    On Error GoTo fim
    Dim numRecord As Integer
    Dim UserLevel
    UserLevel = (IsNull(DLookup("[CDMCompraExcluir]", "Usuario", "[CDMCompraExcluir] =  0 " _
                & " AND [login] = '" & Form_FRM_MOV_Compra.TXT_Usuario() & "'"))) ' verifiar se o usuario logado tem autorização ao acesso ao campo
               
        'Código verifica se usuario logado tem autorização para acesso
        If UserLevel = -1 Then
            'excluir registro
                numRecord = InputBox("Informe o Id da Compra Produto....:", Me.Caption)
                If MsgBox("Deseja excluir a Compra " & numRecord & " ?" & vbCrLf & "N.Fiscal:  " & Me.NºNotaFiscal, vbQuestion + vbYesNo, Me.Caption) = vbYes Then
                CurrentDb.Execute "DELETE FROM TBL_MOV_Compra WHERE IDCompraProduto=" & Me.IDCompraProduto & "" 'deleto o pedido atual
                DoCmd.RunCommand acCmdRefresh
                DoCmd.GoToRecord , , acNewRec
                MsgBox "Exclusão realizada com sucesso!", vbInformation, Me.Caption
                Else
                MsgBox " Ação cancelada pelo usuário", vbInformation, Me.Caption
                Exit Sub
                End If
                DoCmd.RunCommand acCmdRefresh
            Else
            MsgBox "Você não esta autorizado ao acesso desse campo, procure o administrado" & _
                  " para autorizar seu acesso. ", vbCritical, "Acceso Negado"
      End If

    fim:
    If Err.Number = 13 Then
    MsgBox "Ação cancelada pelo usuário", vbInformation, Me.Caption
    End If
    End Sub


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."
    avatar
    Misson Lira
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 335
    Registrado : 01/12/2016

    Erro no Update 3201, Depois de fazer relação entre tabelas  Empty Re: Erro no Update 3201, Depois de fazer relação entre tabelas

    Mensagem  Misson Lira 19/9/2017, 13:10

    Bom dia!
    meu exemplo é muito bom, mais não me ajudou muito nesse momento, fiz alguns teste aqui no meu sistema, só que não deu certo. O meu problema ta pq so excluir os dados da Tabela TBL_MOV_Compra, mais essa tabela tem o sub forms tabela TBL_MOV_Compra_SubForms_ListaProduto onde fica os produtos, então quando excluir o produto da TBL_MOV_Compra quero excluir os dados da TBL_MOV_Compra_SubForms_ListaProduto automaticamente
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5074
    Registrado : 20/04/2011

    Erro no Update 3201, Depois de fazer relação entre tabelas  Empty Re: Erro no Update 3201, Depois de fazer relação entre tabelas

    Mensagem  Silvio 19/9/2017, 13:42

    Acrescente isso abaixo do delete

    CurrentDb.Execute "DELETE FROM TBL_MOV_Compra_SubForms_ListaProduto WHERE IDCompraProdutoDet=" & Me.IDCompraProduto & ""


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."
    avatar
    Misson Lira
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 335
    Registrado : 01/12/2016

    Erro no Update 3201, Depois de fazer relação entre tabelas  Empty Re: Erro no Update 3201, Depois de fazer relação entre tabelas

    Mensagem  Misson Lira 19/9/2017, 13:59

    Amigo!
    Ta dando certo, mais duas coisas
    1 Quando excluir ele não esta atualizando fiz algumas modificações mais não deu certo.
    2 teria como fica automático a seleção do id, sem precisa digita qual seria o id a ser excluído?

    Mais muito obrigado ate aqui, Muito bom esse seu exemplo.
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5074
    Registrado : 20/04/2011

    Erro no Update 3201, Depois de fazer relação entre tabelas  Empty Re: Erro no Update 3201, Depois de fazer relação entre tabelas

    Mensagem  Silvio 19/9/2017, 14:17

    Tente assim..

    Código:
    Private Sub Comando150_Click()
    On Error GoTo fim

    Dim UserLevel
    UserLevel = (IsNull(DLookup("[CDMCompraExcluir]", "Usuario", "[CDMCompraExcluir] =  0 " _
                & " AND [login] = '" & Form_FRM_MOV_Compra.TXT_Usuario() & "'"))) ' verifiar se o usuario logado tem autorização ao acesso ao campo
               
        'Código verifica se usuario logado tem autorização para acesso
        If UserLevel = -1 Then
            'excluir registro
               
                If MsgBox("Deseja excluir a Compra " & " ?" & vbCrLf & "N.Fiscal:  " & Me.NºNotaFiscal, vbQuestion + vbYesNo, Me.Caption) = vbYes Then
                CurrentDb.Execute "DELETE FROM TBL_MOV_Compra WHERE IDCompraProduto=" & Forms!Frm_mov_compra!IDCompraProduto & "" 'deleto o pedido atual
                CurrentDb.Execute "DELETE FROM TBL_MOV_Compra_SubForms_ListaProduto WHERE IDCompraProdutoDet=" & Forms!Frm_mov_compra!IDCompraProduto & "" 'deleto o pedido atual
                Me.Requery
               
                DoCmd.GoToRecord , , acNewRec
                MsgBox "Exclusão realizada com sucesso!", vbInformation, Me.Caption
                Else
                MsgBox " Ação cancelada pelo usuário", vbInformation, Me.Caption
                Exit Sub
                End If
                DoCmd.RunCommand acCmdRefresh
            Else
            MsgBox "Você não esta autorizado ao acesso desse campo, procure o administrado" & _
                  " para autorizar seu acesso. ", vbCritical, "Acceso Negado"
      End If

    fim:
    If Err.Number = 13 Then
    MsgBox "Ação cancelada pelo usuário", vbInformation, Me.Caption
    End If

    End Sub


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."
    avatar
    Misson Lira
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 335
    Registrado : 01/12/2016

    Erro no Update 3201, Depois de fazer relação entre tabelas  Empty Re: Erro no Update 3201, Depois de fazer relação entre tabelas

    Mensagem  Misson Lira 19/9/2017, 14:40

    ele ainda não esta excluindo da tabela Sub. todos os produto lanchado ainda continua na tabela.

    Uma pergunta, Em relação de tabelas muda a relação de tabelas? ou selecionar os campos de atualização e exclusão?
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5074
    Registrado : 20/04/2011

    Erro no Update 3201, Depois de fazer relação entre tabelas  Empty Re: Erro no Update 3201, Depois de fazer relação entre tabelas

    Mensagem  Silvio 19/9/2017, 14:53

    Eis o arquivo, veja !


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."
    avatar
    Misson Lira
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 335
    Registrado : 01/12/2016

    Erro no Update 3201, Depois de fazer relação entre tabelas  Empty Re: Erro no Update 3201, Depois de fazer relação entre tabelas

    Mensagem  Misson Lira 19/9/2017, 14:59

    Mais se deixa o as tabelas liga dessa forma que esta no exemplo ele da o erro Update. é por isso não consigo excluir. meu problema todo ta nesse Update que da erro quado faço as ligações das tabelas marcando as três caixa da referencia.
    avatar
    Misson Lira
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 335
    Registrado : 01/12/2016

    Erro no Update 3201, Depois de fazer relação entre tabelas  Empty Re: Erro no Update 3201, Depois de fazer relação entre tabelas

    Mensagem  Misson Lira 2/10/2017, 18:27

    boa tarde! alguem teria mais alguma ideia em como posso resolver esse meu problema?


    Conteúdo patrocinado


    Erro no Update 3201, Depois de fazer relação entre tabelas  Empty Re: Erro no Update 3201, Depois de fazer relação entre tabelas

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 26/4/2024, 22:41