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]Atualizar Vários Registros com base em campos de Outras tabelas

    avatar
    fbsfer
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 9
    Registrado : 30/07/2014

    [Resolvido]Atualizar Vários Registros com base em campos de Outras tabelas Empty [Resolvido]Atualizar Vários Registros com base em campos de Outras tabelas

    Mensagem  fbsfer 24/9/2015, 16:11

    Bom dia, amigos.
    Venho pela segunda vez pedir ajuda, agradecendo primeiramente a rápida ajuda que obtive a primeira vez que precisei.
    Bom é o seguinte, resumindo
    Tenho a Tabela Tbl_SomaCapacitacao com os campos Codigo, Matricula e Pontos
    Tenho a Consulta Cs_SomaCapacitacao com os campos Matricula e Pontos
    Essa consulta soma os pontos de uma outra tabela que tenho chamada Tbl_Capacitacao que tem os campos Código, Matricula, Nome, Curso e Pontos, essa tabela pode receber vários registros de uma mesma matricula, por isso  a consulta somandos os pontos.

    Quero fazer algo mais profundo, que fará o mesmo que o teste que pretendo fazer primeiro.
    O teste é o seguinte, Preciso fazer um update na tabela Tbl_SomaCapacitacao no campo Pontos, recebendo os valores do campo Pontos da Consulta Cs_SomaCapacitacao mas como são vários registros, preciso que esse update aconteça quando o Campo Matricula da tabela Tbl_SomaCapacitacao seja o mesmo do campo Matricula da consulta Cs_SomaCapacitacao...
    Fiz  da seguinte forma:

    Dim dbs As Database
    Private Sub Form_Load()


    Set dbs = OpenDatabase("C:\Users\usuario\Desktop\sistema rh\Sistema de Recursos Humanos.accdb")
    dbs.Execute "UPDATE Tbl_SomaCapacitacao SET Tbl_SomaCapacitacao.Pontos = Cs_SomaCapacitacao.Pontos WHERE Tbl_SomaCapacitacao.Matricula = Cs_SomaCapacitacao.Matricula;"
    dbs.Close

    End Sub

    Mas não tá funcionando, Está dando o erro em tempo de execução '3061': Parâmetros Insuficientes, Eram esperados 2.

    Podem me ajudar? bounce  confused
    Grato
    Dilson
    Dilson
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1743
    Registrado : 11/11/2009

    [Resolvido]Atualizar Vários Registros com base em campos de Outras tabelas Empty Re: [Resolvido]Atualizar Vários Registros com base em campos de Outras tabelas

    Mensagem  Dilson 25/9/2015, 13:26

    O seu caso pode ser resolvido aplicando o proposto na mensagem n° 4 daqui:
    comparar duas tabelas e alterar campo


    Adapte.
    avatar
    fbsfer
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 9
    Registrado : 30/07/2014

    [Resolvido]Atualizar Vários Registros com base em campos de Outras tabelas Empty Erro

    Mensagem  fbsfer 25/9/2015, 16:18

    Dilson, primeiramente obrigado pela resposta...
    Meu código ficou assim:

    strSql = "UPDATE CS_SomaCapacitacao,Tbl_SomaCapacitacao "
    strSql = strSql & "SET Tbl_SomaCapacitacao.Pontos = Cs_SomaCapacitacao.SomaDePontos WHERE Tbl_SomaCapacitacao.Matricula=Cs_SomaCapacitacao.Matricula;"
    CurrentDb.Execute (strSql)

    Mas ocorreu o seguinte erro:
    Erro em tempo de Execução 3073: A operação deve utilizar uma consulta atualizável

    Bom, feito isso imaginei que fosse por seu uma consulta ao invés de uma tabela, então pensei em buscar os dados direto na tabela inicial que é a Tbl_CadastraCapacitacao, nesse caso fiz apenas um select para ver o que retornava no campo Texto28, mas tb deu erro...
    Olha o código

    strSql = "SELECT Tbl_CadastraCapacitacao.Matricula, Sum(Tbl_CadastraCapacitacao.Pontos) AS SomaDePontos FROM Tbl_CadastraCapacitacao WHERE Tbl_CadastraCapacitacao.Matricula = Me.Matricula;"
    CurrentDb.Execute (strSql)

    Me.Texto28 = strSql

    onde Me.Matricula é um campo do meu formulário...
    Olha o erro:

    Erro em tempo de execução 3065: Não é possivel executar uma consulta seleção
    Dilson
    Dilson
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1743
    Registrado : 11/11/2009

    [Resolvido]Atualizar Vários Registros com base em campos de Outras tabelas Empty Re: [Resolvido]Atualizar Vários Registros com base em campos de Outras tabelas

    Mensagem  Dilson 25/9/2015, 16:30

    Tô saindo pro almoço agora, mas, olhando rápido vejo que se quer contar precisa agrupar. Use Group By e veja como reage a segunda instrução postada:

    strSql = "SELECT Tbl_CadastraCapacitacao.Matricula, Sum(Tbl_CadastraCapacitacao.Pontos) AS SomaDePontos FROM Tbl_CadastraCapacitacao WHERE Tbl_CadastraCapacitacao.Matricula = Me.Matricula GROUP BY Tbl_CadastraCapacitacao.Matricula;"

    Se desejar, poste parte da base referente isso que dou uma olhada sobre possibilidades.
    avatar
    fbsfer
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 9
    Registrado : 30/07/2014

    [Resolvido]Atualizar Vários Registros com base em campos de Outras tabelas Empty Re: [Resolvido]Atualizar Vários Registros com base em campos de Outras tabelas

    Mensagem  fbsfer 25/9/2015, 18:04

    Perfeito!
    Muito obrigado!
    Dilson
    Dilson
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1743
    Registrado : 11/11/2009

    [Resolvido]Atualizar Vários Registros com base em campos de Outras tabelas Empty Re: [Resolvido]Atualizar Vários Registros com base em campos de Outras tabelas

    Mensagem  Dilson 25/9/2015, 18:35

    Que ótimo. O fórum agradece a resposta.

    Disponha cheers

      Data/hora atual: 3/12/2022, 02:42