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

    Mostrar Faturas Vendidas separadas por mês

    Compartilhe

    JSommavilla
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 28
    Registrado : 21/09/2014

    Mostrar Faturas Vendidas separadas por mês

    Mensagem  JSommavilla em Qui 14 Jul 2016, 13:52

    Senhores,

    Preciso demostrar em um formulário, as faturas vencidas na seguinte forma, a partir de uma data:

    Data base:

    até 30 dias               valor
    de 31 a 60 dias         valor
    de 61 a 90 dias         valor
    de 91 a 120 dias       valor
    de 121 a 150 dias     valor
    de 151 a 180 dias     valor
    mais de 180 dias       valor


    No exemplo em anexo tenho essas informações, porém em um "select case", no formulário "frmteste" do BD em anexo.

    Gostaria que, quando o usuário escolhesse uma data, no formulário já demostrasse conforme o formulário "frmfaturasvencidas"

    Alguém poderia dar uma ajuda?

    Agradeço.
    Anexos
    FaturasVencidas.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (63 Kb) Baixado 13 vez(es)

    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 5890
    Registrado : 05/11/2009

    Re: Mostrar Faturas Vendidas separadas por mês

    Mensagem  Alexandre Neves em Dom 17 Jul 2016, 07:49

    Bom dia
    Queria que já demostrasse conforme o formulário "frmfaturasvencidas"?
    Neste formulário não vejo que demonstre


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo

    JSommavilla
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 28
    Registrado : 21/09/2014

    Re: Mostrar Faturas Vendidas separadas por mês

    Mensagem  JSommavilla em Seg 18 Jul 2016, 13:18

    Bom dia Alexandre,

    Agradeço pelo retorno.

    Na questão do formulário "frmfaturasvencidas", gostaria que fossem retornados os valores conforme está disposto nesse formulário, quando o usuário escolher uma data base. Ou seja, quando fosse escolhida a data base, que o formulário já fosse preenchido automaticamente, de acordo com os rótulos. É esse o código que preciso, pois, no formulario "frmteste", a informação vem conforme é selecionado no "quadro".

    O que preciso é quando o usuário escolhesse a data base, que o formulário "frefaurasvencidas" já fosse totalmente preenchido, sem a necessidade de escolher, conforme está no "frmteste".

    Espeto ter explicado claramente!

    Obrigado.

    JSommavilla
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 28
    Registrado : 21/09/2014

    Re: Mostrar Faturas Vendidas separadas por mês

    Mensagem  JSommavilla em Qui 21 Jul 2016, 21:05

    Prezados,

    Alguma ideia?

    Grato.

    philipp.moreira
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 185
    Registrado : 05/02/2016

    Re: Mostrar Faturas Vendidas separadas por mês

    Mensagem  philipp.moreira em Qui 21 Jul 2016, 23:24

    JSomm, boa noite!

    Formulário: [frmTeste]
         O objetivo deste formulário é demonstrar dentro das Faturas já vencidas quais são as datas e valor acumulado por data. Certo?
         O comportamento é que ele vá mostrando dentro das categorias de vencimento, quais datas estão inclusas e distribua nos campos. Certo?

    Formulário: [FrmfaturasVencidas]
        Neste formulário você deseja demonstrar o valor acumulado por Categorias de Vencimento (30, 60, 90 etc... ), correto?

    Ao invés de montar sua consulta conforme abaixo:
    Código:
    SELECT *
    FROM qryValoresReceber
    WHERE Dinamico;

    Experimente montar a consulta, aonde {Dinamico}, você substitui pela lógica que você deve considerar no filtro.
    Código:
    SELECT
         SUM(V.ValorReceber) AS [Valor]
        ,IIF(Datediff("d", DataVencimento, Date()) <= 30, 30, IIF( Datediff("d", DataVencimento, Date()) >= 31 AND Datediff("d", DataVencimento, Date()) <= 60, 60, IIF( Datediff("d", DataVencimento, Date()) >= 61 AND Datediff("d", DataVencimento, Date()) <= 90, 90, IIF( Datediff("d", DataVencimento, Date()) >= 91 AND Datediff("d", DataVencimento, Date()) <= 120, 120, IIF( Datediff("d", DataVencimento, Date()) >= 121 AND Datediff("d", DataVencimento, Date()) <= 180, 180, "+180"))))) AS [Categoria Vencimento]
    FROM qryValoresReceber AS V

    WHERE {Dinamico}

    GROUP BY
    IIF(Datediff("d", DataVencimento, Date()) <= 30, 30, IIF( Datediff("d", DataVencimento, Date()) >= 31 AND Datediff("d", DataVencimento, Date()) <= 60, 60, IIF( Datediff("d", DataVencimento, Date()) >= 61 AND Datediff("d", DataVencimento, Date()) <= 90, 90, IIF( Datediff("d", DataVencimento, Date()) >= 91 AND Datediff("d", DataVencimento, Date()) <= 120, 120, IIF( Datediff("d", DataVencimento, Date()) >= 121 AND Datediff("d", DataVencimento, Date()) <= 180, 180, "+180")))));


    Assim será montado uma matriz, conforme print abaixo:
    [Você precisa estar registrado e conectado para ver esta imagem.]

    A partir dai bastar percorrer o recordset e preencher o campo conforme deseja.
    PS.: No formulario vc possui tres colunas, como não ha legenda nao sei que informaçao a mais desejaria. Mas basta adptar a consulta incluindo campo no select e clausula group by, lembrando de separar por virgula.

    Espero ter ajudado.

    JSommavilla
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 28
    Registrado : 21/09/2014

    Re: Mostrar Faturas Vendidas separadas por mês

    Mensagem  JSommavilla em Sex 22 Jul 2016, 15:51

    Prezado Philipp,

    Agradeço pela resposta.

    Realmente as suas colocações estão corretas. No "frmfaturasvencidas", gostaria que fossem colocados os valores nas caixas de texto, conforme o tempo de vencimento: 30 dias, 60 dias, etc, como demonstrados na consulta que você fez. A outra coluna desse formulário é para demonstrar o percentual do total vencido, por categoria. Exemplo:


    Até 30 dias 100,00 20%
    de 31 a 60 dias 100,00 20%
    de 61 a 90 dias 300,00 60%

    total 500,00 100%

    Qual é o código para eu colocar essas informações no formulário?

    Obrigado!



    philipp.moreira
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 185
    Registrado : 05/02/2016

    Re: Mostrar Faturas Vendidas separadas por mês

    Mensagem  philipp.moreira em Sex 22 Jul 2016, 18:42

    Crie uma função para o(s) campo(s) de percentual diretamente no construtor de função ( Minha opinião: pois aqui, não é necessário VBA ).

    JSommavilla
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 28
    Registrado : 21/09/2014

    Re: Mostrar Faturas Vendidas separadas por mês

    Mensagem  JSommavilla em Sex 22 Jul 2016, 18:48

    Para colocar o percentual, não há problemas. A minha dúvida é qual o código para que o formulário demonstre os valores dentro das caixas de texto. Ou seja, como transportar os valores da consulta para o formulário.

    philipp.moreira
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 185
    Registrado : 05/02/2016

    Re: Mostrar Faturas Vendidas separadas por mês

    Mensagem  philipp.moreira em Sex 22 Jul 2016, 18:49

    Preencha o recordset, percorra ele, setando os respectivos valores aos seus campos. Como você fez no outro form!

    JSommavilla
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 28
    Registrado : 21/09/2014

    Re: Mostrar Faturas Vendidas separadas por mês

    Mensagem  JSommavilla em Sex 22 Jul 2016, 19:56

    Prezado,

    Fiz conforme sua orientação. E funcionou perfeitamente sem o filtro da data.

    O que preciso agora é fazer que seja demonstrado os valores cujos vencimentos sejam anteriores a data informada [dta0].

    Como deve ser o código do filtro? Por favor, eja abaixo o código que está dando erro de sintaxe.


    strFiltro = "DataVencimento < #" & Format(Me!dta0, "mm/dd/yyyy")
    strSql = " SELECT * FROM qryValoresReceber WHERE " & strFiltro
    Set rs = CurrentDb.OpenRecordset(strSql)

    Obrigado.
    Anexos
    FaturasVencidas.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (75 Kb) Baixado 5 vez(es)

    philipp.moreira
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 185
    Registrado : 05/02/2016

    Re: Mostrar Faturas Vendidas separadas por mês

    Mensagem  philipp.moreira em Sex 22 Jul 2016, 19:59

    Está faltando & "# " , depois do format().

    JSommavilla
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 28
    Registrado : 21/09/2014

    Re: Mostrar Faturas Vendidas separadas por mês

    Mensagem  JSommavilla em Sex 22 Jul 2016, 20:03

    Agora aparece esse erro:

    Erro em tempo de execução 3061
    Parâmetros insuficientes. Eram esperados 1.

    philipp.moreira
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 185
    Registrado : 05/02/2016

    Re: Mostrar Faturas Vendidas separadas por mês

    Mensagem  philipp.moreira em Sex 22 Jul 2016, 20:04

    Manda print de onde o código para.

    JSommavilla
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 28
    Registrado : 21/09/2014

    Re: Mostrar Faturas Vendidas separadas por mês

    Mensagem  JSommavilla em Sex 22 Jul 2016, 20:12

    Veja o anexo.
    Anexos
    printtela.docx
    Você não tem permissão para fazer download dos arquivos anexados.
    (104 Kb) Baixado 3 vez(es)

    philipp.moreira
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 185
    Registrado : 05/02/2016

    Re: Mostrar Faturas Vendidas separadas por mês

    Mensagem  philipp.moreira em Sex 22 Jul 2016, 20:14

    No format experimente mudar para padrao de data brasileiro. dd/mm/yyyy

    JSommavilla
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 28
    Registrado : 21/09/2014

    Re: Mostrar Faturas Vendidas separadas por mês

    Mensagem  JSommavilla em Sex 22 Jul 2016, 20:29

    Tentei e deu o mesmo erro.

    Agora, quando eu abro o formulário "frmfaturasvencidas' vem o seguinte erro:

    Erro em tempo de execução 3075

    Erro de sintaxe na data na expressão de consulta 'Datavencimento < #'

    philipp.moreira
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 185
    Registrado : 05/02/2016

    Re: Mostrar Faturas Vendidas separadas por mês

    Mensagem  philipp.moreira em Sex 22 Jul 2016, 21:07

    jsomm,

    O Erro ao abrir o formulário, está ocorrendo pois você chama o evento do campo data no load do formulário quando o campo é nulo, sendo assim, estoura o erro. Retire esta chamada e parte do problema vai estar a caminho da solução final.

    Revi seu código, e basicamente ocorre erro ao setar o recordset, pois as variáveis, possuem diferença de nome. Reveja a nomenclatura que definiu na declaração das variáveis e a nomenclatura de chamada(s) dentro do seu código.

    Obs.: Eu recomendo que em todos seus códigos, utilize a declaração [Option Explicit] no começo do documento de código na parte superior acima de todos os Subs, eventos e functions, a qual força a declaração para utilização de uma variável o que minimiza a possibilidade de declarar variavel com um nome e chama-la com outro, bem como força deixar explicitamente qual o tipo de dado da variável o que facilita uma leitura, interpretação e entendimento do código, por uma outra pessoa que não você, ao se realizar uma manutenção por exemplo.

    JSommavilla
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 28
    Registrado : 21/09/2014

    Re: Mostrar Faturas Vendidas separadas por mês

    Mensagem  JSommavilla em Qua 27 Jul 2016, 02:35

    Agradeço a ajuda recebida. Fiz uns ajustes no código, conforme o Phillipp orientou.

    Também fiz uns ajustes nas consultas, para que as mesmas retornem as faturas vencidas a partir de uma data informada: [dta0].

    Agora, preciso que no formulário frmfaturasvencidas vencidas demonstre as faturas vencidas, conforme as categorias:

    até 30 dias
    de 31 a 60 dias
    de 61 a 90 dias
    etc....

    O erro, agora é:

    Erro em tempo de execução 3061
    Parâmetros insuficientes. Eram esperados 1.

    O erro está nesta linha: Set rs = CurrentDb.OpenRecordset(strSql)

    Já tentei de várias formas e sintaxes, porém sem sucesso.

    Alguém poderia me dar uma luz?

    Obrigado.
    Anexos
    FaturasVencidasTeste1.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (61 Kb) Baixado 3 vez(es)

      Data/hora atual: Dom 11 Dez 2016, 00:13