... Assinatura do site por 3 anos + Kit MontaRibbons + 3 Livros em PDF + Diversas Revistas (pdf) de brinde, por apenas R$145,00
(
podendo parcelar em até 10 vezes no cartão de crédito)...

Clique aqui e obtenha mais detalhes do nosso kit completo e de como comprar.


Vídeo - Programação de relatórios - Parte 1

Eu me atrevo a afirmar que o Access é o melhor programa do mundo na geração de relatórios! E um curso abrangente sobre  relatórios não poderia deixar de existir aqui, no UsandoAccess, não é mesmo?

Mecânica de construção.

Para você se tornar um "expert" na programação de relatórios é fundamental entender a mecânica de construção, empregada pelo Access.   Apesar de ser relativamente simples, costuma-se levar um tempo para que seja bem assimilada.   Por isso fiquei imaginando como poderia fazer você compreender a parte essencial dessa mecânica de construção e tornar-se apto na programação de relatórios, a partir desta primeira vídeo-aula.  Bom... fiz uma mistura de teoria e prática e espero com isso lhe fornecer os subsídios necessários para um rápido aprendizado.  

Veremos na prática as seguintes técnicas:

Uso de campos calculados e soma em campos do rodapé.

Aprenderá neste exemplo como montar o campo calculado Faturado, estabelecer cor ao campo Fruta e obter valores totais em campos do rodapé.

Pesquisador de Objetos

 

Acrescentar linhas no final de uma lista.

Montar linhas dinamicamente, em função do número de registros exibidos parece uma tarefa complicada, mas acredite: a técnica de programação é bem simples.

Pesquisador de Objetos

 

Estipular o número de linhas por página.

Os relatórios possuem uma série de propriedades pouco conhecidas pela maioria, mas está tudo disponível no help do VBA.  A questão maior é como procurar, sem perda de tempo.  Quer aprender a vasculhar o Access com eficiência?  Assista minha vídeo-aula sobre Como estudar com o pesquisador de objetos 

As seguintes propriedades serão vistas:

ForceNewPage
PrintSection
MoveLayout

Neste exemplo você aprenderá também a numerar as linhas e a rejeitar a impressão de certos registros.

Pesquisador de Objetos

 

Movimento bancário com saldo linha a linha

Verá como montar saldo linha a linha, transportar o saldo de uma página para outra e colorir o campo saldo.  Tudo sem usar recurso de consulta e formatação condicional.

Pesquisador de Objetos

 

Holerite

Se você pensa que a programação empregada desse holerite foi complexa, está completamente enganado.  Ele foi um pouco trabalhoso na montagem, mas muito simples em termos de programação.

Pesquisador de Objetos

 

Melhor Desempenho

Adoro programar direto nos relatórios, pois em muitos dos casos o uso de consultas complexas  é evitado, contribuindo para que o desempenho do banco de dados, em ambiente multiusuários, não seja afetado.  Por exemplo: se você planejar usar, em uma consulta, um campo calculado, que retorne o saldo linha por linha, terá que usar a função de domínio agregado Dsoma() ou uma consulta aninhada (exemplo abaixo) para buscar valores na tabela envolvida.   E essa busca volta a se repetir a cada linha.  Tente imaginar o tráfego gerado pela rede que essa consulta provocará nessas idas e vindas à tabela.

SELECT CREDITO,DEBITO,(
   SELECT Sum(Nz(CREDITO)-Nz(DEBITO))
   FROM EXTRATO AS TEX
   WHERE TEX.ID<=EXTRATO.ID) AS SALDO
FROM EXTRATO;

Ao se comparar com a programação utilizada no relatório Movimento apresentado aqui, afirmo que chega até ser uma aberração a utilização deste tipo de consulta para obtenção do saldo.

Download dos relatórios exemplos:

Função Sum() e a função Count()

Aprenda técnicas para somar, contar e numerar neste outro tutorial.

Sobre o Video

Este vídeo é a pontinha do iceberg das possibilidades de programação em relatórios e espero que, mesmo com esse curto início, você já possa vislumbrar inúmeras soluções que antes pareciam impossíveis para você.


 

Faça o login aqui para ter acesso ao vídeo.


Sucesso!


 

 


100 comentários

Dilson - Altamira PA   10/02/2011 13:02:48

Muito bom!, fiquei contente em receber sua newsletter e maravilhado com sua forma de ensinar. Parabéns Avelino

Avelino Sampaio   10/02/2011 20:35:33

Olá Dilson

Muito obrigado pelo seu retorno positivo. Foi ótimo saber que eu consegui montar uma boa aula.

Sucesso

Márcio Melo - RJ   10/02/2011 21:05:37

Gostei muito dos relatórios, novos horizontes se abrem com a programação, vou deixar aqui o código de colocar uma borda, levei muito tempo para achar...
Private Sub Report_Page()
On Error Resume Next
' "Espessura e estilo de borda 'Set Thickness and Border Style
' "Maior número cria linha mais grossa 'Larger Number creates Thicker Line
Me.DrawWidth = 5
' "Os valores 0-6 Line = Solid para Invisible 'Values 0 to 6 = Solid Line to Invisible
Me.DrawStyle = 0
' "Object.Line (x1, y1) - (x2, y2), color, [Box = B] 'Object.Line (x1, y1) - (x2,y2), color, [Box=B]
Me.Line (0, 0)-(Me.ScaleWidth - 100, Me.ScaleHeight - 60), vbBlack, B
End Sub
É só copiar e colar e ver o resultado...
Tenho sempre usado suas dicas, são super profissionais... eu tenho muitos relatórios baseados em consultas e cada uma mais complexa que a outra. O access nesse termo da show, podemos fazer quase de tudo com os relatórios... Eu também utilizo muitos sub-relatórios, conforme a necessidade dos relacionamentos que tenho nas tabelas, poderia até lhe enviar as fotos de alguns que tenho como exemplo...

Sou mais Brasil!

Forte abraço... "e muito sucesso"

Milquizedeque Almeida   10/02/2011 21:56:13

Incrivelmente fácil. Outra Vez, Valeu!!!!!
Estou ansioso pelo próximo vídeo
Obrigado

Márcio Melo - RJ   10/02/2011 22:51:30

Show de bola, acabei de assistir ao vídeo... baixei o banco de exemplo e acompanhei, fiquei maravilhado e tive que voltar logo em seguinda para parabenizar pelo método de ensino adotado... fácil de assimilar com as dicas de processo em módulo e saber a seguência de programação... e depois mostrar tudo na prática... Você é meu mestre, cada vez aprendo mais com suas matérias, muito grato mesmo!

Sou mais Brasil! mande mais aulas rsrsrs, abraços...

Avelino João   11/02/2011 18:35:55

Estou muito feliz por receber o seu newsletter e com a sua forma de ensinar. Muito parabéns Avelino
e gostaria de saber como obter o Monta Ribbons apartir de Angola já que eu sou Angolano.

Avelino Sampaio   11/02/2011 19:10:21

Avelino João,

Envie para o seu email todos os detalhes.

Obrigado por visitar o site e pelo seu comentário positivo.

Márcio e Milq,

Muito obrigado pelos comentários. É o meu combustível.

Junior Wano   13/02/2011 11:52:44

Avelino,

Tenho como profissão o desenvolvimento de sistemas em Access e acompanho este site desde a sua criação, então só tenho uma coisa a comentar:

"Graças a Deus que temos o Avelino do nosso lado"

Um grande abraço.

Paulo Cesar - paulo.cesar@mail.com   14/02/2011 19:54:55

Olá Avelino,
estou maravilhado com sua explicação dos processos de execução de relatório. Confesso que esta eu não conhecia. Sou usuário do MontaRibbons e aconselho a todo profissional que trabalha no desenvolvimento do Microsoft Access.
Não posso deixar de agradecer ao presente que foi a disponibilização do modelo de folha de pagamento.
E em questão ao movimento de caixa, digo também que vou utilizar em minha aplicação de controle financeiro que estarei disponibilizando gratuito na net.
Grande abraço e estamos com você!

Joanir   21/04/2011 02:52:43

Parabens exelente trabalho Deus o abençõe e que abra a sua mente muito mais para que vc possa ajudar abrir a nossa rsrs... brigaduuuuuuuuuuuuuuuuuuu.

antónio leal   29/04/2011 18:21:31

é de louvar a sua capacidade,sua clarividência,e sua humildade em transmitir seus valiosos conhecimentos .muito obrigado

Erci Lourenço Pereira   28/05/2011 09:22:10

Bom dia, Gostei desse post, muito bom!

edinho   29/06/2011 12:23:04

como faço para ver teus videos???

Avelino Sampaio   06/07/2011 14:12:38

Jose,

Eu vendo por R$29,00 todo o conteúdo do site, via download. Veja na parte de DESTAQUE , da seção tutorial, mais detalhes sobre a compra da coletânea.

Sucesso!

Rodrigo   10/08/2011 10:57:43

Bom dia Avelino,

Primeiramente parabens pelo trabalho!!

\tentei adaptar um modelo de relatório para a minha necessidade que é calcular o valor percentual de varição de um item de acordo com a aveloução do preço que é apresentada por periodo. O código ficou como o modelo abaixo, mas não consegui rodar. Será que vc pode ver o que acontece, se não for pedir muito. Muito obrigado e parabens!!

Rodrigo   10/08/2011 10:58:24

Ai esta o código:

Option Compare Database
Dim booDetalhe As Boolean
Dim xsoma As Double
' vi - valor inicial
' va - valor anterior

Private Sub Detalhe_Format(Cancel As Integer, FormatCount As Integer)

End Sub

Private Sub Detalhe_Print(Cancel As Integer, PrintCount As Integer)
booDetalhe = True
xsoma = Nz(xsoma, 0) + (Nz(Me!Preço, 0))
Me!SaldoPercentual = ((Me!vi - xsoma) / xsoma) * 100
If Me!SaldoPercentual < 0 Then
Me!SaldoPercentual.ForeColor = vbRed
Else
Me!SaldoPercentual.ForeColor = vbBlue
End If
End Sub

Private Sub PageHeaderSection_Print(Cancel As Integer, PrintCount As Integer)
If booDetalhe = True Then
Me!va.Visible = True
Me!va = Nz(Me!SaldoPercentual, 0)
If va < 0 Then
Me!va.ForeColor = vbRed
Else
va.ForeColor = vbBlue
End If
n = 0
End If
End Sub

Private Sub RodapéDoGrupo1_Format(Cancel As Integer, FormatCount As Integer)

End Sub

Private Sub RodapéDoRelatório_Print(Cancel As Integer, PrintCount As Integer)
'----------------------------------------------------------------------------
'Necessário zerar os valores para o caso de uma nova solicitação de impressão
'----------------------------------------------------------------------------
booDetalhe = False
xsoma = 0
End Sub


Abraços

Avelino Sampaio   15/08/2011 05:24:18

Rodrigo,

não conseguiu rodar significa o que ? que acusa erro ? que não apresenta o cálculo ?

Não se esqueça que o relatório tem que ser exibido no modo "Visualizar impressão". Se exibir no modo "relatório" os códigos não funcionam.

Envie um BD, com o relatório, que eu tento te ajudar. meu email:

avelino(arroba)usandoaccess(ponto)com(ponto)br

No aguardo

joao_montenegro@hotmail.com   19/08/2011 09:53:28

Rapaz, vc é fera...
Tenho aulgusn trabalhos e depois lhe mostro.
sds.

Joao Montenegro

Joao.montenegro   19/08/2011 10:41:36

Esse Avelino é o cara!
Muito dedicado e inteligente.
Estou querendo fazer uma folha de pagamento em access
sds.

Ronaldo Costa   23/08/2011 15:54:42

Avelino, boa tarde!

Gostaria de saber se posso utilizar retânculos no lugar das linhas. Gostaria de preencher o rodapé com retângulos dependendo da quantidade de registros no detalhes. Seria a mesma funcionalidade, apenas que no lugar das linhas estariam retângulos.

grato

Avelino Sampaio   23/08/2011 16:03:50

Ronaldo,

Vá na seção dicas e veja a materia sobre como montar bordas e retângulos. Com o metodo LINE é possivel então adicionar vários retângulos ao seu relatòrio.

Bom estudo

Kátia Fernandes   24/08/2011 15:40:10

Avelino

Boa tarde, espero que você possa me ajudar. Estou fazendo um relatório baseado em uma consulta em que preciso solicitar do cliente os primeiros 3 números do registro e que me apareça todos os registros que inciam com esses 3 números.
Tentei o comando "Como 001*", mas quando coloco na consulta "como [Entre com os 3 primeiros n°s:]*" dá erro.
Qual o comando que devo colocar na consulta, solicitando do cliente os dados? espero que possa me ajudar.

Kátia Fernandes   24/08/2011 16:29:03

Avelino
Achei o comando em um blog na internet e funcionou direitinho, por isso estou compartilhando com todos:
Como [DIGITE UMA LETRA OU PARTE DO NOME] & "*"

Muito obrigada pela atenção.

Avelino Sampaio   25/08/2011 07:39:25

Katia,

muito obrigado pela sua contribuição.

Sucesso!

Fábio   01/09/2011 16:15:08

O site é muito bom

Antonio Ozael   23/09/2011 09:52:14

Caro Avelino, parabéns pela sua dedicação! Sou novato aqui no site que, a partir de agora é um dos meus favoritos. Gostaria de pedir que enviasse o link para baixar o vídeo da aula Programação de relatórios - Parte 1, pois não consegui visualizar mesmo baixando o plugin, usando o Firefox. Depois vou atualizar o browser, quem sabe, dá certo. Obrigado por todas as dicas que você tem disponibilizado.

Antonio Ozael   23/09/2011 11:27:30

Olá de novo! Referente à visualização do vídeo, já está ok!

Avelino Sampaio   24/09/2011 06:14:22

Antonio,

obrigrado pelo feedback e bom estudo!

Marcelo   11/10/2011 08:28:45

Olá Avelino, Parabéns pelo trabalho!

Gostaria de saber se eal paulista, poixiste alguma forma de criar no accesss a função de nota fiscal paulista, pois é uma função " obrigatória " hoje no mercado paulista,,

Obrigado

João   11/10/2011 09:13:02

Axelino, Bom dia...
Estou a procura de como transformar meu BD em um aplicativo EXE sou novo em programação MS-ACCESS já procurei em verios sites mas nada de uma resposta direcionada, entao vi o seu programa Monta Ribbons e adorei a forma com que instala e C: queria algo assim. mas não sei qual programa usar para essa aplicacao.
se voce puder me dar umas dicas ficaria muito grato!

desde já estou agradecido.

Avelino Sampaio   11/10/2011 10:14:05

Marcelo,

veja na seção BLOG um assunto sobre Nota Fiscal. Vc pode entrar em contato com o Jefferson da Kartoffel e pedir dicas.

João,

Estarei montando uma vídeo-aula sobre isso mas só para o início do ano que vem. Procure no Oráculo Google sobre Innosetup e IsTool.

Sucesso!


João   11/10/2011 19:02:47

Avelino, Boa noite!

Muito obrigado pela dica, etarei procurando no Google então..

e fico ansioso pela vídeo-aula.

Agradecido!!

Marco Antonio Vernaglia   15/12/2011 18:07:29

Prezado Avelino.

Primeiramente parabéns pelo site que é muito bom e bem explicativo. Sou novato e estou com um probleminha em um relatório. Possuo um campo Dia que ao aparecer no relatório, deve deixar visível um Label se for final de semana. Esta lógica eu consegui, o problema é que acho que não consigo usar o campo Dia propriamente dito na programação, então acoplei o Dia ao Texto22 (no relatório) ficando com a seguinte programação:

Private Sub Report_Load()
Dim MyWeekDay As Date
MyWeekDay = Weekday(Me.Texto22)
If (MyWeekDay = 7) Or (MyWeekDay = 1) Then
Me.FDS.Visible = True
Else
Me.FDS.Visible = False
End If
End Sub

O problema está no seguinte: Se o último registro for final de semana, aparece o label em todos os registros. Se não não aparece em nenhum. Talvez não era para estar no Load, ou teria que usar invés do Texto22 o próprio campo Dia, mas quando coloco Me.Dia obtenho um erro falando que não achou o Dia. Deu pra entender?

Agradeço desde já!

Avelino Sampaio   18/12/2011 14:52:09

Marco,

se o DIA estiver em cada linha do seu relatório, a função abaixo deverá se localizar no evento “ao imprimir” da seção detalhe

Se o dia é no cabeçalho, vc deve posicionar os campos me.texto22 e me.FDS no cabeçalho.

No aguardo

Ricardo   05/01/2012 19:05:25

Sei que não é o lugar correcto ma precisava de uma ajuda,

O seguinte código abre uma janela de diálogo que me permite seleccionar um ou mais ficheiros e listar esses mesmo ficheiros numa listbox, no entanto o que aparece na listbox é o caminho do ficheiro, por exemplo, C:\Pasta1\Pasta2\Ficheiro.pdf. Alguém sabe se é possível listar apenas o nome do ficheiro e a extensão? Ou seja, Ficheiro.pdf, por exemplo.

Private Sub btnSelect()
Dim f As Object
Dim varFile As Variant

Set f = Application.FileDialog(3)

f.AllowMultiSelect = True

If f.Show = True Then
For Each varFile In f.SelectedItems
Me.Lboxfile.AddItem varFile
Next
End If

End Sub

Avelino Sampaio   06/01/2012 05:40:07

Ricardo,

experimente desta forma:

...
Me.Lboxfile.AddItem mid(varFile,1 + inStrRev(varFile,"\"))
...

Suceso!

Ricardo   06/01/2012 06:48:35

Avelino, nem sei como lhe agradecer. Funcionou!
Muito obrigado!

Gilberto   10/01/2012 21:14:36

Grande Avelino, você me salvou, utilizei seu código para inserir caixas de texto em branco, Perfeito.

Grande abraço

Ricardo   30/01/2012 13:59:27

Olá,

Existe alguma forma de exportar os dados do Access, de uma consulta por exemplo, para o Excel como se de um relatório de tratasse?
Vou tentar explicar melhor,

Eu estou a falar de uma espécie de template, ou seja, um ficheiro em excel pré configurado, com algum texto, logo, etc onde os dados do Access encaixavam.
Não sei se me faço entender.
Ou então converter um relatório mas mantendo o formato do relatório.

Avelino Sampaio   30/01/2012 14:12:50

Ricardo,

acesse o link abaixo e veja um código que preenche as celulas de um arquivo Excel.

http://www.usandoaccess.com.br/tutoriais/tuto33.asp?id=1#inicio

Sucesso!

Filipe Bacelar   15/02/2012 17:35:58

Grande Avelino,

Amigo gostaria de saber como seria para criar uma barra de progresso enquanto o access carrega o relatório. existe essa possibilidade?

Abraços,

Filipe Bacelar

Avelino Sampaio   16/02/2012 06:02:14

Filipe,

desconheço o uso de uma barra para isso.

Sucesso!

Filipe Bacelar   16/02/2012 12:46:55

Ok. Avelino obrigado pela atenção e mais uma vez parabens pelo excelente trabalho.

Zezynho   30/03/2012 20:09:56

Olá Avelino! Gostaria que me tirasse uma duvida? Tenho dois campos com datas em um formulario. O primeiro apresenta uma data X. O Segundo deveria apresentar a data X do campo anterior e acrescentar mais 7dias, o que devo fazer?
Agradeço antecipadamente

Avelino Sampaio   02/04/2012 07:44:24

Zezynho,

coloque na propriedade "fonte do controle" do campo que irá receber a data:

=SeImed(ÉNulo([Campo X]);"";[Campo X]+7)

Sucesso!

Priscila   05/05/2012 10:35:52

Avelino, Bom Dia...

Mais uma vez venho ao seu site para pedir orienteção. tenho 04 tabelas direntes (Departamento; Setor; Seção; Cargos), com numeraçoes para identifica-los. Ex:

Departamento 05 - OPeração Direta
Setor 05.02 - Frente de Caixa
Seção 05.02.01 - Operadores
Cargos 05.00.06 - Operador de Caixa

Estou tentando montar um relatorio que apresente:

Departamento, depois os setores, seção e cargos de uma forma agrupada, tentei gerar um retório com a primeira opção departamento (aparece normalmente), depois inserir um sub-relatorio, com as informações do setor, mas aparece em branco...

Quando entro na propriedade do relatorio, e abro em modo sql as informações aparecem no modo de consulta....

Onde posso estar errando...

Priscila

José Donizeth Rodrigues   18/07/2012 09:15:00

Avelino,

Fiz a aquisição do MontaRibbons no ano passado, existe alguma atualização na qual possa adicionar novos artigos e videos?

Atenciosamente,

José Donizeth Rodrigues   19/07/2012 08:26:25

Avelino,

Tenha uma dúvida nos relatórios, por exemplo no relatório frutas, se tiver vários grupos, por exemplo, Frutas, Verduras, Legumes, etc. E esses grupos possuirem mais de uma página, como faço para repetir o nome do grupo em cada cabeçalho de página, sem que no relatório duplique o nome do grupo na primeira e na última página do relatório.

Obrigado.

José Donizeth

EDUARDO ROCHA   04/08/2012 15:44:56

Prof Avelino
Essa técnica pode ser aplicada a formulários continuos?
Exemplo:
Tenho um formulário que lista os dias do mes e o nome da pessoa escalada.
Gostaria que quando fosse sab ou dom a cor do fundo da data mudasse para verde

é possivel ?

Avelino Sampaio   05/08/2012 07:06:14

Eduardo,

acesse o artigo "Formulários e relatórios zebrados" na seção dicas e veja como ustilizar o novo evento "Ao pintar" para resolver o seu caso.

Poderá usar também "Formatação Condicional"

Sucesso!

Vinicius   18/08/2012 00:39:06

Avelino, boa noite. muito bom o site, e ainda mais os exemplos e video aulas.
Ja vesculhei muitos do postes mas não consegui decifraro que ocorre. Seguinte, tenho um relatorio que abre uma serie de registros atraves de um criterio digitado em uma janela popup padrao. esse relatorio esta pronto e funcionando 100%. Em cada registro dele aparece um botao que seria para abrir um novo relatorio com os dados deste registro somente, mas estou tendo prblemas com um dos campos, acusando o erro 13 - Tipos Incompativeis.
Segue o codigo onde surge o erro:

Private Sub Comando40_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim filtro As String
filtro = "CPT2 = '" & Me!CPT & "'"
DoCmd.OpenReport "FaturEmpresa", acViewPreview, , "Empresas.Codempresa = " & Me!CODEMPRESA And filtro
End Sub

Vale ressaltar que o segundo relatorio é praticamente uma copia do primeiro, apenas sem os botoes e sem os demais registros, sendo os campos CPT de ambos relatorios do mesmo tipo e originados do mesmo campo em uma tabela.
Peço a sua ajuda.

Avelino Sampaio   20/08/2012 08:14:44

Vinicios,

a escrita que vc me apresenta esta com erro. Veja se irá funcionar com a seguinte modifação:

Private Sub Comando40_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim filtro As String
filtro = "CPT2 = '" & Me!CPT & "'"
DoCmd.OpenReport "FaturEmpresa", acViewPreview, , "Empresas.Codempresa = " & Me!CODEMPRESA & " And " & filtro
End Sub

Sucesso!

Welson Zeferino de Oliveira Junior   24/08/2012 19:26:03

Avelino, quando será a próxima aula sobre relatórios?

Cacia   29/08/2012 13:15:31

Boa tarde! Avelino.

Primeiramente felicitações pelo seu trabalho em nos ajudar na medida do possível.


Criei uma Tabela de Dados onde estão cadastrados 3 Bancos que será feita a movimentação de lançamentos.

Criei um Formulário para inclusão das informações na Tabela TbMovimentos na qual será lançados as informações de movimentações.

No Formulário tem o item caixa de combinação que busca para o lançamento o Id_Banco (cada banco tem o seu código de cadastro)

Criei uma consulta para o rltMovimentos aproveitando o seu modelo que pedi o código do Banco (Id_Banco) para cada um tem seu relatório.

Tudo Blz, porém tem um problema não consigo puxa o saldo para cada Banco ele vai trazendo os valores de debito – credito dos outros bancos.

Como faço para que cada banco tenha seu saldo?

Helio Machado   11/09/2012 08:35:42

Bom dia Avelino

Obrigado pelas dicas, inclusive já comprei o pacote para montar CDs.

Tenho uma dúvida já a alguns dias e não estou conseguindo resolver, acho que para quem tem experiência pode ser um problema comum:

Tenho uma tabela com as colunas A, B, C e D (simplificando) e as linhas 1, 2, 3 e 4.
A partir desta tabela e após alguns cálculos irei criar uma tabela resultado onde as colunas serão criadas com as linhas 1, 2, 3 e 4. Esta tabela dará origem a um subformulário e um relatório.
O usuário poderá incluir linhas 5, 6 ... ou retirar linhas da tabela inicial e eu preciso recriar as colunas da tabela resultado (o que eu já consegui), o subformulário e o relatório, refletindo a nova situação. Qual é o caminho para eu refazer as colunas do subformulário e do relatório programaticamente?

Obrigado
Helio

Sergiosdl   03/10/2012 20:16:03

Grande Avelino parabéns pelo tópico, fico imaginando como sobrevivi tanto tempo sem ter conhecido este tópico. Parabéns

Clóvis Abdias da Silva   28/10/2012 23:23:00

O Access tem me auxiliado no apoio aos clientes no que se refere a relatórios. Sou completamente amador mas consigo estrutura-los satisfatóriamente, contudo tenho muita dificuldade em certas situações por não saber lidar muito bem com os recursos ideais, apesar de possuir boa noção de lógica e de organização das informações.
Gostei muito do seu site, aproveitei algumas dicas e li os bons conteúdos. Procurei por material que me ajudasse em gráficos e, sobretudo, em raltórios com totalizadores com os quais gostaria de construir demonstrativos de consumo, ou seja, qualificar informações que apontem rankings de consumo, exemplo, de uma tabela de movimento em que cada registro aponta quem, o que, quando e onde deseja-se apurar quem mais consumiu, ou, o que foi mais consumido, etc. Vc pode me ajudar?

Robson   26/11/2012 14:11:34

Boa Tarde!!
Estou acessando pela primeira vez e estou vendo que vc sabe tudo de access, estou precisando de uma ajuda e de certo modo urgente.
Fiz um relatório separado por grupos, e necessito que a cada alteração de grupo sejam contadas as páginas atuais e totais de cada grupo para exibir no cabeçalho da página, já procurei na internet, mas não funciona.
Você poderia me ajudar?

Sidinei da rosa   24/03/2013 17:09:43

Boa tarde!
Avelino.
no access2007
Estou com com um problema em fazer uma pesquisa Sql ,trazendo os dados de um determinado campo de uma tabela para dentro de um caixa de texto,para poder fazer isso estou usando um combo no qual deixo invisivel.
gostaria de uma ajuda se possivel.
grato.

Jose Araujo   01/04/2013 13:35:33

Avelino,

O código para completar relatorio com linhas funciona no access 2003?

Suas video-aulas tem uma didtica excelente.

Avelino Sampaio   01/04/2013 18:47:05

Jose

Sim, funciona. Vá na seção DICAS do site e veja também o artigo "Retângulos, linhas e bordas em relatórios" que verá uma outra técnica de criar linhas.

Bom estudo!


Pereirak   09/04/2013 17:39:37

Amigo, como farei para trazer o saldo anterior da consulta para o relatório.

Por exemplo: Meu filtro indica para trazer movimentação a partir de 01/12/2012 até 31/12/2012.
Usando seu exemplo, houve sucesso. Porem, o saldo anterior que o sistema tem que trazer é a movimentação anterior a 01/12/2012. Como tratar o saldo anterior ?

Avelino Sampaio   09/04/2013 19:13:51

Pereirak,

no evento "ao imprimir" do cabeçalho vc poderá utilizar a função Dsum(). Exemplo:

algo assim:

me!SaldoAnterior = Dsum("[credito]-[debito]","NomeDaTabela","DataMovimento < #" & format(me!dataInicio,"mm/dd/yyyy" & "#" )

Se increva aqui no site que em breve estarei disponibilizando um controle de movimento mais elaborado, usando tabela temporia.

Bom estudo!

Silvanio Bernardes   10/05/2013 15:24:24

Saudações caríssimo Avelino,

preciso de uma ajuda sua.

Preciso utilizar-me da seguinte instrução numa consulta:

=Expr1: Dúltimo([kmfinal];"Lançamento11";[placa])

até ai tudo bem, só que eu preciso do resultado que está numa linha anterior a referida placa.

Dessa forma como faço, me retorno o "kmfinal" que acabei de inserir, o atual e sendo q quero um anterior de um registro anterior.

Desde já, muito grato.

Avelino Sampaio   13/05/2013 07:51:18

Silvanio,

o argumento de filtragem da função esta equivocado. Experimente:

=Expr1: DÚltimo([kmfinal];"Lançamento11";"placa='" & [placa] & "'")

OBS: Este tipo de função é extremamente prejudicial ao desempenho do BD. O cálculo será melhor empregado se utilizado diretamente em formulário e/ou em relatórios.

Sucesso!

Suzana   02/07/2013 20:58:03

Tenho uma dúvida de iniciante ... quero que duas colunas do relatório tragam dados diferentes ... consegui colocar as duas colunas ,mas não consigo fazer os dados serem diferentes... obrigada

Claudemir Oliveira da Silva   02/07/2013 22:18:56

Oi ja tentei encontrar e ja teste varios arguementos mas não consegui, tenho um relatorio com 4 campos, eu gostaria de colorir ou dar um destaque para os campos cujo valor é nulo, lembrando que os valores exibidos é igual a 1 ou em branco.

Att

Avelino Sampaio   03/07/2013 09:29:17

Suzana,

não entedi o que deseja. Os dados são da uma mesma tabela ou consulta ? Dados diferentes esta muito vago para ser entendido.


Avelino Sampaio   03/07/2013 09:32:04

Claudemir,

utilize a programação que ensino na vídeo-aula para alterar o colorir o campo.

Uma forma de saber se o campo esta nulo ou vazio é usando a função len(). Exemplo:

if len(me!NomeDocampo & "") = 0 then
'vazio ou nulo
else
'camo valor
end if

Sucesso!

Luan Pignata   19/07/2013 10:49:59

Iae mano, to precisando de uma ajuda, eu fiz um controle de estoque, onde tem cadastro de clientes, fornecedor, e tem a data de entrada e de saida, e queria colocar para quando eu fosse imprimir um relatorio, eu escolhesse o mes e o ano, soh eles dois da data de entrada, para poder imprimir soh aquelas caixas que entraram no mes que eu quero, se puder pf, me ajuda, ou entao me de algumas dicas.

Paulo Machado   26/07/2013 16:46:50

Avelino boa tarde.
Você po acoso tem algum exemplo de sistema feito em access possa controlar estoque usando a metodologia do FEFO.
Desde já agradeço pela ajuda.

Avelino Sampaio   29/07/2013 06:57:42

Paulo,

Não tenho.

Se inscreva no seguinte fórum, sobre Access:

http://maximoaccess.maisforum.com/

Informe sua necessidade por lá, que eu já li sobre alguém comentar sobre o FIFO.

Sucesso!

Saguio Moreira Santos   04/08/2013 01:06:04

Ola Avelino, eu vi o video sobre programação de relatorios, gostei muito. Quero tirar uma duvida.
Um relatorio sendo programado nessa forma que voce apresenta ele nao tem no seu modo Dsign, as tabelas selecionadas? nao tem um consulta?

Saguio

Walter Florêncio   04/10/2013 00:19:26

Olá Avelino. Ótimo o seu vídeo sobre relatórios. Me surgiu uma dúvida. Pelo que entendi, no vídeo os relatórios teem como fonte de registro a própria tabela certo? se sim como ficaria no caso de um relatório que busca informações em mais de uma tabela?

Avelino Sampaio   05/10/2013 07:59:32

Walter,

se as tabelas se relacionam, crie uma consulta com origem nas duas tabelas. Use então esta consulta como origem para o relatório.

Sucesso!

EMANUEL LOPES DARELLA   05/10/2013 19:44:11

Estou procurando alguém para me ensinar programação em Access, on line, de preferencia.
Favor informar o preço da hora aula.
edarella@gmail.com

Manoel Cardoso   22/10/2013 13:27:59

Boa tarde!
queria adaptar o relatório de holerite, mas tá sem o formulário para entrar com os dados, poderia me ajudar?
manuca1153@gmail.com

Avelino Sampaio   23/10/2013 10:58:22

Manoel Cardoso,

não disponho do formulário para poder ajudá-lo.

Sucesso!

Paulo Machado   10/04/2014 14:50:10

Avelino boa tarde.
Estou enfrentando um problema que se um usuário está com o relatório especifico aberto, impede que outro usuário abra esse mesmo relátorio.
Já para fazer a divisão do bando de dados se torna impraticavel pois são muitos usuários que utilizam o sistema e eu teria que fazer a instalação e configuração para cada usuário.

SILVERIO LUIZ   12/12/2014 19:42:27

Gostaria de uma ajuda,
tenho uma listagem de nomes e notas agrupadas por periodos, gostaria de imprimir em duas colunas na mesma página, exemplo:

1 semestre
matematica 10.0 AP
português 10.0 AP
.
.
.
chegando ao final da página ir para a outra coluna...
na mesma página...

me ajudaria muito...

Avelino Sampaio   15/12/2014 06:01:35

Silvério,

abra o relatório no modo estrutura
clique na guia "configuração de pagina" da ribbon > clique no botão "Configurar página"
Selecione a guia "Colunas" no formulário de configurar páginas.

Sucesso!

Jair Madeira   25/03/2015 13:07:46

Preciso de Ajuda:
Tenho lima tabela A com os campos código e nome da extensão.
tenho em outra tabela B que fiz o relatório com vários campos inclusive o relatório foi feito por uma consulta desta tabela.
criei um formulário que tem um combo com o código e nome da extensão da tabela;
Quero que quando selecionar o código na combo visualize/ o relatório com o mesmo os dados do mesmo dados do código da combo.

Obrigado Jair Madeira

Avelino Sampaio   26/03/2015 06:46:40

Jair,

utilize a filtragem na chamada do relatório. Algo assim:

docmd.OpenReport "NomeRelatório",acViewPreview ,,"código = " & me!NomeCombobox!column(0)

Nota: Se o campo código for do tipo String, acrescente os apóstrofes:

docmd.OpenReport "NomeRelatório",acViewPreview ,,"código = '" & me!NomeCombobox!column(0) & "'"

Sucesso!

Jair Madeira   29/03/2015 19:06:40

Avelino,
Utilizei a linha de comando informado:
docmd.OpenReport "RelMovimento",acViewPreview ,,"Cod_Ext = " & me!CoB_Cod_Ext!column(0).
deu erro 451
Property Let não foi definido e o procedimento Property Get não retornou o Objeto.
estou tentando descobrir o erro.


Obirigado

Alexandre   09/03/2016 20:19:03

Olá Avelino!
Maravilhosa sua explicação.
Não sou profissional da área, porém, em meu trabalho, procuro utilizar o access para facilitar e otimizar meu serviço.
Sou fonoaudiólogo e realizo exames de audiometria, com isso fiz um trabalho pelo access para emitir exames audiométricos, porém eu teria que colocar uma marcação em um gráfico, conforme a localização da frequência e intensidade, isso com simbolos (quadrado, retangulo , <, >, X, círculo, [ e ] ).
Você pode me dar alguma luz, com relação a isso? Como disse não sou muito bom em access, mas procuro desenvolver o que facilita o meu trabalho. Espero que eu consiga e que não seja tão dificil.
Obrigado.

silvio mage   11/03/2016 08:45:01

valeu avelino.. Saber ensinar também é uma arte

Nick Bethencourt   12/03/2016 16:12:14

Parabéns Avelino. Você tem o dom. Sua didática é maravilhosa. Que Deus o abençoe!

GILBERTO FRANGUELLI   12/03/2016 22:09:33

Prezado Avelino, tudo bem?
Não consegui visualizar o vídeo!
Ele só funciona com o crome?
Abraços.

Avelino Sampaio   13/03/2016 04:44:54

Gilberto,

com o Chrome e com o Edge do Windows 10. No Firefox vc precisa instalar um plugin.

Bom estudo!

Avelino Sampaio   13/03/2016 04:52:26

Alexandre,

estude sobre os métodos Report.LINE e report.CIRCLE. Aqui no site tem artigo sobre o método LINE.

Bom estudo!

Francisca Chagas Lima Medeiros   04/04/2016 19:23:43

Preciso imprimir um determinado relatório. por exemplo criei um banco de dado para controlar saldo ou seja limitar certo pedido. Exemplo:

1. no da 25/03/2016 certa pessoa solicitou 02 pedido, essa pessoa tem limite de ate 05 pedido para solicitar conforme suas necessidade.

2. no dia 30/03/2016 a mesma pessoa solicitou mais 05 pedido, estando agora com apenas 03 saldo em limite.

o que eu quero é imprimir o pedido conforme for solicitado, ou seja, imprimir o pedido do dia 30/03/2016 sem a aparecer o do dia 25/03/2016.

como faço isso?

Avelino Sampaio   11/04/2016 07:25:02

Francisca,

se inscreva no nosso fórum: http://www.redeaccess.com.br

lá, nos forneça mais detalhes e se possível anexe um arquivo exemplo.

Aguardamos

Carlos A L Oliveira   25/04/2016 23:16:26

Você alguma vez já escreveu sobre como fazer um relatório listando dias e dias da semana de um determinado mês e ano, partindo apenas da informação de Mês e Ano ?
O uso prático seria a montagem de uma Folha de Ponto dos Funcionários.
Tentei o Controle Calendário, sem sucesso.

Avelino Sampaio   27/04/2016 08:39:03

Carlos,

vá na seção BLOG do site e abra o artigo "Uma ajuda para quem está começando umnegócio...". Lá tem um sistema de Folha de Ponto.

Bom estudo!

vera barroso   08/11/2016 10:56:12

obrigada pela ajuda.

JOSE FRANCISCO SALVADOR   18/11/2016 20:26:19

Senhores usuários do Access.

Quero imprimir um relatório só com nomes, retratando os assentos de um ônibus:
1 Nome 2 Nome 4 Nome 3 Nome (Esta é a ordem das poltronas em qualquer ônibus)
5 Nome 6 Nome 8 Nome 7 Nome
...
39 Nome 40 Nome 44 Nome 43 Nome
45 Nome 46 Nome (B A N H E I R O)

Avelino Sampaio   19/11/2016 06:25:12

Jose,

se inscreva no nosso fórum e explique com mais detalhes o que deseja:

http://www.redeaccess.com.br

Aguardamos

JAIRO   28/02/2017 10:32:00

BAR Data Semana movimneto skol brahma itaipava polar kaiser colonia belco
1 01/02/2017 5 saldo inicial 10 15 20 25 20 20 20
1 02/02/2017 5 entrada 10 10 10 10 10 10 10
1 03/02/2017 5 venda -5 -10 -10 -10 -10 -20 -10
1 04/02/2017 5 perda -1 -1 -1 0 0 0 0
1 04/02/2017 5 consumo 0 -1 0 0 0 0 0
1 04/02/2017 5 saldo final 14 13 19 25 20 10 20






















BAR Data Semana movimneto skol brahma itaipava polar kaiser colonia belco
1 05/02/2017 6 saldo inicial 14 13 19 25 20 10 20
1 06/02/2017 6 entrada 10 10 10 10 10 10 10
1 07/02/2017 6 venda -5 -5 -5 -5 -5 -5 -5
1 08/02/2017 6 perda -1 -1 -1 -1 -1 -1 -1
1 09/02/2017 6 consumo -1 0 0 0 0 0 0
1 10/02/2017 6 venda -5 -5 -5 -5 -5 -5 -5
1 11/02/2017 6 venda -5 -5 -5 -5 -5 -5 -5
1 11/02/2017 6 saldo final 7 7 13 19 14 4 14
pessoal, sou novo no forum....

preciso de uma ajuda no access, tenho um controle de estoque de bebidas no bar, e quero fazer um controle melhor, te nho excel, mas vira e mexe to apagando algum coisa.

quero fazer um saldo semanal, bem simples sem luxo, conforme acima podem me ajudar.

obrigado.

Avelino Sampaio   28/02/2017 13:56:12

Jairo,

se inscreva no nosso fórum é lá vc poderá nos fornecer mais detalhes.

http://www.redeaccess.com.br

Te aguardamos

Wagner Bhering da Silva   27/03/2017 12:08:57

Possuo uma tabela com um campo longo para descrever o histórico de um processo mas no relatório o access 2016 não imprime todo o texto. O texto na tabela foi definido como sem formatação. Existe uma solução?


Envie seu comentário: