MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Dados no relatório com operação VBA, com base em caixa de combinação

    Compartilhe

    leo.gool
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 30
    Registrado : 27/02/2018

    [Resolvido]Dados no relatório com operação VBA, com base em caixa de combinação

    Mensagem  leo.gool em Sex 27 Abr 2018, 16:08

    Olá, eu tenho um formulário que obtenho dados à partir de uma instrução VBA, o código é para obter o total de quilômetros percorridos por um veículo, o veículo eu seleciono por caixa de combinação, e os dados aparecem em uma caixa de texto, a função funciona perfeitamente se eu busco obter o valor de km percorrida de todos os veículos, mas não obtenho resultado quando tento filtrar, se alguém puder me ajudar com esse prolema fico grato, segue o código das duas formas, com o filtro e sem o filtro

    Não Funciona
    Sub Combinação2_AfterUpdate()
    Dim strVeiSel As String
    Dim kmc, kms, kmp As Integer
    strVeiSel = Combinação2.Column(0)
    kmc = DSum("[Km Chegada]", "Eventos", "[Veículo/Placa] = '" & strVeiSel & "'")
    kms = DSum("[Km Saída]", "Eventos", "[Veículo/Placa] = '" & strVeiSel & "'")
    Texto0 = kmc - kms
    End Sub

    Funciona
    Sub Combinação2_AfterUpdate()
    Dim strVeiSel As String
    Dim kmc, kms, kmp As Integer
    strVeiSel = Combinação2.Column(0)
    kmc = DSum("[Km Chegada]", "Eventos")
    kms = DSum("[Km Saída]", "Eventos")
    Texto0 = kmc - kms
    End Sub
    avatar
    wellingtoneo
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 292
    Registrado : 30/07/2012

    Re: [Resolvido]Dados no relatório com operação VBA, com base em caixa de combinação

    Mensagem  wellingtoneo em Sex 27 Abr 2018, 17:02

    Olá!

    O que tem dentro da variável strVeiSel e do tipo string?

    No aguardo.

    leo.gool
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 30
    Registrado : 27/02/2018

    Re: [Resolvido]Dados no relatório com operação VBA, com base em caixa de combinação

    Mensagem  leo.gool em Sex 27 Abr 2018, 17:08

    Olá, sim
    avatar
    wellingtoneo
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 292
    Registrado : 30/07/2012

    Re: [Resolvido]Dados no relatório com operação VBA, com base em caixa de combinação

    Mensagem  wellingtoneo em Sex 27 Abr 2018, 17:47

    Qual mensagem de erro?

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3632
    Registrado : 29/06/2012

    Re: [Resolvido]Dados no relatório com operação VBA, com base em caixa de combinação

    Mensagem  Noobezinho em Sex 27 Abr 2018, 19:05

    Leonardo

    Vamos falar sério.

    Por quê não colocar nomes nos controle?

    Nome em controles, já nos dá ideia de onde ele vem, evitando

    idas e vindas do formulário pra saber o que é.

    Outra:

    Dim kmc, kms, kmp As Integer

    Na frase acima, kmc e kms são variantes, e somente kmp é integer

    Temos que declarar cada variável:
    Dim kmc As Integer, kms As Integer, kmp As Integer

    Esse nome de campo/controle está errado: [Veículo/Placa]

    Não se usa a barra ( / ) em nome de objetos do Access, ele não aceita.

    Se fizer um teste, ele só irá considerar a primeira palavra(Veiculo).

    Sugiro também que evite utilizar acentos nas palavras, uma hora

    poderá esquecer, e achar o erro vai ser, digamos, difícil.


    Lembrando que:

    strVeiSel = Combinação2.Column(0)

    As colunas de uma caixa de combinação começa do zero (0).

    Verifique se a coluna (0) é realmente a coluna que deseja.

    Acerte o código que não estava funcionado e veja se dá certo.

    Se não, disponibilize as partes envolvidas.

    Sinto falar essa coisas, mas quando nos pegamos exemplos para analisar

    e ajudar, dá vontade de desistir,  por ter que ir atrás dos controles pra saber

    de onde eles vêm.

    Essa é uma das causas, que programador algum, não pega programas feito

    por outros, para consertar, adicionar, o que seja.

    Balem

    leo.gool
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 30
    Registrado : 27/02/2018

    Re: [Resolvido]Dados no relatório com operação VBA, com base em caixa de combinação

    Mensagem  leo.gool em Seg 14 Maio 2018, 13:51

    Desculpe pela demora no retorno, mas consegui resolver meu problema à partir das recomendações, não foi necessário alterar o nome do campo, o problema estava na atribuição de variáveis feita de forma incorreta, e na forma de chamar a variável estava faltando aspas simples, segue o código com algumas alterações que agora está funcionando perfeitamente

    Código:
    kmTotal = DSum("[Km Chegada] - [Km Saída]", "Eventos", "[Veículo/Placa] = '" & Combinação2.Column(1) & "' and [Situação Saída] = 'FINALIZADA'")
        cont = 1
        Do While cont <= 12
            kmpMes(cont) = DSum("[Km Chegada] - [Km Saída]", "Eventos", "[Veículo/Placa] = '" & Combinação2.Column(1) & "' and [Situação Saída] = 'FINALIZADA' and Month([Data Saída]) = '" & cont & "'")
            cont = cont + 1
        Loop

      Data/hora atual: Qua 20 Jun 2018, 12:41