MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

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

    Somando valores de uma tabela em outras tabelas

    Compartilhe

    HugoLuiz
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 67
    Registrado : 18/07/2014

    Somando valores de uma tabela em outras tabelas

    Mensagem  HugoLuiz em Qua 03 Dez 2014, 14:13

    Bom dia pessoal.

    Mais uma vez estou com uma situação que não consigo resolver (ja pensei em alguns métodos porem não sei desenvolver em VBA).

    Meu Problema

    Tenho um banco de dados que consigo vincular eles por fonte ODBC no access onde consigo manipular os dados.
    o sistema cria cada ano e mês cria uma tabela que começa com "HIDL" os dois últimos campos do ANO e os dois últimos campo do MÊS, EX: se tivesse uma fatura do ano de 2003 mês 09 o nome da tabela ficaria assim "HIDL0309".
    Tendo isso em mente eu criei um arquivo em access onde importei as tabelas do bando de dados somente do ano de 2003 que ficaram como: HIDL0301, HIDL0302, HIDL0303, HIDL0304, HIDL0305, HIDL0306, HIDL0307, HIDL0308, HIDL0309, HIDL0310, HIDL0311 e HIDL0312.
    Também tenho uma outra tabela com nome PADRAO onde contem os nomes das tabelas HIDL a MATRICULA e o VALOR

    Oque eu Preciso

    Tenho que pegar a tabela PADRAO onde contem as tabelas HIDL e fazer um metodo que some o VALOR mais quatro campo das tabelas HIDL que sao: LEI_CAT_VALOR_1, LEI_VALOR_CONSUMO, LEI_VALOR_TOTAL e LEI_VALOR_PAGO
    Sendo assim deve pegar a tabela PADRAO e verificar o campo TABELA que corresponde as tabelas importadas ex: na tabela PADRAO tem uma linha que contem MATRICULA: 4683, TABELA: HIDL0309  e  VALOR: R$ 1,49, para MATRICULA:4683 no HIDL0309 esta com o valor de R$ 20,98 que deve ser somado com os R$ 1,49 ficando com valor de R$ 22,47.
    Eu imagino que deve fazer um vinculo do HIDL0309 a tabela HIDL0309 e a [PADRAO].[MATRICULA] = [HIDL0309].[LEI_MATRICULA]
    Depois basta executar a soma que é [PADRAO].[VALOR]+[HIDL0309].[LEI_CAT_VALOR_1],
    [PADRAO].[VALOR]+[HIDL0309].[LEI_VALOR_CONSUMO],
    [PADRAO].[VALOR]+[HIDL0309].[LEI_VALOR_TOTAL] e
    [PADRAO].[VALOR]+[HIDL0309].[LEI_VALOR_PAGO]

    Eu até consigo fazer esta soma, mas eu tenho que colocar tabela por tabela em uma consulta e fazer uma consulta de atualização onde soma o VALOR+LEI_VALOR_TOTAL...

    Eu queria ver com vocês se tem como fazer método que faça isso tudo de uma vez se possível pois tenho que fazer para cada mês estas vinculações e tem pessoas que devem desde 2000 até 2014, fica um tanto desgastante fazer tabela por tabela.

    vocês podem me ajudar?

    Obs. estou anexando o Tabelas.accdb para que possam melhor entender dentro  tem uma consulta de atualização "Exemplo" onde esta executando a soma.
    Anexos
    Tabelas.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (2.9 Mb) Baixado 4 vez(es)

    criquio
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    Re: Somando valores de uma tabela em outras tabelas

    Mensagem  criquio em Qua 03 Dez 2014, 14:22

    Uma pergunta: precisa mesmo criar uma tabela para cada mês? Pelo que estive observando, me parece que a estrutura delas é a mesma. Assim sendo, uma única tabela poderia ser usada bastando colocar um campo para o mês e o ano. Imagine quando o número de tabelas atingir a quantidade máxima suportada pelo Access... irá ter um problemão para resolver. Acho que deveria considerar uma mudança nessa estrutura aí.


    .................................................................................
    Meu novo site: [Você precisa estar registrado e conectado para ver este link.]

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.


    HugoLuiz
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 67
    Registrado : 18/07/2014

    Re: Somando valores de uma tabela em outras tabelas

    Mensagem  HugoLuiz em Qua 03 Dez 2014, 14:26

    Então conforme falei anteriormente o ACCESS é utilizado como ferramenta case onde eu vinculo as tabelas por meio de um ODBC e manipulo os dados.
    Estou com este problema pois preciso fazer estas alterações em varias tabelas.

    criquio
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    Re: Somando valores de uma tabela em outras tabelas

    Mensagem  criquio em Qua 03 Dez 2014, 15:58

    Ainda não entendi a necessidade de criar tantas tabelas, mas se os campos envolvidos tem mesmo nome todas as tabelas, você pode fazer um Loop pelas tabelas e ir somando:

    Código:
        Dim tbDef As TableDef, rs As Recordset, Soma As Double

        For Each tbDef In CurrentDb.TableDefs
            If Left(tbDef.Name, 4) = "HIDL" Then
                Set rs = CurrentDb.OpenRecordset(tbDef.Name)
                    Soma = Soma + rs("LEI_MATRICULA")
                rs.Close
                Set rs = Nothing
            End If
        Next

    Para inserir essa soma em outra tabela:

    Código:
    CurrentDb.Execute "INSERT INTO nomeTabela(nomeCampo) VALUES(" & Soma & ")"


    .................................................................................
    Meu novo site: [Você precisa estar registrado e conectado para ver este link.]

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.


    HugoLuiz
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 67
    Registrado : 18/07/2014

    Re: Somando valores de uma tabela em outras tabelas

    Mensagem  HugoLuiz em Qua 03 Dez 2014, 19:16

    isso eu vou colocar dentro de um botão de um formulário?

    criquio
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    Re: Somando valores de uma tabela em outras tabelas

    Mensagem  criquio em Qua 03 Dez 2014, 19:31

    No formulário aonde está a combo com a lista de nomes.


    .................................................................................
    Meu novo site: [Você precisa estar registrado e conectado para ver este link.]

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.


    HugoLuiz
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 67
    Registrado : 18/07/2014

    Re: Somando valores de uma tabela em outras tabelas

    Mensagem  HugoLuiz em Qua 03 Dez 2014, 20:14

    mas com esse codigo acima eu nao conseguirei somar os valores colocando-os direto nas tabelas HIDL?

    criquio
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    Re: Somando valores de uma tabela em outras tabelas

    Mensagem  criquio em Qua 03 Dez 2014, 20:18

    Essa função é um exemplo para você adaptar colocando os campos que quer. Função só pode ser executada dentro de um formulário ou relatório ou ainda criando ela em um módulo e chamando em um macro.


    .................................................................................
    Meu novo site: [Você precisa estar registrado e conectado para ver este link.]

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.


    HugoLuiz
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 67
    Registrado : 18/07/2014

    Re: Somando valores de uma tabela em outras tabelas

    Mensagem  HugoLuiz em Qua 03 Dez 2014, 20:28

    certo, conforme falei no inicio eu não sei programar em VBA...
    teria como você fazer um exemplo desse ai que soma direto no HIDL quando clicar em um botão?

    HugoLuiz
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 67
    Registrado : 18/07/2014

    Re: Somando valores de uma tabela em outras tabelas

    Mensagem  HugoLuiz em Qui 04 Dez 2014, 18:23

    Então criquio, sera que é possível fazer algo conforme eu falei anteriormente?

    HugoLuiz
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 67
    Registrado : 18/07/2014

    Re: Somando valores de uma tabela em outras tabelas

    Mensagem  HugoLuiz em Qui 11 Dez 2014, 14:16

    Alguém pode me ajudar com este problema?

      Data/hora atual: Sex 09 Dez 2016, 07:43