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


3 participantes

    [Resolvido]Iniciando Relatórios com VBA

    avatar
    brad0557
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 16
    Registrado : 03/12/2013

    [Resolvido]Iniciando Relatórios com VBA Empty [Resolvido]Iniciando Relatórios com VBA

    Mensagem  brad0557 11/8/2014, 01:27

    Boa Noite Pessoal,

    Estou em fase de aprendizagem e gostaria de tirar uma dúvida de VBA para relatório.

    Gostaria de ao abrir um relatório ler através de um recordset e demonstrar os registros no relatório.

    Não estou conseguindo fazer ele listar nos campos, está sempre ficando o último registro encontrado,
    acredito que devo utilizar alguma indexação nos campos que irão receber essa informação.

    Será que alguém poderia me ajudar e demonstrar por um exemplo como faço para mover os dados do recordset
    para os campos do relatório, e todos aparecerem.

    Muito Obrigado e desculpa se a pergunta é idiota, é que estou começando a estudar

    Abraços

    Abaixo mais ou menos que estou querendo, a dúvida é com relação a como fazer o campo texto1 e texto2 ser indexado e
    demonstrar no relatório todos os dados do recordeset, pois hoje está ficando somente um registro no relatório.

    Do While Not Rs.EOF
     
          Texto1.Value = Rs(3)
          Texto2.Value = Rs(10)

    Rs.MoveNext

    Loop

    Rs.Close
    LiveBrain
    LiveBrain
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 182
    Registrado : 15/05/2011

    [Resolvido]Iniciando Relatórios com VBA Empty Re: [Resolvido]Iniciando Relatórios com VBA

    Mensagem  LiveBrain 11/8/2014, 03:08

    Você pode usar uma solução mais simples para o seu relatório
    na origem de dados voce pode inserir algo do tipo

    Select * from NomeTabela


    .................................................................................
    Abraços

    Live Brain Tutoriais

    "Fraca é a pessoa que não conhece a força que possui nos amigos"
    avatar
    brad0557
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 16
    Registrado : 03/12/2013

    [Resolvido]Iniciando Relatórios com VBA Empty Re: [Resolvido]Iniciando Relatórios com VBA

    Mensagem  brad0557 11/8/2014, 09:40

    Novato,

    Agradeço sua ajuda, mas o que eu gostaria é realmente utilizando recordset.

    Relatório utilizando tabela direto eu consigo desenvolver, para aprendizado gostaria de manipular um recordset e distribuí-lo
    em um relatório.

    Como disse anteriormente, meu problema está em como fazer os campos do relatório estarem indexados.

    O exemplo que dei foi bem bobo mesmo, mas essa é a intenção.

    Muito Obrigad
    avatar
    brad0557
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 16
    Registrado : 03/12/2013

    [Resolvido]Iniciando Relatórios com VBA Empty Re: [Resolvido]Iniciando Relatórios com VBA

    Mensagem  brad0557 11/8/2014, 21:17

    Sera q alguem consegue me ajudar

    Obrogado
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3877
    Registrado : 04/04/2010

    [Resolvido]Iniciando Relatórios com VBA Empty Re: [Resolvido]Iniciando Relatórios com VBA

    Mensagem  Avelino Sampaio 12/8/2014, 11:58

    Olá!

    Uma solução é preencher um único campo, com os dados do recordset. Use o evento "ao Formatar" da seção detalhes

    Private Sub Detalhe_Format(Cancel As Integer, FormatCount As Integer)
    Dim strTexto$
    ...
    ...
    Do While Not Rs.EOF

    strTexto = iif(strTexto="", Rs(3) & " - " & rs(10), strTexto & vbNewLine & Rs(3) & " - " & rs(10)))

    Rs.MoveNext
    Loop
    me!Texto1 = strTexto
    Rs.Close
    End Sub


    Nota: Altere a propriedade do campo "Pode ampliar" para SIM

    Sucesso!


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso irrestrito ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    avatar
    brad0557
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 16
    Registrado : 03/12/2013

    [Resolvido]Iniciando Relatórios com VBA Empty Re: [Resolvido]Iniciando Relatórios com VBA

    Mensagem  brad0557 12/8/2014, 17:52

    Avelino,

    Obrigado pelo retorno, mas deixa eu tentar explicar o que precisa mais detalhadamente:

    Tenho uma tabela que possuí as seguintes informações:

    EX:
    PRODUTO VALOR
    produto1 10,00
    produto1 20,00
    produto1 15,00
    produto1 18,00
    "
    "
    produto1 25,00

    produto2 30,00
    produto2 33,00
    produto2 35,00
    produto2 38,00
    "
    "
    produto2 45,00

    produtoN 80,00
    produtoN 83,00
    produtoN 88,00
    produtoN 56,00
    "
    "
    produtoN 23,00

    Estarei montando uma lógica através de um recordset que pegará somente os dois primeiros valores de cada produto.

    Após essa seleção desejo movimentar essas informações para um relatório que ficaria assim:

    PRODUTO VALOR
    produto1 10,00
    produto1 20,00
    produto2 30,00
    produto2 33,00
    produtoN 80,00
    produtoN 83,00

    Acontece que não estou conseguindo fazer essa movimentação do recordset para o relatório.
    meu relatório tem duas caixas de texto, uma para produto e uma para valor, e a cada leitura que faço
    movimento as informações para essas caixas. Acontece que ela fica somente com o último valor lido.
    Necessito de uma solução para que essa caixa de texto seja indexada, e assim receber os N registros
    que estarei lendo no recordset, e é isso que não consigo.

    Pensei em criar uma consulta para fazer isso, inclusive abri uma dúvida se é possível fazer esse
    tipo de consulta (Consulta limitando registros), se conseguir montar uma consulta que retorne apenas
    2 registros de cada produto, faria um relatório simples utilizando o design de relatório. Me falaram
    para utilizar a função TOP 2, mas pelo meu entendimento ela retornaria apenas os dois primeiros
    registros encontrados na tabela, e na verdade preciso dos dois primeiros de cada produto.

    Agradeço desde já pela ajuda, e peço desculpas caso tenha erros de portugues pois estou no celular

    Obrigado
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3877
    Registrado : 04/04/2010

    [Resolvido]Iniciando Relatórios com VBA Empty Re: [Resolvido]Iniciando Relatórios com VBA

    Mensagem  Avelino Sampaio 12/8/2014, 19:07

    Olá!

    Você não vai conseguir fazer a movimentação da seção porque o relatório está desacoplado do recordset.  A alternativa para este caso é pegar os valores do seu recordset e jogar tudo em campo texto.  Baixe o exemplo e abra o relatório rltDesacoplado.  Veja no código como passei os valores para a caixa de texto.

    Uma outra alternativa e fazer uso de uma tabela auxiliar.  Vc irá gravar o recordset do seu resultado nesta tabela auxiliar.  O seu relatório terá como origem a tabela auxiliar.  Para testar o que estou dizendo, abra o formulário de teste e clique no botão visualizar.  Estude o código do botão e então aplique a sua lógica

    Sucesso!
    Anexos
    [Resolvido]Iniciando Relatórios com VBA AttachmentBrad.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (36 Kb) Baixado 47 vez(es)


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso irrestrito ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    avatar
    brad0557
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 16
    Registrado : 03/12/2013

    [Resolvido]Iniciando Relatórios com VBA Empty Re: [Resolvido]Iniciando Relatórios com VBA

    Mensagem  brad0557 13/8/2014, 01:05

    Avelino,

    Sem palavras para agradecer o seu exemplo.

    Era isso mesmo que gostaria de fazer.

    Muito Obrigado

    Conteúdo patrocinado


    [Resolvido]Iniciando Relatórios com VBA Empty Re: [Resolvido]Iniciando Relatórios com VBA

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 29/3/2024, 06:08