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]transformar uma consulta em codigo vba

    avatar
    esabbag
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 33
    Registrado : 27/07/2010

    [Resolvido]transformar uma consulta em codigo vba Empty [Resolvido]transformar uma consulta em codigo vba

    Mensagem  esabbag 11/9/2010, 16:14

    Por favor, alguém poderia me ajudar?

    Tenho uma tabela com os campos: controle (auto numeração); codContrib (número inteiro); qdesai (número duplo); vbsai (número duplo); vlunitsai (número duplo); qdesaldo (número duplo); vlunitsaldo (número duplo); TotalSaldo (número duplo);VlBCEnt (número duplo).

    Tenho uma consulta onde preciso calcular os seguintes valores :
    vbsai= [qdesai]*[vlunitsai]
    vlunitsai= vlunitsaldo do registro anterior
    vlus= [totalSaldo]/[qdesaldo]
    totalsaldo= [totalsaldoAnterior]+[vlbcent]-[vbsai]

    estou usando as seguintes fórmulas:
    A: Nz([TotalSaldoAnt])+Nz([VlrtotBCSTEnt])-[vbsai]
    B: DSoma("[A]";"QryAtualizaVlSaldo";"[controle]<= " & [controle] & " and [CodContrib]= " & [CodContrib])
    vlus: [B]/[QdeSaldo]
    vlubs: DPesquisa("[vlus]";"QryAtualizaVlSaldo";"[controle]<= " & [controle] & " and [CodContrib]= " & [CodContrib])
    vbc: [QdeSai]*[vlubs]

    Goataria de transformar essas consultas em codigos vba , quando mando executar a consulta ela reinicia o Acess eu não sei nada de VBA

    Obrigado
    Elias
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]transformar uma consulta em codigo vba Empty Re: [Resolvido]transformar uma consulta em codigo vba

    Mensagem  criquio 11/9/2010, 16:42

    Olha como ficaria a primeira em vba, no evento "Ao clicar" de um botão:

    Private Sub NomeBotão_Click()
    Me.NomedocampoTotal = ([TotalSaldoAnt])+Nz([VlrtotBCSTEnt])-[vbsai]
    End Sub

    Se quiser fazer o cálculo após atualizar um dos campos envolvidos no processo, use o evento "Após atualizar" dos campos dos valores para que esses sejam atualizados no campo do total.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    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.

    avatar
    esabbag
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 33
    Registrado : 27/07/2010

    [Resolvido]transformar uma consulta em codigo vba Empty Re: [Resolvido]transformar uma consulta em codigo vba

    Mensagem  esabbag 11/9/2010, 19:02

    Criquio obrigado pela resposta
    Andei pesquisando e achei um exemplo e cheguei neste codigo:

    Public Function AtualizaTotSaldo()

    DoCmd.SetWarnings False
    DoCmd.RunSQL "SELECT AtualizaTotSaldo.Controle,AtualizaTotSaldo.CodContrib,AtualizaTotSaldo.vlus, AtualizaTotSaldo.Data AS DData, AtualizaTotSaldo.VlrtotBCSTEnt, AtualizaTotSaldo.QdeSai, AtualizaTotSaldo.VlrUnitSai,AtualizaTotSaldo.VlrBCSTSai,AtualizaTotSaldo.TotalSaldo,AtualizaTotSaldo.VlrUnitSaldo,AtualizaTotSaldo.VlrUnitSaldoAnt,AtualizaTotSaldo.B,AtualizaTotSaldo.QdeSaldo,AtualizaTotSaldo.TotalSaldoAnt, 0 AS VlSaldo INTO TotalSaldo FROM AtualizaTotSaldo ORDER BY AtualizaTotSaldo.CodContrib, AtualizaTotSaldo.Data,AtualizaTotSaldo.cfop,AtualizaTotSaldo.NumEnt,AtualizaTotSaldo.NumSai;"
    DoCmd.SetWarnings True

    Dim tbControledeEstoque As Recordset
    Dim QdeSaldo As Recordset
    Set tbControledeEstoque = CurrentDb.OpenRecordset("TotalSaldo")

    Dim prod As String
    Dim Vlsaldo As Double
    Dim VUSaldo As Double
    Dim controle As Integer
    Dim CodContrib As String
    Dim VlrUnitSaldoAnt As Double
    Dim vbc As Double
    Dim VBCEnt As Double
    Dim A As Double
    Dim B As Double
    Dim vlus As Double

    Do While Not tbControledeEstoque.EOF
    prod = tbControledeEstoque!CodContrib
    Vlsaldo = tbControledeEstoque!TotalSaldoAnt
    VUSaldo = tbControledeEstoque!VlrUnitSaldoAnt
    A = tbControledeEstoque!TotalSaldo
    VBCEnt = tbControledeEstoque!VlrtotBCSTEnt
    vbc = tbControledeEstoque!VlrBCSTSai
    vlus = tbControledeEstoque!VlrUnitSaldo

    Do While tbControledeEstoque!CodContrib = prod
    tbControledeEstoque.Edit
    A = Vlsaldo + VBCEnt - [vbc]
    B = DSum("(Nz(Vlsaldo) + Nz(VBCEnt) - Nz(vbc))", "AtualizaTotSaldo", "tbControledeEstoque!controle<=" & tbControledeEstoque!controle & "and tbControledeEstoque!CodContrib = " & tbControledeEstoque!CodContrib)
    vlus = B / tbControledeEstoque!QdeSaldo
    vlubs = DLookup("[vlus]", "AtualizaTotSaldo", "tbControledeEstoque!controle<=" & tbControledeEstoque!controle & "and tbControledeEstoque!CodContrib = " & tbControledeEstoque!CodContrib)
    vbc = tbControledeEstoque![QdeSai] * [vlubs]
    tbControledeEstoque.Update
    tbControledeEstoque.MoveNext
    If tbControledeEstoque.EOF Then Exit Do
    Loop
    Loop

    tbControledeEstoque.Close

    End Function


    mas esta dando erro

    anexo BD de exemplo

    uso access 2010
    obrigado
    avatar
    esabbag
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 33
    Registrado : 27/07/2010

    [Resolvido]transformar uma consulta em codigo vba Empty Re: [Resolvido]transformar uma consulta em codigo vba

    Mensagem  esabbag 13/9/2010, 14:33

    Criquio, bom dia.

    Tentei fazer o que vc me indicou, mas não consigo achar o evento apos atualizar, já procurei na tabela (propriedades), em macros, no formulário, etc.
    Acho que desaprendi o basico do access.

    Se vc puder me ajudar novamente eu agradeço.
    Obrigado
    Elias

    Já achei, obrigado

    Conteúdo patrocinado


    [Resolvido]transformar uma consulta em codigo vba Empty Re: [Resolvido]transformar uma consulta em codigo vba

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 11:46