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

4 participantes

    [Resolvido]Como alterar Registro em Tabela Vinculada - VBA

    avatar
    alecardoso
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 32
    Registrado : 15/05/2015

    [Resolvido]Como alterar Registro em Tabela Vinculada - VBA Empty [Resolvido]Como alterar Registro em Tabela Vinculada - VBA

    Mensagem  alecardoso Qui 10 Nov 2022, 12:00 pm

    Olá pessoal!

    Eu tinha uma maneira para alterar dados funcionando perfeitamente (enquanto a tabela era local)  

    Parou de funcionar quando movi a tabela para outro banco, e depois vinculei.  

    Vou colar o código.  Agradeço a quem puder me ajudar em qual linha devo fazer a modificação, para voltar a funcionar, só que agora a tabela fica em outro *.mdb.   Access 2019.

    Código:
    '##################################################
    Dim Rst As dao.Recordset
    Dim sFiltro As String, sDadoCampo As String
    Dim intResult As Integer

    [b]Set Rst = CurrentDb.OpenRecordset("tbCtbLanca", dbOpenTable)[/b]
    sFiltro = Me.idLanc.Value

    Rst.MoveFirst
    Rst.Index = "PrimaryKey"
    Rst.Seek "=", sFiltro

    'MsgBox rst![idLanc]
    Debug.Print Rst.EditMode
    '--------------------------------------------------
    Rst.Edit
           'Rst("idLanc") = idLanc
           Rst("ContaD") = ContaD
           Rst("ContaC") = ContaC
           Rst("ValorDC") = ValorDC
           Rst("CodigoDeBarras") = CodigoDeBarras
           Rst("Data") = Data
           Rst("DtVecto") = DtVecto
           Rst("NumDoc") = NumDoc

    '--------------------------------------------------
    If Rst.EditMode = dbEditInProgress Then
        intResult = MsgBox("Você quer salvar as alterações " & "neste registro?", vbYesNo, "Confirmação")
    End If

    If intResult = 6 Then    'Salvar alterações
        Rst.Update
    ElseIf intResult = 7 Then     'Cancelar alterações
        Rst.CancelUpdate
    End If
    '--------------------------------------------------
    Rst.Close
    Set Rst = Nothing
    '--------------------------------------------------
    '##################################################
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2772
    Registrado : 13/12/2016

    [Resolvido]Como alterar Registro em Tabela Vinculada - VBA Empty Re: [Resolvido]Como alterar Registro em Tabela Vinculada - VBA

    Mensagem  Alexandre Fim Qui 10 Nov 2022, 12:16 pm

    Olá,

    Coloquei um tratamento de erro para ver qual erro ocorre. Segue:

    Código:


    '-- tratamento de erro ----------------------
    On Error GoTo trata_erro
    '--------------------------------------------

    Dim Rst As dao.Recordset
    Dim sFiltro As String, sDadoCampo As String
    Dim intResult As Integer

        Set Rst = CurrentDb.OpenRecordset("tbCtbLanca", dbOpenTable)
        sFiltro = Me.idLanc.Value
       
        Rst.MoveFirst
        Rst.Index = "PrimaryKey"
        Rst.Seek "=", sFiltro
       
        'MsgBox rst![idLanc]
        Debug.Print Rst.EditMode
        '--------------------------------------------------
        Rst.Edit
        'Rst("idLanc") = idLanc
        Rst("ContaD") = ContaD
        Rst("ContaC") = ContaC
        Rst("ValorDC") = ValorDC
        Rst("CodigoDeBarras") = CodigoDeBarras
        Rst("Data") = Data
        Rst("DtVecto") = DtVecto
        Rst("NumDoc") = NumDoc
       
        '--------------------------------------------------
        If Rst.EditMode = dbEditInProgress Then
            intResult = MsgBox("Você quer salvar as alterações " & "neste registro?", vbQuestion + vbYesNo, "Confirmação")
        End If
       
        If intResult = 6 Then          'Salvar alterações
            Rst.Update
        ElseIf intResult = 7 Then      'Cancelar alterações
            Rst.CancelUpdate
        End If
        '--------------------------------------------------
       
        Rst.Close
        Set Rst = Nothing
       
        Exit Sub
       
    trata_erro:
        MsgBox "Erro ocorrido: " & Err.Number & " - " & Err.Description & "", vbCritical, "Erro!!!"
        Exit Sub



    Att,

    Alexandre Fim


    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    [Resolvido]Como alterar Registro em Tabela Vinculada - VBA Setinf11
    Sistemas e Tecnologia Ltda
    avatar
    alecardoso
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 32
    Registrado : 15/05/2015

    [Resolvido]Como alterar Registro em Tabela Vinculada - VBA Empty Re: [Resolvido]Como alterar Registro em Tabela Vinculada - VBA

    Mensagem  alecardoso Qui 10 Nov 2022, 1:07 pm

    Olá sr. Alexandre Fim, obrigado pelo retorno!

    O erro ocorrido foi:  3219 - Operação inválida.

    Eu acho, só não sei como fazer, seria "setar" ou apontar para o banco back end onde a tabela está agora armazenada.

    No banco atual tem a tabela de forma vinculada, então talvez precisássemos mudar algo aqui:  CurrentDb por C:\PastaTal\Dados.mdb  ?

    Código:
    Dim Rst As DAO.Recordset
    Dim sFiltro As String, sDadoCampo As String
    Dim intResult As Integer

        Set Rst = CurrentDb.OpenRecordset("tbCtbLanca", dbOpenTable)
        sFiltro = Me.idLanc.Value
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Como alterar Registro em Tabela Vinculada - VBA Empty Re: [Resolvido]Como alterar Registro em Tabela Vinculada - VBA

    Mensagem  JPaulo Seg 14 Nov 2022, 12:12 pm

    Mesmo tratando-se de uma tabela vinculada, o recordset local tem de funcionar;

    Faça o teste desta forma simples;

    Código:
    Dim sDadoCampo As String
    Dim intResult As Integer
    Dim Rst As DAO.Recordset
    Dim db As DAO.Database

    Dim sFiltro As Variant
    sFiltro = Me.idLanc.Value

    Set db = CurrentDb
    Set Rst = db.OpenRecordset("SELECT * FROM tbCtbLanca WHERE idLanc='" & sFiltro & "'")

    If Rst.RecordCount = 0 Then Exit Sub
    '--------------------------------------------------
        Rst.Edit
           'Rst("idLanc") = idLanc
           Rst("ContaD") = ContaD
           Rst("ContaC") = ContaC
           Rst("ValorDC") = ValorDC
           Rst("CodigoDeBarras") = CodigoDeBarras
           Rst("Data") = Data
           Rst("DtVecto") = DtVecto
           Rst("NumDoc") = NumDoc
       Rst.Update
    '--------------------------------------------------
    Rst.Close: If Not rs Is Nothing Then Set rs = Nothing
    Set db = Nothing


    .................................................................................
    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]Como alterar Registro em Tabela Vinculada - VBA Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Como alterar Registro em Tabela Vinculada - VBA Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Como alterar Registro em Tabela Vinculada - VBA Folder_announce_new Instruções SQL como utilizar...
    avatar
    alecardoso
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 32
    Registrado : 15/05/2015

    [Resolvido]Como alterar Registro em Tabela Vinculada - VBA Empty Re: [Resolvido]Como alterar Registro em Tabela Vinculada - VBA

    Mensagem  alecardoso Qui 05 Jan 2023, 7:47 pm

    Olá mestre JPaulo!

    Muito obrigado pelo retorno!   (devo desculpas pela minha demora em retornar)

    Estou anexando o banco *.mdb  (Access 2019)

    Permanece o erro 3078.  Alternativamente estou conseguindo alterar via Consulta, até conseguirmos descobrir como fazer alteração via código VBA.

    Grato!
    avatar
    Kaynan
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2818
    Registrado : 08/04/2012

    [Resolvido]Como alterar Registro em Tabela Vinculada - VBA Empty Re: [Resolvido]Como alterar Registro em Tabela Vinculada - VBA

    Mensagem  Kaynan Qui 05 Jan 2023, 8:41 pm

    "Estou anexando o banco *.mdb (Access 2019)"
    Não veio o banco
    avatar
    alecardoso
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 32
    Registrado : 15/05/2015

    [Resolvido]Como alterar Registro em Tabela Vinculada - VBA Empty Re: [Resolvido]Como alterar Registro em Tabela Vinculada - VBA

    Mensagem  alecardoso Sex 06 Jan 2023, 4:13 pm

    Estou anexando o banco *.mdb (zipado)
    Anexos
    [Resolvido]Como alterar Registro em Tabela Vinculada - VBA AttachmentAlterarRegistro.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (43 Kb) Baixado 5 vez(es)
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2772
    Registrado : 13/12/2016

    [Resolvido]Como alterar Registro em Tabela Vinculada - VBA Empty Re: [Resolvido]Como alterar Registro em Tabela Vinculada - VBA

    Mensagem  Alexandre Fim Sex 06 Jan 2023, 6:06 pm

    Olá,

    O Erro está nas ASPAS SIMPLES da instrução SQL abaixo:
    Set Rst = db.OpenRecordset("'SELECT * FROM tbCtbLanca WHERE idLanc='" & sFiltro & "'")

    Remova-as para ficar assim:
    Set Rst = db.OpenRecordset("SELECT * FROM tbCtbLanca WHERE idLanc=" & sFiltro & "")

    VAi funcionar.

    É isso

    Att,

    Alexandre Fim


    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    [Resolvido]Como alterar Registro em Tabela Vinculada - VBA Setinf11
    Sistemas e Tecnologia Ltda
    avatar
    Kaynan
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2818
    Registrado : 08/04/2012

    [Resolvido]Como alterar Registro em Tabela Vinculada - VBA Empty Re: [Resolvido]Como alterar Registro em Tabela Vinculada - VBA

    Mensagem  Kaynan Sex 06 Jan 2023, 10:09 pm

    Grande Alexandre..
    Anexos
    [Resolvido]Como alterar Registro em Tabela Vinculada - VBA AttachmentAlterarRegistro.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (48 Kb) Baixado 3 vez(es)
    avatar
    alecardoso
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 32
    Registrado : 15/05/2015

    [Resolvido]Como alterar Registro em Tabela Vinculada - VBA Empty Re: [Resolvido]Como alterar Registro em Tabela Vinculada - VBA

    Mensagem  alecardoso Dom 08 Jan 2023, 11:42 am

    Obrigado queridos por responder. Deu certo Alexandre, pôs um "Fim" à questão...rsrsrsr [Resolvido]Como alterar Registro em Tabela Vinculada - VBA 1f600

    Conclusão: o erro era com relação as aspas, não faz diferença de ser tabela local ou vinculada. Provavelmente mudei quando coloquei vinculada e não percebi.

    Tenho me beneficiado bastante das dicas aqui do site. Tem como contribuir por PIX? ou somente por PayPal?

    Grato!
    Alexandre Cardoso
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2772
    Registrado : 13/12/2016

    [Resolvido]Como alterar Registro em Tabela Vinculada - VBA Empty Re: [Resolvido]Como alterar Registro em Tabela Vinculada - VBA

    Mensagem  Alexandre Fim Dom 08 Jan 2023, 3:18 pm

    Valeu Cardoso...o fórum agradece!!!
    OBS: O sobrenome "Fim" já me rendeu vários buyiling...kkk...Tipo: O "Fim" está próximo / "É o começo do "fim" e por ai vai....hahahahaha
    Não há necessidade de PIX e nem PayPal, mas sempre que vc puder, contribua ajudando demais membros deste fórum com dicas sobre o Access.

    É isso.

    Um abraço e boa sorte

    FIM


    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    [Resolvido]Como alterar Registro em Tabela Vinculada - VBA Setinf11
    Sistemas e Tecnologia Ltda

      Data/hora atual: Ter 07 Fev 2023, 10:25 pm