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


    [Resolvido]Código VBA para Consulta Acrescentar

    avatar
    NgLemos
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Angola
    Mensagens : 16
    Registrado : 22/08/2013

    [Resolvido]Código VBA para Consulta Acrescentar Empty [Resolvido]Código VBA para Consulta Acrescentar

    Mensagem  NgLemos 10/12/2013, 19:02

    Boa noite a todos
    Desde já as minhas desculpas, porque já procurei aqui no fórum encontrei tópico parecido mas não ajudou a munha dúvida e já tentei resolver e está difícil. Via Access funciona só que aparece uma mensagem de aviso é o que pretendo é contornar esta situação.

    O qua pretendo é colocar em VBA uma consulta acrescentar, passo a explicar:

    Tenho uma "consulta Balanco" entre outros campos, tenho o Valor total Previsto e total Consumido por Natureza da despesa, por Acumulado  e por Mês , esta consulta é uma consulta união e funciona bem.

    O que pretendo é fazer um INSERT INTO do Valor Total Previsto  e Total Consumido em outra tabela pois nesta tem um campo que tem que ser manipulado.

    Resumindo tentei com a sintaxe do INSERT INTO de uma tabela para outra e não está a funcionar. O código que estou a tentar utilizar é o abaixo:

    DoCmd.RunSQL ("INSERT INTO orcFaltaRealizar ( CodProj, Periodo, CodFam, DescFam, CustoPrev, CustoReal ) SELECT cslBalanco.CodProj, cslBalanco.Periodo, cslBalanco.CodFam, cslBalanco.DescFam, Sum(cslBalanco.SomaDePrevitoC) AS SomaDeSomaDePrevitoC, Sum(cslBalanco.TotalAcum) AS SomaDeTotalAcum FROM cslBalanco WHERE CodProj = " & Me.txt_CodProj & " and Periodo = " & Me.cxc_Per.Column(0) & "")

    orcFaltaRealizar é a tabela destino
    cslBalanco é uma consulta união

    Desde já agradeço a ajuda
    avatar
    NgLemos
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Angola
    Mensagens : 16
    Registrado : 22/08/2013

    [Resolvido]Código VBA para Consulta Acrescentar Empty Re: [Resolvido]Código VBA para Consulta Acrescentar

    Mensagem  NgLemos 12/12/2013, 07:52

    Obrigado a quem tentou ajudar, porem resolvi com um ciclo for-next no subformulário dentro do formulário em que visualizo a consulta.

    Private Sub Form_Timer()

    Dim db As Database, rs As Recordset

    Dim Contar As Integer


    Contar = DCount("CodFam", "cslRptBalanco", "CodProj = " & Me.CodProj & "")

    For i = 1 To Contar

    On Error GoTo 1:

    CurrentDb.Execute " INSERT INTO orcFaltaRealizar ( CodProj, Periodo, CodFam, DescFam, TipoFam)VALUES ( " & Me.CodProj & " , " & Me.Periodo & " , " & Me.CodFam & " , '" & Me.DescFam & "', '" & Me.TipoFam & "')"
    CurrentDb.Execute "UPDATE orcFaltaRealizar set CustoPrev= " & Replace(Me.SomaDeSomaDePrevitoC, ",", ".") & " WHERE [CodProj] = " & Me.CodProj & " and CodFam = " & Me.CodFam & ""
    CurrentDb.Execute "UPDATE orcFaltaRealizar set CustoReal= " & Replace(Me.SomaDeTotalAcum, ",", ".") & " WHERE [CodProj] = " & Me.CodProj & " and CodFam = " & Me.CodFam & ""
    CurrentDb.Execute "UPDATE orcFaltaRealizar set PFO = " & Replace(Me.SomaDeSomaDePrevitoC, ",", ".") & " WHERE [CodProj] = " & Me.CodProj & " and CodFam = " & Me.CodFam & ""
    Me.Form.Recordset.MoveNext
    Next

    1:
    If Err.Number = 3021 Then
       Me.TimerInterval = 0
       Else
    Exit Sub
    End If


    End Sub

      Data/hora atual: 7/5/2024, 14:47