You are on page 1of 137

Gerador de Relatrios (PCSIS800)

2
NDICE

1 BANCO DE DADOS 6
1.1 O QUE UM BANCO DE DADOS (BD).............................................................................7
1.2 CONCEITOS ............................................................................................................8
1.2.1 Tabelas............................................................................................................8
1.2.2 Registro X Campo.............................................................................................9
1.2.3 Relacionamento entre Tabelas......................................................................... 10
1.2.3.1 Relacionamento do Tipo Um para Um (1:1).............................................. 10
1.2.3.2 Relacionamento do Tipo Um para Vrios (1:N) ......................................... 10
2 TABELAS DO SISTEMA WINTHOR 11
2.1 PRINCIPAIS TABELAS DO WINTHOR ............................................................................ 12
2.2 RELACIONAMENTO ENTRE AS TABELAS DO WINTHOR ....................................................... 13
3 LINGUAGEM SQL 14
3.1 O QUE LINGUAGEM SQL? QUAL SUA FINALIDADE? ........................................................ 15
3.2 COMANDO SELECT.................................................................................................. 16
3.2.1 Selecionando todas as colunas ou colunas especficas....................................... 16
3.2.2 Usando operadores aritmticos (usando ou no parnteses) ............................. 16
3.2.3 Concatenar..................................................................................................... 16
3.2.4 Distinct .......................................................................................................... 16
3.3 RESTRINGINDO DADOS (WHERE)................................................................................ 17
3.3.1 Condies de Comparao .............................................................................. 17
3.3.1.1 Condio = (igual).................................................................................. 17
3.3.1.2 Condio <> (diferente) ......................................................................... 17
3.3.1.3 Condio > (maior) ................................................................................ 17
3.3.1.4 Condio >= (maior ou igual) ................................................................. 17
3.3.1.5 Condio < (menor) ............................................................................... 18
3.3.1.6 Condio <= (menor ou igual) ................................................................ 18
3.3.1.7 Condio in (na lista) .............................................................................. 18
3.3.1.8 Condio not in (no est na lista)........................................................... 18
3.3.1.9 Condio like (como, parecido)................................................................ 18
3.3.1.10 Condio not like (no parecido)........................................................... 18
3.3.1.11 Condio between (entre dois valores)..................................................... 19
3.3.1.12 Condio not between (no est entre dois valores) ................................. 19
3.3.1.13 Condio is null ( nulo).......................................................................... 19
3.3.1.14 Condio is not null (no nulo) ............................................................. 19
3.3.2 Condies Lgicas (and, or) ............................................................................ 20
3.4 REGRAS DE PRECEDNCIA......................................................................................... 20
3.5 ORDENANDO OS RESULTADOS (ORDER BY, ORDER BY DESC)............................................... 21
3.5.1 Ordenando por coluna simples ........................................................................ 21
3.5.2 Ordenando por mltiplas colunas..................................................................... 21
3.6 FUNES DE LINHA SIMPLES ..................................................................................... 22
3.6.1 Funes gerais ............................................................................................... 22
3.6.1.1 Funo NVL............................................................................................ 22
3.6.1.2 Funo CASE.......................................................................................... 22
3.6.1.3 Funo DECODE..................................................................................... 22
3.6.2 Funes de Caractere ..................................................................................... 22
3.6.2.1 Funo LOWER....................................................................................... 22
3.6.2.2 Funo UPPER........................................................................................ 22
3.6.2.3 Funo INITCAP ..................................................................................... 23
3.6.2.4 Funo SUBSTR...................................................................................... 23

3
3.6.2.5 Funo LENGTH ..................................................................................... 23
3.6.2.6 Funo REPLACE .................................................................................... 23
3.6.2.7 Funo INSTR ........................................................................................ 23
3.6.3 Funes Numricas......................................................................................... 24
3.6.3.1 Funo ROUND ...................................................................................... 24
3.6.3.2 Funo TRUNC ....................................................................................... 24
3.6.3.3 Funo MOD .......................................................................................... 24
3.6.3.4 Funo ABS............................................................................................ 24
3.7 TRABALHANDO COM DATAS....................................................................................... 25
3.7.1 Funo SYSDATE............................................................................................ 25
3.7.2 Aritmtica com Datas...................................................................................... 25
3.7.2.1 Adicionando dias .................................................................................... 25
3.7.2.2 Subtraindo dias ...................................................................................... 25
3.7.2.3 Diferena entre datas.............................................................................. 25
3.8 FUNES DE CONVERSO......................................................................................... 26
3.8.1 NUMBER to VARCHAR..................................................................................... 26
3.8.2 DATE to VARCHAR.......................................................................................... 26
3.9 FUNES DE GRUPO (AVG, COUNT, MAX, MIN, SUM)................................................. 26
3.9.1.1 Funo AVG ........................................................................................... 26
3.9.1.2 Funo COUNT....................................................................................... 26
3.9.1.3 Funo MAX ........................................................................................... 26
3.9.1.4 Funo MIN............................................................................................ 26
3.9.1.5 Funo SUM........................................................................................... 26
3.10 GROUP BY.......................................................................................................... 27
3.11 HAVING ............................................................................................................. 27
3.12 RELACIONAMENTO ENTRE TABELAS.............................................................................. 27
3.12.1 Relacionamento simples.............................................................................. 27
3.12.2 Relacionamento utilizando outer join (+)...................................................... 27
3.13 SUB-SELECTS........................................................................................................ 28
3.14 UNION / UNION ALL ................................................................................................ 28
3.15 SUB-SELECT NO FROM ............................................................................................ 29
4 EXERCCIOS SQL 30
4.1 EXERCCIO 1......................................................................................................... 31
MONTAR PESQUISA COM AS SEGUINTES INFORMAES: ................................................................ 31
4.2 EXERCCIO 2......................................................................................................... 31
MONTAR PESQUISA COM AS SEGUINTES INFORMAES: ................................................................ 31
4.3 EXERCCIO 3......................................................................................................... 31
MONTAR PESQUISA COM AS SEGUINTES INFORMAES: ................................................................ 31
4.4 EXERCCIO 4......................................................................................................... 32
MONTAR PESQUISA COM AS SEGUINTES INFORMAES: ................................................................ 32
4.5 EXERCCIO 5......................................................................................................... 32
MONTAR PESQUISA COM AS SEGUINTES INFORMAES: ................................................................ 32
4.6 EXERCCIO 6......................................................................................................... 32
MONTAR PESQUISA COM AS SEGUINTES INFORMAES: ................................................................ 32
4.7 EXERCCIO 7......................................................................................................... 33
MONTAR PESQUISA COM AS SEGUINTES INFORMAES: ................................................................ 33
4.8 EXERCCIO 8......................................................................................................... 33
MONTAR PESQUISA COM AS SEGUINTES INFORMAES: ................................................................ 33
4.9 EXERCCIO 9......................................................................................................... 33
MONTAR PESQUISA COM AS SEGUINTES INFORMAES: ................................................................ 33
5 GERADOR DE RELATRIOS VISO GERAL 34
5.1 CONHECENDO O GERADOR DE RELATRIOS................................................................... 35
5.2 ROTEIRO PARA CRIAO DE PASTAS............................................................................. 36

4
5.3 ROTEIRO PARA CRIAO DE RELATRIOS ...................................................................... 37
5.4 PESQUISANDO DADOS DO RELATRIO.......................................................................... 40
5.5 IMPRIMINDO O RELATRIO ....................................................................................... 42
5.6 EDITANDO SQL DE RELATRIOS................................................................................. 44
5.7 EDITANDO FILTROS DE RELATRIOS............................................................................ 47
5.8 EDITANDO LAYOUT DE RELATRIOS............................................................................. 49
6 EDITOR SQL - ASSISTENTE 51
6.1 VISO GERAL DO ASSISTENTE ................................................................................... 52
6.2 EDITANDO PROPRIEDADES DOS OBJETOS ...................................................................... 53
6.3 CRIANDO LIGAO ENTRE TABELAS (JOIN) .................................................................... 53
6.4 SELECIONAR CAMPOS PARA RESULTADO DA PESQUISA....................................................... 54
6.5 ORDENAO DE CAMPOS .......................................................................................... 54
6.6 DEFININDO CRITRIOS ............................................................................................ 54
6.7 AGRUPANDO OS CAMPOS DE SADA.............................................................................. 55
6.8 INSERINDO SUB-CONSULTAS...................................................................................... 55
6.9 ADICIONANDO TABELAS DERIVADAS............................................................................. 55
6.10 TRABALHANDO COM UNIO DE SUB-CONSULTAS (UNION) ................................................ 56
6.11 NAVEGANDO PELA RVORE DE CONSULTA...................................................................... 56
7 SQL FUNES ESPECIAIS 57
7.1 DESCRIO DAS FUNES ESPECIAIS .......................................................................... 58
7.1.1 C_RATEIO_ .................................................................................................... 58
7.1.2 C_ACUMULO_................................................................................................. 58
7.1.3 C_RECNUM .................................................................................................... 58
7.2 EXEMPLO DE SCRIPT COM FUNES ESPECIAIS............................................................... 59
8 CONFIGURANDO FILTROS 60
8.1 O QUE SO FILTROS ? ............................................................................................. 61
8.2 COMPONENTES DA TELA DE CONFIGURAO DE FILTROS. .................................................. 62
8.3 TIPOS DE COMPONENTES DE FILTROS.......................................................................... 63
8.3.1 EDIT.............................................................................................................. 63
8.3.2 DATA............................................................................................................. 65
8.3.3 COMBOBOX.................................................................................................... 67
8.3.4 GROUPBOX .................................................................................................... 68
8.3.5 CHECKBOX..................................................................................................... 70
8.3.6 CONSULTA..................................................................................................... 71
8.3.7 CHECKCOMBOBOX.......................................................................................... 75
8.3.8 NUMERICO..................................................................................................... 76
9 TRABALHANDO COM PESQUISAS 77
9.1 ESTRUTURA DA TELA DE RESULTADO DE PESQUISA........................................................... 79
9.2 BOTES DE FUNES .............................................................................................. 80
9.2.1 Expandir ........................................................................................................ 80
9.2.2 Recolher ........................................................................................................ 80
9.2.3 Imprimir......................................................................................................... 81
9.2.3.1 Imprimir Relatrio .................................................................................. 82
9.2.3.2 Imprimir Grade....................................................................................... 83
9.2.3.3 Visualizar Impresso Grade ..................................................................... 84
9.2.3.4 Exportar para Arquivos ........................................................................... 85
9.2.4 Fechar ........................................................................................................... 86
9.2.5 rea de Agrupamento..................................................................................... 87
9.2.6 Cabealho da Grid .......................................................................................... 88
9.2.7 Boto para exibir / esconder campos da grid.................................................... 88
9.2.8 Boto de cabealho dos campos ...................................................................... 88

5
9.3 FUNES COM O BOTO DIREITO DO MOUSE.................................................................. 89
9.3.1 Sort Ascending ............................................................................................... 89
9.3.2 Sort Descending ............................................................................................. 89
9.3.3 Clear Sorting .................................................................................................. 89
9.3.4 Group by this field .......................................................................................... 89
9.3.5 Group by box ................................................................................................. 89
9.3.6 Footer............................................................................................................ 89
9.3.7 Group Footers ................................................................................................ 90
9.3.8 Remove this column ....................................................................................... 90
9.3.9 Field Chooser ................................................................................................. 90
9.3.10 Best Fit ...................................................................................................... 91
9.3.11 Best Fit (all columns) .................................................................................. 91
9.4 FUNES COM O BOTO ESQUERDO DO MOUSE (CLIQUE NORMAL) ....................................... 92
9.4.1 Classificao dos dados................................................................................... 92
9.4.2 Filtros ............................................................................................................ 93
9.4.2.1 Critrios para configurao de filtros........................................................ 94
9.5 REA DE RODAP ................................................................................................... 95
9.6 FUNES DE REA DE RODAP .................................................................................. 97
9.7 BOTES DE NAVEGAO........................................................................................... 97
10 LAYOUT VISO GERAL 98
10.1 COMPONENTES PADRO......................................................................................... 100
10.2 COMPONENTES DE DADOS ...................................................................................... 102
10.3 TAMANHO .......................................................................................................... 103
10.4 ALINHAMENTO OU ESPAAMENTO ............................................................................. 104
10.5 DESLOCAMENTO................................................................................................... 105
10.6 DESENHO........................................................................................................... 106
10.7 FORMATO........................................................................................................... 107
10.8 EDITAR.............................................................................................................. 109
11 LAYOUT APLICAO PRTICA 111
11.1 DESENHANDO O RELATRIO.................................................................................... 111
11.1.1 Assistente de Layout e Orientao ............................................................. 114
11.1.2 Assistente de Estilo................................................................................... 115
11.1.3 Finalizando o Assistente de Relatrio ......................................................... 116
11.1.4 Visualizar Impresso................................................................................. 118
11.2 ADICIONANDO RESUMO AO RELATRIO...................................................................... 119
11.3 CRIANDO CAMPOS CALCULADOS................................................................................ 121
11.4 TRABALHANDO COM VARIVEIS................................................................................ 126
11.5 FORMATAO DO RELATRIO................................................................................... 132
11.5.1 Formatando fontes. .................................................................................. 132
11.5.2 Formato de apresentao.......................................................................... 133
11.5.3 Inserindo imagens .................................................................................... 134
12 EXERCCIOS CRIAO DE RELATRIOS 135
12.1 EXERCCIO 1....................................................................................................... 135
12.2 EXERCCIO 2....................................................................................................... 135
12.3 EXERCCIO 3....................................................................................................... 135
12.4 EXERCCIO 4....................................................................................................... 136
12.5 EXERCCIO 5....................................................................................................... 136
12.6 EXERCCIO 6....................................................................................................... 137
12.7 EXERCCIO 7....................................................................................................... 137




6
1 Banco de Dados


7
1.1 O que um Banco de Dados (BD)

Bancos de dados uma estrutura onde dados so armazenados de maneira organizada. Essas
estruturas costumam ter a forma de tabelas. Podemos dizer que Banco de Dados um
conjunto de Tabelas.
Um banco de dados um conjunto de dados com uma estrutura regular. Um banco de dados
normalmente, mas no necessariamente, armazenado em algum formato de mquina lido
pelo computador.
O Banco de Dados do sistema WinThor possui mais de uma centena de tabelas. Dentre elas,
podemos citar algumas tabelas muito utilizadas, como, por exemplo, a Tabela de Clientes
(PCCLIENT), Tabela de Produtos (PCPRODUT), Tabela de Fornecedores (PCFORNEC) e Tabela
de Contas a Receber (PCPRPEST), entre outras.


BANCO DE DADOS DO SISTEMA WINTHOR

















Outras
Tabelas
...
Tabela de
Fornecedores
(PCFORNEC)
Tabela de Contas
a Receber
(PCPREST)
Tabela de Clientes
(PCCLIENT)
Tabela de
Produtos
(PCPRODUT)

8
1.2 Conceitos

1.2.1 Tabelas

As tabelas consistem na estrutura bsica para armazenar dados. Uma tabela composta de
campos que possuem duas qualidades que determinam os dados que podem ser armazenados
neles. A primeira a qualidade do tipo de dado, que pode ser texto, memorando, nmero,
moeda, data/hora, sim/no, contador. A segunda propriedade refere-se lista de
propriedades relacionada a cada campo, como tamanho, formato, casas decimais, legenda,
valor padro, regra e texto de validao.



EXEMPLO DE ESTRUTURA DE TABELA

NOME NULL TYPE
CODPROD NOT NULL NUMBER (6,0)
DESCRICAO NOT NULL VARCHAR2 (40)
EMBALAGEM NOT NULL VARCHAR (12)
UNIDADE VARCHAR2 (2)
CODEPTO NOT NULL NUMBER (6,0)
DTCADASTRO DATE











9

1.2.2 Registro X Campo

As tabelas so formadas por uma ou mais colunas, zero ou mais linhas. Usamos uma tabela
para armazenar dados sobre uma ou mais ocorrncias de uma determinada entidade de nosso
Banco de Dados.
A cada coluna da tabela damos o nome de campo.
A cada linha da tabela (conjunto de campos) damos o nome de registro.
importante lembrar que os dados so armazenados de maneira organizada nas tabelas e,
algumas vezes, as informaes isoladas de uma tabela podem parecer no fazer sentido.
Porm, quando esses dados so relacionados a outros dados de outras tabelas, ocorre uma
complementao dos dados.
Ao dado ou conjunto de dados interpretado damos o nome de informao. Ou seja, os dados
passam a se chamar informaes a partir do momento que sabemos para que servem, a partir
do momento que passam a ter utilidade.

EXEMPLO DE TABELA DO SISTEMA WINTHOR

TABELA DE PRODUTOS (PCPRODUT)
CODIGO DESCRICAO UNIDADE PESO
10 ARROZ FD 30
12 OLEO DE SOJA CX 12
15 LAPIS CX 0,10













Colunas ou campos da tabela
de produtos
Linhas ou
registros da
tabela de
produtos

10
1.2.3 Relacionamento entre Tabelas

Podemos chamar de relacionamento entre tabelas a maneira que as tabelas utilizam para se
ligarem, para que seus dados possam ser unidos, formando informaes completas.
Os tipos de relacionamentos mais utilizados so:
Um para Um (1:1)
Um para Vrios (1:N)


1.2.3.1 Relacionamento do Tipo Um para Um (1:1)
Esta relao existe quando os campos que se relacionam so ambos do tipo Chave Primria, em
suas respectivas tabelas. Cada um dos campos no apresenta valores repetidos. Na prtica
existem poucas situaes onde utilizaremos um relacionamento deste tipo.
Um exemplo tpico desse tipo de relacionamento pode ser demonstrado com as tabelas PCPEDC
(Cabealho de pedido de venda) e PCNFSAID (Nota fiscal de venda). Nesse exemplo, para cada
um cabealho de pedido de venda existe apenas uma nota fiscal de venda.

1.2.3.2 Relacionamento do Tipo Um para Vrios (1:N)
Este , com certeza, o tipo de relacionamento mais comum entre duas tabelas. Uma das
tabelas (o lado um do relacionamento) possui um campo que a Chave Primria e a outra
tabela (o lado vrios) se relaciona atravs de um campo cujos valores relacionados podem se
repetir vrias vezes.
Um exemplo tpico desse tipo de relacionamento pode ser demonstrado com as tabelas PCPEDC
(Cabealho de pedido de venda) e PCPEDI (Itens de pedido de venda). Nesse exemplo, para
cada um cabealho de pedido de venda podemos ter vrios itens do mesmo pedido de venda.




11
2 Tabelas do Sistema WinThor



12
2.1 Principais Tabelas do WinThor

Nome da Tabela Descrio da Tabela
PCCLIENT Cadastro de Clientes
PCUSUARI Cadastro de RCAs
PCEMPR Cadastro de Funcionrios
PCFORNEC Cadastro de Fornecedores
PCPRODUT Cadastro de Produtos
PCCOB Cadastro de Cobranas
PCBANCO Cadastro de Caixas / Bancos
PCCARREG Tabela de Carregamentos
PCCONSUM Tabela de Parmetros do Winthor
PCCRECLI Tabela de Crditos de Clientes
PCEST Tabela de Estoque
PCFILIAL Cadastro de Filiais
PCLANC Tabela de Lanamentos de Contas a Pagar
PCMOEDA Cadastro de Moedas
PCMOV Tabela de Movimentao de Produtos
PCMOVCR Tabela de Movimentao de Numerrios
PCNFENT Cabealho de Nota Fiscal de Entrada
PCNFSAID Cabealho de Nota Fiscal de Sada
PCPEDC Cabealho de Pedido de Venda
PCPEDI Itens de Pedido de Venda
PCPLPAG Cadastro de Planos de Pagamento
PCPRACA Cadastro de Praas
PCPREST Tabela de Contas a Receber
PCREGIAO Cadastro de Regies
PCROTA Cadastro de Rotas
PCSUPERV Cadastro de Supervisores
PCTABPR Tabela de Preos




13
2.2 Relacionamento entre as tabelas do WinThor



PCPEDI
NUMPED
CODPROD
PCPEDC
CODCLI
NUMPED
PCCLIENT
CODCLI
PCPREST
CODCLI
CODCOB
CODUSUR
NUMCAR
DUPLIC
PCCOB
CODCOB
PCPRODUT
CODPROD
CODFORNEC
PCMOV
CODPROD
CODCLI
NUMNOTA
PCFORNEC
CODFORNEC
PCNFSAID
NUMNOTA
CODCLI
CODUSUR
NUMCAR
CODCOB
PCCARREG
NUMCAR
PCUSUARI
CODUSUR


14
3 Linguagem SQL


15
3.1 O que linguagem SQL? Qual sua finalidade?

Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL, uma
linguagem de pesquisa banco de dados.
O SQL foi desenvolvido originalmente no incio dos anos 70 nos laboratrios da IBM. O nome
original da linguagem era SEQUEL, acrnimo para "Structured English Query Language"
(Linguagem de Consulta Estruturada em Ingls).
A linguagem SQL um grande padro de banco de dados. Isto decorre da sua
simplicidade e facilidade de uso. Ela se diferencia de outras linguagens de consulta a banco de
dados no sentido em que uma consulta SQL especifica a forma do resultado e no o caminho
para chegar a ele. Ela uma linguagem declarativa em oposio a outras linguagens
procedurais. Isto reduz o ciclo de aprendizado daqueles que se iniciam na linguagem.
Embora o SQL tenha sido originalmente criado pela IBM, rapidamente surgiram vrios "dialetos"
desenvolvidos por outros produtores. Essa expanso levou necessidade de ser criado e
adaptado um padro para a linguagem. Esta tarefa foi realizada pela American National
Standards Institute (ANSI) em 1986 e ISO em 1987.
Tal como dito anteriormente, o SQL, embora padronizado pela ANSI e ISO, possui muitas
variaes e extenses produzidos pelos diferentes fabricantes de sistemas gerenciadores de
bases de dados. Tipicamente a linguagem pode ser migrada de plataforma para plataforma sem
mudanas estruturais.






















16
3.2 Comando Select

O comando select o comando base para todos os comandos de pesquisa de informaes no
banco de dados. Este comando possui a seguinte estrutura padro:

SELECT (Selecionar)
<CAMPOS ou *> (Campos selecionados ou todos os campos usando *)
FROM <TABELAS> (Das Tabelas)
WHERE <CLUSULAS> (Clusulas de amarraes e/ou restries)
GROUP BY <CAMPOS> (Agrupando por campos)
ORDER BY <CAMPOS> (Ordenando por campos crescentes ou Decrescentes).


3.2.1 Selecionando todas as colunas ou colunas especficas.

select * from pcnfsaid;
(seleciona todos os campos da tabela pcnfsaid)

select numnota, dtsaida, vltotal from pcnfsaid;
(seleciona os campos numnota, dtsaida e vltotal da tabela pcnfsaid)


3.2.2 Usando operadores aritmticos (usando ou no parnteses)

select numnota, dtsaida, vltotal, vldesconto, vltotal-vldesconto from pcnfsaid;
(seleciona os campos numnota, dtsaida, vltotal, vldesconto, calcula vltotal-vldesconto, colhendo
informaes da tabela pcnfsaid)

select numnota, dtsaida, vltotal, vldesconto, (vltotal-vldesconto) from pcnfsaid;
(seleciona os campos numnota, dtsaida, vltotal, vldesconto, calcula vltotal-vldesconto, colhendo
informaes da tabela pcnfsaid)


3.2.3 Concatenar

O comando concatenar consiste em unificar as informaes de dois campos distintos da tabela
utilizada, de forma que sejam exibidas em apenas um campo.

select especie || serie, numnota from pcnfsaid;
(seleciona o campo especie, concatenando com o campo serie, seleciona tambm o campo
numnota, todos da tabela pcnfsaid)


3.2.4 Distinct

O comando distinct consiste em exibir as informaes da tabela utilizada de maneira distinta,
de forma que informaes no sejam exibidas de maneira redundante.

select distinct codcli from pcnfsaid;
(seleciona o campo codcli da tabela pcnfsaid de maneira distinta, ou seja, cada informao do
campo codcli ser exibido apenas uma vez, no importando quantas outras vezes essa
informao esteja presente em outros registros da tabela utilizada)




17
3.3 Restringindo Dados (where)

O comando de restrio where o comando de restrio mais utilizado. O comando where
quer dizer onde, ou seja, com a utilizao do comando where, sero exibidas as informaes
solicitadas, onde as mesmas obedecerem as restries informadas.


3.3.1 Condies de Comparao
= igual
> maior
>= maior ou igual
< menor
<= menor ou igual
<> diferente
in na lista
not in no est na lista
like como, parecido
not like no parecido
between entre dois valores
not between no est entre dois valores
is null nulo
is not null no nulo


3.3.1.1 Condio = (igual)

select * from pcnfsaid where numnota = 50;
(seleciona todos os campos da tabela pcnfsaid onde o valor do campo numnota for igual a 50)


3.3.1.2 Condio <> (diferente)

select * from pcnfsaid Where numnota <> 2;
(seleciona todos os campos da tabela pcnfsaid onde o valor do campo numnota for diferente de
2)


3.3.1.3 Condio > (maior)

select * from pcnfsaid where numnota > 45;
(seleciona todos os campos da tabela pcnfsaid onde o valor do campo numnota for maior que
45)


3.3.1.4 Condio >= (maior ou igual)

select * from pcnfsaid where numnota >=50;
(seleciona todos os campos da tabela pcnfsaid onde o valor do campo numnota for maior ou
igual a 50)






18
3.3.1.5 Condio < (menor)

select * from pcnfsaid where numnota < 10;
(seleciona todos os campos da tabela pcnfsaid onde o valor do campo numnota for menor que
10)


3.3.1.6 Condio <= (menor ou igual)

select * from pcnfsaid Where numnota <= 5;
(seleciona todos os campos da tabela pcnfsaid onde o valor do campo numnota for menor ou
igual a 5)


3.3.1.7 Condio in (na lista)

select * from pcnfsaid Where numnota in (1,3,5,6,8);
(seleciona todos os campos da tabela pcnfsaid onde o valor do campo numnota pertencer
lista 1,3,5,6,8)


3.3.1.8 Condio not in (no est na lista)

select * from pcnfsaid Where numnota not in (1,3,5,6,8);
(seleciona todos os campos da tabela pcnfsaid onde o valor do campo numnota no pertencer
lista 1,3,5,6,8)


3.3.1.9 Condio like (como, parecido)

select * from pcnfsaid Where numnota like 1%;
(seleciona todos os campos da tabela pcnfsaid, onde o valor do campo numnota comear com o
nmero 1, no importando quantos nmeros venham na seqncia)

select * from pcnfsaid Where numnota like '1_';
(seleciona todos os campos da tabela pcnfsaid, onde o valor do campo numnota comear com o
nmero 1, e que tenham apenas um nmero na seqncia)


3.3.1.10 Condio not like (no parecido)

select * from pcnfsaid Where numnota not like 1%;
(seleciona todos os campos da tabela pcnfsaid, onde o valor do campo numnota no comear
com o nmero 1, no importando quantos nmeros venham na seqncia)

select * from pcnfsaid Where numnota not like '1_';
(seleciona todos os campos da tabela pcnfsaid, onde o valor do campo numnota no comear
com o nmero 1, e que tenham apenas um nmero na seqncia)








19
3.3.1.11 Condio between (entre dois valores)

select * from pcnfsaid Where numnota between 1 and 10;
(seleciona todos os campos da tabela pcnfsaid, onde o valor do campo numnota estiver entre 1
e 10)


3.3.1.12 Condio not between (no est entre dois valores)

select * from pcnfsaid Where numnota not between 1 and 10;
(seleciona todos os campos da tabela pcnfsaid, onde o valor do campo numnota no estiver
entre 1 e 10)


3.3.1.13 Condio is null ( nulo)

select * from pcnfsaid where comissao is null;
(seleciona todos os campos da tabela pcnfsaid, onde o valor do campo comissao for nulo)


3.3.1.14 Condio is not null (no nulo)

select * from pcnfsaid where comissao is not null;
(seleciona todos os campos da tabela pcnfsaid, onde o valor do campo comissao no for nulo)



Obs.: Campo nulo o campo que no possui nenhum valor atribudo. Campos com um
caractere de espao ou 0(zero) tem valor atribudo. Campo nulo campo vazio. Pode-se usar o
comando TRIM para retirar os espaos do campo, como por exemplo: select * from pcpedc
where trim(condvenda) is null

























20
3.3.2 Condies Lgicas (and, or)

A condio lgica and utilizada para acrescentar uma condio de incluso, ou seja, o
resultado ser exibido apenas se todos os critrios de pesquisa foram obedecidos.

A condio lgica or utilizada para acrescentar uma condio de alternativa, ou seja, o
resultado ser exibido caso seja obedecido o primeiro critrio OU caso seja obedecido o
segundo critrio.

select * from pcprest
where duplic = 2
and codcob <> 'DESD';
(seleciona todos os campos da tabela pcprest, onde o campo duplic for igual a 2 e o
campo codcob for diferente de DESD)

select * from pcprest
where duplic = 2
and codcob = 'BK'
or duplic = 3
and codcob = 'CHP';
(seleciona todos os campos da tabela pcprest, onde o campo duplic for igual a 2, e o
campo codcob for igual a BK, ou onde o campo duplic for igual a 3, e o campo codcob for igual
a CHP)




3.4 Regras de Precedncia

Operadores aritmticos
Operador de concatenao
Condies de comparao
Is null, is not null, like, not in
Between, not between
Condio lgica and
Condio lgica or

Obs1.: As regras de precedncia podem ser alteradas utilizando-se parnteses.

Obs2.: Recomenda-se sempre utilizar parnteses, para melhor organizao e visualizao do
cdigo escrito.















21

3.5 Ordenando os resultados (order by, order by desc)


3.5.1 Ordenando por coluna simples

select * from pcempr
order by matricula;
(seleciona todos os campos da tabela pcempr, ordenando as informaes pelo campo matricula,
em ordem crescente)

select * from pcempr
order by matricula desc;
(seleciona todos os campos da tabela pcempr, ordenando as informaes pelo campo matricula,
em ordem decrescente)


3.5.2 Ordenando por mltiplas colunas

select * from pcprest
order by duplic, codcli, codcob;
(seleciona todos os campos da tabela pcprest, ordenando as informaes pelos campos duplic,
codcli e codcob, em ordem crescente)

Obs.: O termo desc aplicado ao campo diretamente anterior ao termo, sendo aplicado de
maneira individual. Caso se deseje aplicar ordem decrescente todos os campos, o termo desc
deve ser obrigatoriamente informado aps cada campo.





























22
3.6 Funes de Linha Simples


3.6.1 Funes gerais
(NVL, CASE, DECODE)


3.6.1.1 Funo NVL

select nvl(punit,0) from pcmov
(seleciona o campo punit da tabela pcmov, atribuindo valor 0 se for nulo)


3.6.1.2 Funo CASE

select numnota, case when numnota < 100 then MENOR QUE 100
when numnota between 101 and 200 then ENTRE 101 E 200
else MAIOR QUE 200 end RESULTADO
from pcmov;
(seleciona da tabela pcmov o campo numnota, e exibe mensagem de acordo com as condies:
caso o campo numnota seja menor que 100, exibe a mensagem MENOR QUE 100, caso o
campo numnota esteja entre 101 e 200, exibe a mensagem ENTRE 101 E 200, caso contrrio,
exibe a mensagem MAIOR QUE 200)


3.6.1.3 Funo DECODE

select numnota, decode (numnota, 100, CEM, 200, DUZENTOS, 300, TREZENTOS,
NENHUM) resultado from pcmov;
(seleciona da tabela pcmov, o campo numnota, e exibe mensagem de acordo com as
condies: se o campo numnota for igual a 100, exibe CEM, se for 200, exibe DUZENTOS, se
for 300, exibe TREZENTOS, se no for nenhum dos anteriores, exibe NENHUM)


3.6.2 Funes de Caractere
(LOWER, UPPER, INITCAP, SUBSTR, LENGTH, REPLACE, INSTR)


3.6.2.1 Funo LOWER

select matricula, lower(nome) from pcempr;
(seleciona os campos matricula e nome da tabela pcempr, convertendo o contedo do campo
nome para que seja exibido todo em caracteres minsculos)


3.6.2.2 Funo UPPER

select matricula, upper(nome) from pcempr;
(seleciona os campos matricula e nome da tabela pcempr, convertendo o contedo do campo
nome para que seja exibido todo em caracteres maisculos)





23
3.6.2.3 Funo INITCAP

select matricula, initcap(nome) from pcempr;
(seleciona os campos matricula e nome da tabela pcempr, convertendo o contedo do campo
nome para que seja exibido em maisculo toda primeira letra de cada palavra)


3.6.2.4 Funo SUBSTR

select matricula, substr(nome,1,5) from pcempr;
(seleciona os campos matricula e nome da tabela pcempr, exibindo, do campo nome, apenas o
contedo a partir do primeiro caracter, os prximos 5 caracteres)


3.6.2.5 Funo LENGTH

select matricula, nome, length(nome) from pcempr;
(seleciona os campos matricula e nome da tabela pcempr, e exibe, logo em seguida, o tamanho
preenchido do campo nome)


3.6.2.6 Funo REPLACE

select matricula, nome, replace(nome,'A','*') from pcempr;
(seleciona os campos matricula e nome da tabela pcempr, e exibe, logo em seguida, o campo
nome, substituindo o caracter A por *)


3.6.2.7 Funo INSTR

select matricula, nome, instr(nome,'A') from pcempr;
(seleciona os campos matricula e nome da tabela pcempr, e exibe, logo em seguida, a posio
do primeiro caractere A encontrado no contedo do campo nome. Caso o caractere desejado
no existir, a funo retornar valor 0.)






















24
3.6.3 Funes Numricas
(ROUND, TRUNC, MOD, ABS)


3.6.3.1 Funo ROUND

select codprod, numregiao, ptabela, round(ptabela,2) from pctabpr;
(seleciona os campos codprod, numregiao, ptabela da tabela pctabpr, e exibe, logo em seguida,
o campo ptabela com seu valor arredondado para 2 casas decimais)


3.6.3.2 Funo TRUNC

select codprod, numregiao, ptabela, trunc(ptabela,2) from pctabpr;
(seleciona os campos codprod, numregiao, ptabela da tabela pctabpr, e exibe, logo em seguida,
o campo ptabela com seu valor truncado na segunda casa decimal).


3.6.3.3 Funo MOD

select mod(300,200) from dual;
(seleciona o resto da diviso entre 300 e 200).


3.6.3.4 Funo ABS

select abs(perdesc) from pcpedi;
(seleciona o valor absoluto do campo perdesc da tabela pcpedi).
Obs.: Valor absoluto o valor puro sem o sinal que determina se o mesmo positivo ou
negativo.


























25
3.7 Trabalhando com Datas


3.7.1 Funo SYSDATE

select sysdate from dual;
(seleciona a data do sistema)


3.7.2 Aritmtica com Datas

3.7.2.1 Adicionando dias

select sysdate+2 from dual;
(seleciona a data do sistema adicionando 2 dias)


3.7.2.2 Subtraindo dias

select sysdate-2 from dual;
(seleciona a data do sistema subtraindo 2 dias)


3.7.2.3 Diferena entre datas

select numnota, dtsaida, dtentrega, dtentrega-dtsaida diferenca from pcnfsaid;
(seleciona os campos numnota, dtsaida, dtentrega da tabela pcnfsaid, e exibe, logo em
seguida, a diferena entre os campos dtentrega e dtsaida, apelidando o campo com o nome de
diferenca)



























26
3.8 Funes de Converso


3.8.1 NUMBER to VARCHAR

select dtmov, numnota, to_char(numnota,'000000') from pcmov;
(seleciona os campos dtmov e numnota da tabela pcmov, e, logo em seguida, o campo
numnota sendo convertido para caracter, no formato de 6 dgitos)


3.8.2 DATE to VARCHAR

select dtmov, numnota, to_char(dtmov,'dd/mm') from pcmov;
(seleciona os campos dtmov e numnota da tabela pcmov, e, logo em seguida, o campo dtmov
sendo convertido para caracter, no formato dd/mm)



3.9 Funes de Grupo (AVG, COUNT, MAX, MIN, SUM)


3.9.1.1 Funo AVG

select avg(vltotal) from pcnfsaid;
(seleciona a mdia dos valores do campo vltotal da tabela pcnfsaid)


3.9.1.2 Funo COUNT

select count(numnota) from pcnfsaid;
(efetua contagem do campo numnota da tabela pcnfsaid)


3.9.1.3 Funo MAX

select max(vltotal) from pcnfsaid;
(seleciona o maior valor do campo vltotal da tabela pcnfsaid)


3.9.1.4 Funo MIN

select min(vltotal) from pcnfsaid;
(selciona o menor valor do campo vltotal da tabela pcnfsaid)


3.9.1.5 Funo SUM

select sum(vltotal) from pcnfsaid;
(seleciona a soma dos valores do campo vltotal da tabela pcnfsaid)






27
3.10 GROUP BY

select dtmov, codprod, sum(qt)
from pcmov
where codprod in (0,1)
group by codprod, dtmov;
(seleciona os campos dtmov, codprod, a soma do campo qt, da tabela pcmov, onde o campo
codprod for 0 ou 1, agrupando as informaes pelos campos codprod e dtmov)



3.11 HAVING

O termo having tem funcionalidade igual ao termo where, porm, destinado
exclusivamente para verificaes em resultados de funes de grupo.

select codcli, count(numnota)
from pcnfsaid
group by codcli
having count(numnota) > 100
(seleciona o campo codcli e efetua a contagem das notas fiscais deste cliente, exibindo apenas
os clientes que tiverem quantidade de notas fiscais superior a 100).



3.12 Relacionamento entre tabelas


3.12.1 Relacionamento simples

select a.codcli, b.cliente, a.numnota
from pcnfsaid a, pcclient b
where a.codcli = b.codcli;
(seleciona os campos codcli[pcnfsaid], cliente[pcclient] e numnota[pcnfsaid], das tabelas
pcnfsaid e pcclient, onde o valor do campo codcli da tabela pcnfsaid for igual ao valor do campo
codcli da tabela pcclient.Os resultados sero exibidos apenas se essa condio for obedecida)


3.12.2 Relacionamento utilizando outer join (+)

select a.codcli, b.cliente, a.numnota
from pcnfsaid a, pcclient b
where a.codcli = b.codcli (+);
(seleciona os campos codcli[pcnfsaid], cliente[pcclient] e numnota[pcnfsaid], das tabelas
pcnfsaid e pcclient, onde o valor do campo codcli da tabela pcnfsaid for igual ao valor do campo
codcli da tabela pcclient. Caso os valores dos campos no sejam iguais, as informaes
solicitadas da tabela pcnfsaid sero exibidas, e os campos da tabela pcclient sero exibidos em
branco)








28
3.13 Sub-selects

select * from pcprest where codusur in (select distinct(codusur) from pcusuari);
(seleciona todos os campos da tabela pcprest, onde o valor do campo codusur pertencer
seleo distinta do campo codusur da tabela pcusuari)



3.14 Union / union all

O comando union tem como funo unir o resultado de 2 ou mais scripts distintos e
independentes. A nica obrigatoriedade do comando union que todos os scripts envolvidos
devem ter exatamente a mesma quantidade de campos, e exatamente com os mesmos
apelidos.
O comando union ir unir como resultado final apenas as linhas de resultado que sejam
nicas em cada scipt, ou seja, no ocorrer a existncia de linhas repetidas.
O comando union all, por sua vez, ir unir como resultado final todas as linhas de
resultado dos scripts, sejam essas linhas repetidas ou no entre os scripts utilizados.
Toda vez que se utilizar o comando union ou union all, a quantidade de campos e seus
tipos devem ser exatamente os mesmos em todas as consultas envolvidas. No obrigatrio
que os nomes e/ou apelidos sejam os mesmos, mas recomendvel, pois proporciona melhor
entendimento e organizao do script.

select numnota, codcli
from pcnfsaid

union

select numnota, codcli
from pcnfent

(seleciona a nmero de nota e cdigo do cliente da tabela PCNFSAID, unindo com o nmero de
nota e cdigo de cliente da tabela PCNFENT. Sero considerados na unio apenas os registros
no repetidos nas pesquisas.)


select numnota, codcli
from pcnfsaid

union all

select numnota, codcli
from pcnfent

(seleciona a nmero de nota e cdigo do cliente da tabela PCNFSAID, unindo com o nmero de
nota e cdigo de cliente da tabela PCNFENT. Sero considerados na unio todos os registros
das duas pesquisas, sejam esses registros repetidos ou no.)









29
3.15 Sub-select no from

A utilizao de sub-selects na clusula from permite que scripts independentes sejam
utilizados como tabelas, e que possa ser estabelecido relacionamento entre esses scripts
independentes.

select compras.codprod, compras.qtde as "Compras", vendas.qtde as "Vendas"
from
(select codprod codprod, sum(qt) qtde from pcmov where codoper = 'E' group by codprod)
Compras,
(select codprod codprod, sum(qt) qtde from pcmov where codoper = 'S' group by codprod)
Vendas
where compras.codprod = vendas.codprod;

(Observe que os scripts Compras e Vendas possuem um relacionamento fora dos sub-
selects, caracterizando que esto sendo realmente tratados como tabelas.)








































30

4 Exerccios SQL





















































31
4.1 Exerccio 1
Montar pesquisa com as seguintes informaes:
Cdigo do cliente
Nome do cliente
Cdigo do primeiro RCA
Nome do primeiro RCA
Observaes:
Tabelas utilizadas (PCCLIENT / PCUSUARI)


4.2 Exerccio 2
Montar pesquisa com as seguintes informaes:
Espcie da N.F.
Nmero da N.F.
Data de sada da N.F.
Valor Total da N.F.
Cdigo do cliente
Nome do cliente
Cdigo do RCA
Nome do RCA
Cdigo do Supervisor
Nome do Supervisor
Observaes:
Tabelas utilizadas (PCNFSAID / PCCLIENT / PCUSUARI / PCSUPERV)
Perodo solicitado: de 01/07/2005 a 31/07/2005


4.3 Exerccio 3
Montar pesquisa com as seguintes informaes:
Data de movimentao do produto
Nmero da N.F.
Cdigo do cliente
Nome do cliente
Cdigo do produto
Descrio do produto
Cdigo de operao da movimentao
Quantidade movimentada
Preo unitrio do produto
Valor total da movimentao (quantidade movimentada * preo unitrio do
produto)
Observaes:
Tabelas utilizadas (PCMOV / PCCLIENT / PCPRODUT)
Perodo solicitado: de 01/08/2005 a 31/08/2005
Cdigo de operao = S











32
4.4 Exerccio 4
Montar pesquisa com as seguintes informaes:
Nmero da nota de venda
Data da nota de venda
Cdigo do cliente
Nome do cliente
Cdigo do RCA
Nome do RCA
Nmero da prestao
Data de vencimento
Valor
Cdigo de cobrana
Data de pagamento
Valor pago
Observaes:
Tabelas utilizadas (PCPREST / PCNFSAID / PCCLIENT / PCUSUARI)
Mostras informaes do perodo de 01/08/2005 a 31/08/2005 das prestaes
que no foram desdobradas (diferente de DESD)


4.5 Exerccio 5
Montar pesquisa com as seguintes informaes:
Cdigo do cliente
Nome do cliente
CGC ou CPF do cliente (do jeito que estiver na tabela)
CGC ou CPF do cliente (sem mscara)
CGC ou CPF do cliente com mscara correta.
Observaes:
Tabelas utilizadas (PCCLIENT)
Se for CGC (14 dgitos), colocar mscara 99.999.999/9999-99
Se for CPF (11 dgitos), colocar mscara 999.999.999-99
Se no for CGC nem CPF informar TIPO INCORRETO
Ordenado por cdigo de cliente


4.6 Exerccio 6
Montar pesquisa com as seguintes informaes:
Numero da Nota
Cdigo do cliente
Nome do cliente
Cidade do cliente
Cdigo do primeiro RCA
Nome do primeiro RCA
Campo descritivo do tipo de RCA (Externo, Interno, Representante)
Valor da nota
Percentual de comisso da nota
Valor da comisso do RCA
Observaes:
Tabelas utilizadas (PCNFSAID / PCCLIENT / PCUSUARI)
Filtrar pelo perodo de 01/01/2005 a 30/06/2005






33
4.7 Exerccio 7
Montar pesquisa com as seguintes informaes:
Cdigo da praa do pedido de venda
Nome da praa
Nmero do pedido de venda
Cdigo do cliente
Nome do cliente
Cdigo de cobrana do pedido
Descrio da cobrana
Cdigo do plano de pagamento
Descrio do plano de pagamento
Prazo mdio do plano de pagamento.
Observaes:
Tabelas utilizadas (PCPEDC / PCPRACA / PCCLIENT / PCCOB / PCPLPAG )
O cliente no precisa necessariamente estar cadastrado
Apenas do supervisor 1
Apenas dados da filial 1
Perodo de 01/01/2006 a 30/04/2006
Apenas vendas da cobrana 237

4.8 Exerccio 8
Montar pesquisa com as seguintes informaes:
Texto fixo informando que a nota fiscal de venda (sada)
Nmero da nota fiscal
Data de emisso da nota fiscal
Cdigo do cliente
Nome do cliente
Valor da nota fiscal
Unindo com
Texto fixo informando que a nota fiscal de entrada
Nmero da nota fiscal
Data de emisso da nota fiscal
Cdigo do fornecedor
Nome do fornecedor
Valor da nota fiscal
Observaes:
Tabelas utilizadas
o Pesquisa 1: (PCNFSAID / PCCLIENT)
o Pesquisa 2: (PCNFENT / PCFORNEC)
Perodo de 01/01/2006 a 30/04/2006

4.9 Exerccio 9
Montar pesquisa com as seguintes informaes:
Cdigo do cliente
Nome do cliente
Valor acumulado de vendas
Valor acumulado de devolues
Observaes:
Script deve utilizar sub-select no from
Dados de vendas e devolues no so obrigatrios
Tabelas utilizadas
Pesquisa principal: PCCLIENT
Pesquisa de vendas: PCNFSAID
Pesquisa de devolues: PCNFENT
Perodo de vendas e devolues: 01/01/2006 a 30/04/2006

34
5 Gerador de Relatrios Viso Geral






















































35
5.1 Conhecendo o Gerador de Relatrios
Assim que o Gerador de Relatrios aberto, a tela abaixo exibida.

Descrio dos componentes da tela principal da rotina.
1) Aba Relatrios: Nesta aba esto contidos todas as pastas e relatrios criados.
2) Aba Opes de Filtros: Nesta aba so exibidos os filtros disponveis para o relatrio
selecionado no momento.
3) Pasta: As pastas so identificadas pela fonte em negrito, e pelo boto de
expanso/retrao (sinal + ou -) localizado antes de seu nome.
4) Relatrio: Os relatrios so identificados como os itens comuns da aba Relatrios. Os
mesmos so escritos com fontes normais, e no possuem boto de identificao.
5) Acesso rpido a relatrios: Este campo destinado ao acesso rpido aos relatrios,
apenas digitando-se o cdigo do relatrio e teclando ENTER tem-se acesso aba de
Filtros do Relatrio.
6) Boto de opes: atravs deste boto possvel acessar as seguintes opes:
a. Novo Relatrio: Esta opo possibilita iniciar o processo de criao de um novo
relatrio ou de novas pastas, nas quais os relatrios podem ser salvos.
b. Editar SQL: Esta opo possibilita editar o script de pesquisa do relatrio
selecionado.
c. Editar Layout: Esta opo possibilita editar o layout de impresso do relatrio
selecionado.
d. Editar Filtro: Esta opo possibilita editar as opes de filtros de pesquisa do
relatrio selecionado.
e. Salvar Como Modelo: Esta opo permite que um modelo de relatrio seja
criado a partir de um relatrio existente, para que seja utilizado futuramente na
criao de novos relatrios.




1
2
3
4
5
6

36
5.2 Roteiro para criao de pastas



- Clique em Opes
- Clique em Novo Relatrio / Nova Pasta



- Clique no boto Nova Pasta



- Digite o nome da pasta a ser criada e clique em OK.


37
5.3 Roteiro para criao de relatrios



- Clique em Opes
- Clique em Novo Relatrio / Nova Pasta



- Digite o nome do relatrio a ser criado
- Selecione a pasta onde o mesmo ser armazenado
- Clique em Avanar



38


- Caso desejar, selecione um modelo de relatrio para reaproveitar o script de pesquisa do
mesmo.
- Clique em Avanar.




- Edite o script SQL conforme desejado ou utilize o Assistente.
- Clique em Avanar.


39


- Configura os filtros da pesquisa conforme desejado.
- Clique em Avanar.


- Caso desejar criar um layout de impresso, deixe a opo da tela selecionada.
- Clique em Confirmar.






40
5.4 Pesquisando dados do Relatrio



- Selecione o relatrio desejado
- V par a aba Opes de Filtros. Esta aba pode ser acionada das seguintes maneiras:
- Clique simples sobre a aba, aps selecionar o relatrio desejado.
- Clique duplo sobre o relatrio desejado.

41

- Informe os filtros desejados
- Clique no boto F3 Pesquisar ou pressione a tecla F3.



42
5.5 Imprimindo o Relatrio



- Selecione o relatrio desejado
- V par a aba Opes de Filtros. A aba Opes de Filtros pode ser acionada das seguintes
maneiras:
- Clique simples sobre a aba, aps selecionar o relatrio desejado.
- Clique duplo sobre o relatrio desejado.






















43

- Informe os filtros desejados
- Clique no boto Imprimir ou pressione as tecla Ctrl + P.




44
5.6 Editando SQL de relatrios



- Selecione o relatrio que deseja editar o script SQL



- Clique em Opes
- Clique em Editar SQL

Nota: o menu de opes tambm pode ser acionado com clique com o boto direito, aps ter
selecionado o relatrio desejado.








45


Boto Formatar SQL
O boto formatar SQL tem como finalidade ajustar todo o script para uma forma padro de
indentao, facilitando o entendimento do script em casos de manuteno.

Aps editar o script SQL conforme desejado, clique em Avanar.
O prximo passo ser conferir e efetuar as alteraes necessrias na configurao dos filtros.



Aps efetuar a conferncia e alteraes necessrias nos filtros, clique em Avanar.


46
O prximo passo ser editar (ou no) o layout do relatrio.


Clique em confirmar para finalizar o processo.































47
5.7 Editando Filtros de relatrios



- Selecione o relatrio que deseja editar os filtros de pesquisa



- Clique em Opes
- Clique em Editar Filtro

Nota: o menu de opes tambm pode ser acionado com clique com o boto direito, aps ter
selecionado o relatrio desejado.







48


Aps efetuar as alteraes necessrias nos filtros, clique em Avanar.
O prximo passo ser editar (ou no) o layout do relatrio.


Clique em confirmar para finalizar o processo.

Nota: importante lembrar que, nos processos de edio de SQL e edio de Filtros, as
alteraes realizadas so salvas somente no momento em que se clica no boto Confirmar, na
tela que d opo para editar ou no o layout do relatrio. Caso o processo seja cancelado em
algum momento, todas as alteraes sero perdidas.


49
5.8 Editando Layout de relatrios



- Selecione o relatrio que deseja editar o layout de impresso.



- Clique em Opes
- Clique em Editar Layout

Nota: o menu de opes tambm pode ser acionado com clique com o boto direito, aps ter
selecionado o relatrio desejado.





50


Com o layout do relatrio aberto, efetue as alteraes desejadas.
Aps efetuar as alteraes, o layout do relatrio deve ser salvo atravs do menu Arquivo,
Salvar.
Aps salvar as alteraes, a tela de edio de layout pode ser fechada.
























51
6 Editor SQL - Assistente






















































52
6.1 Viso Geral do Assistente



rea de Construo de Pesquisa: a rea principal onde a representao visual da consulta
ser exibida. Esta rea permite definir os objetos de fonte de dados e tabelas derivadas, definir
as ligaes entre esses objetos e definir as propriedades de tabelas e links.

Colunas do Painel: localizada na parte inferior rea de construo de pesquisa, as colunas
so destinadas realizao de todas as operaes com pesquisas resultantes em colunas e
expresses. Aqui so definidos os apelidos dos campos, bem como classificao, agrupamento
e construo de critrios.

Painel de Consulta de rvore: est localizada no painel da esquerda. Nele possvel
navegar e localizar cada parte da consulta construda rapidamente.

As abas localizadas na parte superior da rea de construo de pesquisa permite alternar entre
as consultas principais e as sub-consultas.

A pequena rea no canto superior direito da rea de construo de pesquisa, identificada com a
letra Q o controle de tratamento de unio entre pesquisas. Nele possvel adicionar novas
unies de sub-consultas e realizar todas as operaes necessrias nas mesmas.









53
6.2 Editando propriedades dos objetos



As propriedades dos objetos adicionados consulta podem ser alteradas, clicando-se com o
boto direito sobre o objeto e selecionando a opo Editar, ou simplesmente utilizando o clique
duplo sobre o objeto desejado.
As propriedades de dados podem variar de servidor para servidor, mas pelo menos a
propriedade Alias a mesma para todos os servidores de banco de dados, e com isso, pode
ser alterada.



6.3 Criando ligao entre tabelas (join)

Para criar uma ligao entre dois objetos (ou seja, uni-los), deve-se selecionar o campo que
ser utilizado para vincular os objetos e arrast-lo para o campo correspondente no outro
objeto. Ao trmino do processo ser exibida uma linha entre os objetos ligados.

Ao criar a juno entre os objetos, o tipo padro dessa juno INNER JOIN, ou seja, apenas
registros correspondentes de ambas as tabelas sero includos no conjunto de dados resultante.
possvel definir outros tipos de juno. Para isso, deve-ser clicar com o boto direito no link e
selecionar a opo Editar, ou simplesmente utilizando o clique duplo sobre o link. A janela
exibida permite definir o tipo de link entre as tabelas, e qual o critrio de ligao entre elas.

Para remover uma ligao entre objetos, deve-se clicar com o boto direito no link e selecionar
a opo Remover.








54
6.4 Selecionar campos para resultado da pesquisa

A maneira mais fcil de adicionar um campo para ser exibido no resultado da pesquisa de
dados marcando o checkbox localizado esquerda do nome do campo na lista de campos do
objeto selecionada. Para incluir todos os campos de um objeto basta marcar o checkbox do
item asterisco.
Outra maneira selecionar o nome do campo desejado a partir da lista da coluna Expresso,
localizado na parte inferior da tela. E a forma mais comum a de escrever qualquer expresso
vlida dentro da coluna Expresso.
Para remover um campo da lista de consulta, deve-se desmarcar o checkbox localizado
esquerda do campo. Outra maneira de remover o campo da lista de consulta desmarcar o
checkbox Sada, localizado ao lado da coluna Expresso.


6.5 Ordenao de campos

Para definir a ordenao dos campos da consulta deve-se utilizar a coluna Tipo de Ordenao,
localizada no painel de colunas.
A coluna Tipo de Ordenao permite que seja especificada a forma como os campos sero
ordenados: em ordem crescente ou decrescente.
A coluna Ordem permite configurar a ordem em que os campos sero ordenados, no caso de
haver mais de um campo selecionado para a ordenao.
Para cancelar a seleo de ordenao de algum campo, deve-se desmarcar a coluna Tipo de
Ordenao, selecionando-se o primeiro item da lista (em branco).


6.6 Definindo Critrios

Para definir os critrios para a expresso no painel de colunas deve-se utilizar a coluna
Critrio.
O critrio deve ser escrito omitindo-se a expresso em si.
Exemplo:
Para obter o seguinte critrio na consulta
WHERE (CAMPO >= 10) AND (CAMPO <= 20)
Deve-se escrever
>= 10 AND <= 20
na coluna Critrio

Podem ser especificados vrios critrios para uma expresso, utilizando as colunas Ou. Esses
critrios sero concatenados na consulta com o operador OR.











55
6.7 Agrupando os campos de sada

Para configurar o agrupamento de alguns campos deve-se utilizar a coluna Agrupamento.
Ao marcar o checkbox da coluna Agrupamento uma nova coluna exibida no painel. A nova
coluna chama-se Critrios de, e tem como objetivo determinar como o agrupamento ser
feito, caso o campo tenha algum critrio de pesquisa definido.
As opes da coluna Critrios de so:
- Para valores: Utiliza GROUP BY
- Para os grupos: Utiliza HAVING (recomendao: utilizar somente quanto o campo for uma
expresso com funo de grupo).
Obs.: Em testes realizados entende-se que deve ser utilizada apenas a opo Para Valores. A
opo Para os grupos automaticamente selecionada quando a expresso utilizar funo de
grupo e tiver critrio de pesquisa. Com essas caractersticas, a coluna Agrupamento
automaticamente desmarcada.


6.8 Inserindo sub-consultas

Sub-consultas podem ser adicionadas como parte de uma expresso ou como critrio de filtro
de informaes.
Para adicionar uma sub-consulta deve-se clicar com o boto direito sobre o local desejado
(expresso ou critrio) e selecionar a opo Inserir sub-consulta.
Ao criar uma sub-consulta, ser automaticamente criada uma nova guia de consulta de dados,
permitindo que a sub-consulta seja trabalhada com os mesmos recursos que a consulta
principal.


6.9 Adicionando tabelas derivadas

A rea de construo de consultas tambm pode ser utilizada para se adicionar uma tabela
derivada, que uma sub-consulta utilizada na clusula FROM.
Para criar uma tabela derivada, basta clicar com o boto direito na rea de construo de
consulta e selecionar a opo Adicionar tabela derivada.
Ao adicionar a tabela derivada, uma nova guia ser criada na rea de construo de consultas,
permitindo que a tabela derivada seja criada do mesmo modo que a consulta principal.



















56
6.10 Trabalhando com unio de sub-consultas (UNION)

O Trabalho com unio de sub-consultas feito atravs do pequeno painel localizado no canto
superior direito da rea de construo de consultas.
Inicialmente, existe apenas uma sub-consulta (consulta principal), identificada coma letra Q.
Todas as operaes de unio so acessadas atravs de clique com o boto direito sobre os
elementos do painel.

As opes disponveis no menu so:
- New Union SubQuery: adiciona uma nova sub-consulta que ser unida com a consulta j
existente.
- Enclose with Brackets: encapsula a sub-consulta com parnteses.
- Move Backward: permite mover uma sub-consulta ou um parntese para o incio da consulta
(o nvel mais elevado da sub-consulta o lado esquerdo).
- Move Forward: permite mover uma sub-consulta ou um parntese para o fim da consulta.
- Remove: permite remover uma sub-consulta ou um parntese.

Operaes de unio de sub-consulta:
- Move Forward
- Move Backward
- New Union SubQuery
- Enclose with Brackets
- Remove

Operaes de Parnteses
- Move Forward
- Move Backward
- Remove Brackets

Selecionando o operador de unio
Quando uma unio de sub-consulta criada, existe a opo de selecionar o operador que ser
utilizado na unio. Os operadores disponveis so:

UNION: Ir unir os resultados das consultas, trazendo apenas os itens nicos em cada consulta,
ou seja, no haver a existncia de itens repetidos.

UNION ALL: Ir unir os resultados das consultas, trazendo TODOS os itens das consultas, sendo
os itens repetidos ou no.


6.11 Navegando pela rvore de consulta

O painel da rvore de consulta permite que se navegue por toda consulta atravs de uma
representao compacta em forma de estrutura de rvore. Usando a rvore de consulta
possvel acessar cada parte da consulta rapidamente, atravs de um clique. Esta caracterstica
muito til em caso de consultas complexas









57
7 SQL Funes Especiais

Funes especiais nada mais so que apelidos de campos que o Gerador de Relatrio interpreta
de uma maneira especial, efetuando clculos especficos e atribuindo novos valores aos campos
que utilizam esses apelidos.
Como esses apelidos so interpretados de maneira especial, os mesmos devem ser utilizados
somente quando o clculo da funo for necessrio. Caso os apelidos especiais sejam utilizados
para outros campos pesquisados, o relatrio poder apresentar resultados inconsistentes.
importante lembrar que essas funes especiais tem efeito somente no Gerador de Relatrios,
pois so interpretadas pelo prprio Gerador de Relatrios. Caso esses apelidos sejam utilizados
em ferramentas de SQL, os mesmos sero interpretados como apelidos simples, no gerando o
mesmo resultado que o Gerador de Relatrios.




























58
7.1 Descrio das Funes Especiais

7.1.1 C_RATEIO_
Funo: Efetua clculo de percentual de participao, ou seja, calcula quanto cada item do
relatrio representa sobre o montante de todo o relatrio.
Como utilizar: Aps o ltimo caractere _ (underline) deve ser informado o apelido do campo
que deseja utilizar para efetuar o clculo de percentual de participao.

7.1.2 C_ACUMULO_
Funo: Efetua clculo de acumulao dos valores dos itens do relatrio.
Como utilizar: Aps o ltimo caractere _ (underline) deve ser informado o apelido do campo
que deseja utilizar para efetuar o clculo de acumulao de valores.
Obs.: A funo C_ACUMULO_ pode ser aplicada inclusive ao resultado da funo C_RATEIO_,
possibilitando obter o clculo acumulado dos percentuais de participao do relatrio.

7.1.3 C_RECNUM
Funo: Atribui numerao seqencial aos itens da pesquisa.
Como utilizar: Apenas digitar o nome do apelido. No necessrio adicionar outros apelidos
aps o apelido especial, pois esta funo apenas cria a numerao seqencial dos itens da
pesquisa.



















59
7.2 Exemplo de script com Funes Especiais

SELECT
0 C_RECNUM,
0 C_RATEIO_QT,
0 C_ACUMULO_C_RATEIO_QT,
SUM(M.QT) QT,
M.CODPROD,
P.DESCRICAO
FROM
PCMOV M,
PCPRODUT P
WHERE
M.CODPROD= P.CODPROD
AND M.CODFISCAL>5000
AND P.CODEPTO <10
GROUP BY
M.CODPROD,
P.DESCRICAO
ORDER BY
QT DESC

Observaes sobre as funes especiais do exemplo
1) informado o valor 0(zero) para todas as funes especiais do script de pesquisa. Este
valor necessrio, pois a funo especial calculada em numa segunda leitura, aps os
dados principais terem sido gerados.
2) Observe que a funo especial C_RATEIO_ est sendo aplicada sobre o resultado de um
campo calculado com funo de grupo. Isso demonstra que as funes podem ser
aplicadas no somente sobre campos simples.
3) Observe que a funo especial C_ACUMULO_ est sendo aplicada sobre o resultado da
funo especial C_RATEIO_, possibilitando o clculo acumulado dos percentuais de
participao. Alm de aplicar sobre a funo especial C_RATEIO_, a funo especial
C_ACUMULO_ tambm pode ser aplicada campos simples e campos calculados com
funes de grupo.









60
8 Configurando Filtros

































61
8.1 O que so Filtros ?
Filtros so variveis criadas no script SQL que possibilitam restringir o resultado da pesquisa,
garantindo a exibio de resultados mais especficos, de acordo com as necessidades do
usurio.
No script SQL as variveis so facilmente identificadas, pois so precedidas pelo caractere :
(dois pontos).



















62
8.2 Componentes da tela de configurao de filtros.


Ordem: Define a ordem em que os filtros sero exibidos na tela de filtros que precede
a emisso do relatrio.
Parmetro: Contm o nome da varivel criada no script SQL.
Componente: Determina o tipo de componente que ser utilizado para o filtro em
questo. Os filtros disponveis so: EDIT, DATA, COMBOBOX, GROUPBOX, CHECKBOX,
CONSULTA, CHECKCOMBOBOX e NUMERICO.
Legenda: Contm o nome que ser exibido na tela de filtros que precede a emisso do
relatrio.
Default: Define qual ser o valor padro utilizado para o filtro. As possibilidades de
valor padro variam de acordo com o tipo de componente selecionado. A escolha de
valor padro no impede que os valores sejam alterados na tela de filtros que precede
a emisso do relatrio.
Obrigatrio: Define se o filtro dever ou no ser de preenchimento obrigatrio. Os
filtros marcados como obrigatrios sero exibidos com a marcao (*) antes de seu
nome de exibio, de modo a facilitar a identificao dos mesmos.
Itens: Recebe script de pesquisa a ser utilizado com componentes dos tipos
COMBOBOX, GROUPBOX, CONSULTA e COMBOCHEKBOX.
Consulta: Recebe script de pesquisa a ser utilizado com componentes do tipo
CONSULTA.






63
8.3 Tipos de Componentes de Filtros

8.3.1 EDIT
o tipo de componente no qual o usurio digita o valor desejado. muito utilizado para
campos numricos e caractere.
Quando o componente for do tipo EDIT, os campos Itens e Consulta no tem efeito sobre o
componente.
O campo Default pode ser utilizado para exibir o valor inicial para o filtro, o qual poder ser
alterado na tela de filtros, caso necessrio.
Os campos Itens e Consulta no tem efeito sobre o componente de tipo EDIT.














64
A pesquisa do componente de tipo EDIT feito com Case Sensitive, ou seja, o componente
ir efetuar a pesquisa exatamente da maneira que a informao foi digitada, levando em
considerao caracteres maisculos, minsculos e acentuao.
Caso o campo de pesquisa no seja preenchido, o mesmo ir considerar todos os valores
existentes.
O campo de pesquisa tambm pode ser preenchido utilizando-se do critrio de pesquisa do
comando SQL like, onde o caractere % utilizado para determinar que qualquer informao
pode ser considerada na pesquisa.















65
8.3.2 DATA
o tipo de componente no qual o usurio informa o valor em formato de data. utilizado para
filtrar informaes em perodos de tempo.
Quando o componente for do tipo DATA, o item Default opes de valores padro especficas
para este tipo de componente.
As opes de valor padro so:
HOJE: Preenche o campo automaticamente com a data atual do sistema.
ONTEM: Preenche o campo automaticamente com a data do dia anterior, tendo como base
a data do sistema.
AGORA: Preenche o campo automaticamente com a data e hora atual do sistema.
PRIMEIRO_DIA_MES: Preenche o campo automaticamente com o primeiro dia do ms,
tendo como base a data do sistema.
ULTIMO_DIA_MES: preenche o campo automaticamente com o ltimo dia do ms, tendo
como base a data do sistema.


Os campos Itens e Consulta no tem efeito sobre o componente de tipo DATA.








66
Observe que quando o componente do tipo DATA, o mesmo oferece a busca de datas
atravs de um calendrio, onde possvel navegar atravs dos meses e anos, para localizao
mais rpida e prtica da data desejada.



Nota: A data do sistema mencionada nos itens anteriores refere-se data do servidor do
banco de dados utilizado pelo sistema. Sendo assim, podem ocorrer casos em que a data/hora
da estao de trabalho seja diferente da data/hora exibida na tela de filtros.














67
8.3.3 COMBOBOX
o tipo de componente no qual apresentado para o usurio uma lista de opes, das quais
pode ser selecionado apenas um item, ou ento pode ser selecionado o item TODOS.
Quando o componente for do tipo COMBOBOX, as opes selecionadas no item Default no
tem efeito sobre o componente.
Para criar a lista de itens que sero exibidos necessrio criar um script de pesquisa que ser
adicionado no contedo do campo Itens.



68
8.3.4 GROUPBOX
o tipo de componente no qual apresentado para o usurio uma lista de opes, das quais
pode ser selecionado apenas um item. Diferentemente do componente de tipo COMBOBOX,
todos os itens da lista so imediatamente exibidos, ou seja, sem uma caixa com barra de
rolagem.
Quando o componente for do tipo GROUPBOX, as opes selecionadas no item Default no
tem efeito sobre o componente.
Para criar a lista de itens que sero exibidos necessrio criar um script de pesquisa que ser
adicionado no contedo do campo Itens
No componente de tipo GROUPBOX, a lista de opes pode ser criada de duas maneiras
diferentes:
1) Atravs de script de pesquisa, tal qual feito nos componentes de tipo COMBOBOX.
2) Atravs da lista de valores que podero ser selecionados.














69
Quando for utilizar uma lista pr-definida de valores, importe observar que a informao
digitada antes do hfen corresponde ao valor que ser pesquisado no banco de dados, e a
informao digitada aps o hfen corresponde ao valor que ser exibido na tela de filtros.



















70
8.3.5 CHECKBOX
o tipo de componente no qual apresentado para o usurio um campo de checagem, onde o
mesmo pode ser selecionado ou no. Quando o campo de checagem for selecionado, a
pesquisa ir atribuir o valor S varivel. Quando o campo de checagem no for selecionado, a
pesquisa ir atribuir o valor N varivel. Sendo assim, o componente de tipo CHECKBOX
recomendado para campos de preenchimento obrigatrio, e que contenham apenas os valores
S ou N.
Quando o componente for do tipo CHECKBOX, as opes selecionadas no item Default, Itens
e Consulta no tem efeito sobre o componente.








71
8.3.6 CONSULTA
o tipo de componente que efetua uma consulta pr-determinada a partir de um valor
informado, ou, caso necessrio, abre uma nova tela de pesquisa, para que o item desejado
possa ser localizado com maior facilidade.
O componente de tipo CONSULTA o nico componente que utiliza todos os campos da tela
de configurao de filtros.
No campo Default pode ser informado o valor que ser utilizado como valor padro para a
pesquisa, podendo ser alterado na tela de filtros, no momento da pesquisa.
O campo Itens deve receber script de pesquisa que efetuar a pesquisa rpida, ou seja, a
pesquisa que no requer a abertura da tela de pesquisa.
Particularidades do script do campo Itens:
- Selecionar apenas 1 campo, que ser exibido como resultado da pesquisa
- Adicionar clusula de comparao entre o campo informado na tela e o campo da tabela
utilizada na pesquisa.














72
O campo Consulta deve receber script de pesquisa que efetuar a pesquisa detalhada, ou seja,
a pesquisa que ser efetuada com a abertura de nova tela de pesquisa.
Particularidades do script do campo Consulta:
- Selecionar todos os campos que desejar exibir como resultado da pesquisa.
- Adicionar as clusulas de comparao entre o campo informado na tela e o campo da tabela
utilizada na pesquisa. Observe que neste script podem ser informados vrios campos para
serem comparados na pesquisa.






















73
Esta a tela de pesquisa rpida, onde basta informar o cdigo desejado e teclar Tab para que
a pesquisa seja feita e o resultado seja exibido no campo logo frente.




















74
Esta a tela de pesquisa detalhada, onde temos os seguintes componentes:
- Classificao: neste componente selecionamos o campo que ser utilizado para efetuar a
pesquisa, caso exista mais de um campo na lista de pesquisa.
- Chave: neste componente informamos o valor que ser pesquisado para o campo
selecionado no componente Classificao
- Pesquisar: o boto que aciona o processo de pesquisa.
- Grid: Local onde o resultado da pesquisa exibido
- Imprimir: A tela de pesquisa detalhada permite que o resultado da pesquisa seja impresso
em forma de lista, com os mesmos campos utilizados na exibio da Grid.
- Confirmar: Aps selecionar o item desejado, o boto Confirmar retorna para a tela de
filtros, atribuindo ao campo de filtro o valor selecionado na tela de pesquisa detalhada. Esta
funo tambm pode ser executada atravs de duplo clique do mouse.
- Cancelar: O boto Cancelar retorna para a tela de filtros, no atribuindo valor ao campo de
filtro. Esta funo tambm pode ser executada atravs da tecla Esc.











75
8.3.7 CHECKCOMBOBOX
o tipo de componente no qual, assim como no COMBOBOX, apresentado para o usurio
uma lista de opes, porm, neste componente vrios itens podem ser selecionados.
Quando o componente for do tipo CHECKCOMBOBOX, as opes selecionadas no item Default
no tem efeito sobre o componente.
Para criar a lista de itens que sero exibidos necessrio criar um script de pesquisa que ser
adicionado no contedo do campo Itens.



76
8.3.8 NUMERICO
o tipo de componente no qual o usurio digita o valor desejado.
O componente NUMERICO funciona de maneira idntica ao componente EDIT, exceto pela
caracterstica de que este componente aceita que sejam informados apenas nmeros.
Sendo assim, este componente indicado para casos em que o filtro feito em campos
numricos. A utilizao deste componente impede que caracteres no numricos sejam
informados, e que o resultado da pesquisa seja afetado por esse tipo de erro.
































77
9 Trabalhando com Pesquisas
















































78
A tela de resultado de pesquisa acessada a partir da tela de Opes de Filtros, onde todos os
filtros necessrios so informados.
Aps informar todos os filtros, clica-se no boto F3 Pesquisar (ou pressiona-se a tecla F3).





























79
9.1 Estrutura da tela de resultado de pesquisa

A tela a seguir descreve toda a estrutura da tela de resultado de pesquisa.



1) Botes de funes
Botes localizados na parte superior da tela de pesquisa, que possibilitam executar
funes de Expandir, Recolher, Imprimir e Fechar.

2) rea de Agrupamento
rea da tela destinada aos campos da pesquisa utilizados em agrupamentos de
informaes.

3) Cabealho da Grid
rea onde so visualizados os nomes dos campos utilizados na pesquisa, e onde podem
ser acionadas funes especficas de ordenao e configurao dos dados na grid.

4) rea de Rodap
rea da grid destinada funes de sumarizao, como por exemplo, soma, contagem,
mdia, etc.

5) Botes de Navegao
Botes utilizados para se navegar atravs das informaes da grid.



1
2
3
5
4

80
9.2 Botes de Funes

9.2.1 Expandir
Este boto utilizado para expandir as informaes da grid quando as mesmas esto sendo
exibidas de forma agrupada.



9.2.2 Recolher
Este boto utilizado para recolher as informaes da grid quando existem agrupamentos,
fazendo com que as informaes sejam exibidas de maneira agrupada.





81

9.2.3 Imprimir
Este boto utilizado para imprimir as informaes no formado da grid, no formato do
relatrio, e tambm para exportar as informaes da grid para vrios formatos de arquivos.






























82
9.2.3.1 Imprimir Relatrio
A opo Imprimir Relatrio exibe a prvia de impresso do relatrio, aplicando os valores da
grid no layout criado.





























83
9.2.3.2 Imprimir Grade
A opo Imprimir Grade abre a tela de seleo de impressora e nmero de cpias.
Os dados da grid sero impressos exatamente da maneira que esto sendo visualizados em
tela, ou seja, com possveis grupos, totalizadores, contadores, etc.





























84
9.2.3.3 Visualizar Impresso Grade
A opo Visualizar Impresso Grade exibe como ser feita a impresso dos dados da grid.
Os dados da grid sero impressos exatamente da maneira que esto sendo visualizados em
tela, ou seja, com possveis grupos, totalizadores, contadores, etc.




























85
9.2.3.4 Exportar para Arquivos

Abordamos nesse item as seguintes opes:
- Exportar para Excel
- Exportar para Html
- Exportar para XML
- Exportar para Texto
- Exportar para Txt Fixo
- Exportar para CSV

A opo Exportar para [item selecionado] abre a tela para se informar o local onde o arquivo
ser salvo.
No campo Nome deve ser informado o nome com o qual o arquivo ser salvo.
Observe que no campo Tipo j est automaticamente selecionado o tipo selecionado.

















86
9.2.4 Fechar
Este boto fecha a tela de resultado de pesquisa, retornando para a tela de filtros.






































87
9.2.5 rea de Agrupamento
Nesta rea podem ser arrastados os campos desejados, para que as informaes da
grid sejam agrupadas.

Tela com rea de agrupamento j com campo adicionado.




Tela com rea de agrupamento sem nenhum campo adicionado.


















88
9.2.6 Cabealho da Grid


No cabealho da grid existem dois tipos de botes, que so:
- Boto para exibir / esconder campos da grid
- Boto de cabealho dos campos

9.2.7 Boto para exibir / esconder campos da grid

Ao clicar neste boto (clique normal, com boto esquerdo), o mesmo exibido da seguinte
maneira:

Observe que exibida a relao dos campos resultantes da pesquisa. Os campos marcados
so os campos que esto sendo exibidos na grid. Para esconder os campos desejados basta
desmarc-los.

9.2.8 Boto de cabealho dos campos

































89
9.3 Funes com o boto direito do mouse
Essas funes so acessadas com clique do boto direito do mouse sobre o nome do campo
onde se deseja aplicar as funes.



9.3.1 Sort Ascending

Classifica os dados da coluna em ordem crescente.

9.3.2 Sort Descending

Classifica os dados da coluna em ordem decrescente.

9.3.3 Clear Sorting

Limpa as ordenaes selecionadas, retornando para o estado original da pesquisa.

9.3.4 Group by this field

Move o campo selecionado para a rea de Agrupamento.

9.3.5 Group by box

Exibe ou esconde a rea de Agrupamento. Esta funo afeta toda a rea de Agrupamento,
independente do campo onde a mesma tenha sido acionada.

9.3.6 Footer

Exibe ou esconde o rodap da grid. Esta funo afeta todo o rodap, independente do
campo onde a mesma tenha sido acionada.

90
9.3.7 Group Footers

Exibe ou esconde o rodap dos grupos da grid. Esta funo s disponvel quando existir
pelo menos um campo na rea de Agrupamento. Esta funo afeta todos os rodaps de
grupo, independente do campo onde a mesma tenha sido acionada.

9.3.8 Remove this column

Esta opo remove da grid a coluna selecionada, ou seja, a coluna onde o comando foi
acionado.

9.3.9 Field Chooser

Exibe a lista de campos disponveis que no esto sendo exibidos na grid, os quais podem
ser arrastados e soltos na grid, para que voltem a ser exibidos.


Caso todos os campos da pesquisa j estejam sendo exibidos na grid, a lista de campos
ser aberta em branco, sem nenhum campo disponvel.





91
9.3.10 Best Fit


Altera a largura da coluna selecionada, de forma que todos os valores possam ser
visualizados, sem que ocorram truncamentos (cortes) ou quebras de linha. Os contedos
dos cabealhos e rodaps tambm so considerados na execuo desta funo.

9.3.11 Best Fit (all columns)

Funciona de maneira idntica funo Best Fit, porm, aplicando o auto-ajuste todas as
colunas da grid.











































92
9.4 Funes com o boto esquerdo do mouse (clique normal)

9.4.1 Classificao dos dados.
A classificao dos dados pode ser feita atravs de um clique sobre o nome do campo que
se deseja classificar os dados. A cada clique sobre o nome do campo a ordenao alternada
entre crescente e decrescente.
Observe os exemplos abaixo.



Nota: A classificao dos dados feita de maneira individual, ou seja, ao se solicitar a
classificao dos dados de um determinado campo, a classificao existente no momento (seja
do mesmo campo ou de outro campo) automaticamente desconsiderada.



















Observe que a
seta para cima
indica que a
classificao dos
dados da coluna
est em ordem
crescente.
Observe que a
seta para
baixo indica
que a
classificao
dos dados da
coluna est
em ordem
decrescente.

93
9.4.2 Filtros

Ao se posicionar o cursor do mouse sobre o campo, podemos observar que uma seta
exibida na extremidade direita do campo.


Clicando nesta seta, exibida uma lista contendo todos os valores do campo selecionado,
possibilitando que os mesmos sejam filtrados. Alm da lista com todos os valores, tambm so
exibidas as opes All e Custom.



Esta opo determina que todos os valores do campo selecionado sero considerados para
exibio, ou seja, no haver a aplicao de nenhum filtro.


Esta opo permite que sejam criados filtros mais complexos, possibilitando captar apenas
uma determinada faixa de valores, sem a necessidade de marcar os valores um a um na lista
de valores.
Ao selecionar esta opo, uma nova tela exibida, onde os filtros podem ser configurados.



1) Definio do primeiro critrio de filtro.
2) Definio do segundo critrio de filtro.
3) Definio de relao entre os filtros.
a. AND: Os valores sero exibidos somente se os dois filtros configurados forem
completamente atendidos.
1
2
3

94
b. OR: Os valores sero exibidos desde que pelo menos um dos dois filtros
configurados seja atendido.
Nota: Na tela de customizao de filtros, a utilizao dos dois critrios de filtros opcional, ou
seja, a configurao de filtros funciona normalmente com apenas um critrio de filtro
configurado.

9.4.2.1 Critrios para configurao de filtros



Equals (Igual): Considera os registros onde o valor do campo for igual ao valor informado
na configurao do filtro.
Does note qual (no igual / diferente): Considera os registros onde o valor do campo
for diferente do valor informado na configurao do filtro.
Is less than (menor que): Considera os registros onde o valor do campo for menor que
o valor informado na configurao do filtro.
Is less than or equal to (menor que ou igual a): Considera os registros onde o valor
do campo for menor ou igual que o valor informado na configurao do filtro.
Is greater than (maior que): Considera os registros onde o valor do campo for maior
que o valor informado na configurao do filtro.
Is greater than or equal to (mairo que ou igual a): Considera os registros onde o
valor do campo for maior ou igual que o valor informado na configurao do filtro.
Is blank (em branco / vazio): Considera os registros onde o campo selecionado estiver
em branco, sem preenchimento.
Is not blank (no em branco / no vazio): Considera os registros onde o campo
selecionado estiver preenchido com qualquer valor, ou seja, quando no estiver em branco.



Valor Selecionado: Quando um valor for selecionado, o sistema automaticamente entende
que sero exibidos apenas os valores selecionados, e que os valores no selecionados no
sero exibidos.


Valor no Selecionado: Os valores no selecionados no sero exibidos na grid, exceto
quando nenhum valor for selecionado, o que tem a mesma caracterstica da opo All.







95
9.5 rea de Rodap
A rea de Rodap localiza-se na parte inferior da grid, e a mesma pode ou no ser
exibida, de acordo com o acionamento da funo Footer, no menu Funes com o boto
direito do mouse





























96
As funes de rea de Rodap so acionadas com clique do boto direito do mouse.
Ao acionar o menu de funes, necessrio que o mesmo seja feito abaixo do campo onde se
deseja adicionar alguma funo.


























97
9.6 Funes de rea de Rodap


Efetua a soma dos valores da coluna. Esta funo inativa para campos de tipo data e
caractere.


Exibe o menor valor encontrado na coluna. Esta funo inativa para campos de tipo
caractere.


Exibe o maior valor encontrado na coluna. Esta funo inativa para campos de tipo
caractere.


Exibe a quantidade de linhas existentes na coluna.


Efetua clculo de mdia com todos os valores da coluna. Esta funo inativa para campos
de tipo data e caractere.


Cancela qualquer funo anteriormente selecionada para coluna, no exibindo nenhum
valor.



9.7 Botes de Navegao



Retrocede para a primeira linha da grid.

Retrocede para o incio da pgina atual. Se o cursor j estiver no incio da pgina atual,
ir retroceder para o incio da pgina anterior.

Retrocede para a linha anterior.

Avana para a prxima linha.

Avana para o final da pgina atual. Se o cursor j estiver no final da pgina atual, ir
avanar para o final da prxima pgina.

Avana para a ltima linha da grid.

Adiciona marca de localizao na linha selecionada. (bookmark)
Obs.: A marca de localizao nica, ou seja, s pode ser atribuda apenas uma linha por
vez. Ao adicionar uma marca de localizao uma linha, a marca de localizao existente
ser substituda pela nova marca.

Move o cursor para a linha que contm a marca de localizao. (bookmark)

98
10 Layout Viso Geral






















































99



Cabealho: exibido no incio de todas as pginas do relatrio.

Detalhe: o contedo do relatrio propriamente dito.

Rodap: exibido no final de todas as pginas do relatrio.

Ttulo: exibido apenas no incio da primeira pgina do relatrio.

Resumo / Sumrio: exibido apenas uma vez, no final do relatrio. importante lembrar
que o sumrio exibido aps o trmino do contedo do relatrio, e no no final da pgina.

Cabealho do Grupo: exibido toda vez que ocorrer mudana de informao no grupo de
dados. As informaes so exibidas em forma de cabealho, antes dos Detalhes das
informaes.

Rodap do Grupo: exibido toda vez que ocorrer mudana de informao no grupo de
dados. As informaes so exibidas em forma de rodap, logo aps o trmino dos Detalhes das
informaes.













Barras de Ferramentas
de Componentes
rea de
Cabealho
rea de
Detalhe
rea de
Rodap

100
10.1 Componentes Padro

Para acessar essa barra de ferramentas, v at o menu Visualizar / Barras de Ferramentas e
selecione a opo Componentes Padro.
Essa barra de ferramentas dispes dos componentes mais comuns utilizados na criao de
relatrios.




Texto (Label)
Exibe texto. Atribui propriedade Caption o valor do texto. O tamanho do componente pode
ser redimensionado automaticamente, para isso, basta selecionar a opo Tamanho
automtico no menu de propriedades do componente. Esse menu acessado atravs de clique
com o boto direito sobre o componente que se deseja alterar as propriedades.


Memorando (Memo)
Exibe mltiplas linhas de texto simples em um relatrio. Para definir o valor, deve-se atribuir
uma lista de strings propriedade Lines.
Para redimensionar dinamicamente o Memorando durante a impresso, pode-se selecionar a
propriedade Ajustar (stretch). A propriedade Mover relativamente a... pode ser utilizada
para definir as relaes dinmicas com outros objetos ajustveis.


Varivel do Sistema (System Variable)
Exibe informaes comuns do relatrio, como nmero de pgina, contagem de pginas, data e
hora de impresso, data, e hora. O tipo de informao exibida controlado pela propriedade
VarType. O formato controlado pela propriedade Formato de apresentao (Display
Format).


Varivel
Usado para clculos atravs de um evento manipulador de Object Pascal atribudo ao evento
OnCalc. A edio dos clculos pode ser acessada atravs do menu de acesso rpido do
componente (clique com boto direito, selecionando-se a opo Clculos).


Imagem
Exibe arquivos de imagem atribudos propriedade do componente em tempo de design.


Polgono
Imprime vrias formas (quadrados, retngulos, crculos e elipses). A propriedade Shape
define o tipo da forma. As propriedades Pincel e Caneta so utilizadas para controlar a cor e
a borda do polgono.



101
Linha
Exibe linhas simples e linhas duplas (verticais ou horizontais). A propriedade Estilo define se a
linha simples ou dupla. A propriedade Espessura permite controlar a espessura da linha em
pontos. A propriedade Posio permite controlar a localizao da linha, bem como se a
mesma uma linha vertical ou horizontal.


Cdigo de barras
Renderiza cdigo de barras. O valor atribudo propriedade Dados codificado com base em
tipo de cdigo de barras. Se o dado a ser codificado estiver em um banco de dados, utilize o
componente Campo com cdigo de barras. So suportados os seguintes formatos de cdigo
de barras: Codabar, Code 128, Code 39, EAN-13, EAN-8, FIM A, B, C, Intervalado 2 e 5,
PostNet, UPC-A e UPC-E.










































102
10.2 Componentes de Dados

Para acessar essa barra de ferramentas, v at o menu Visualizar / Barras de Ferramentas e
selecione a opo Componentes de Dados.
Essa barra de ferramentas dispes dos componentes mais comuns utilizados na criao de
relatrios utilizando fontes de dados.




Campo Texto
Apresenta valores de todos os tipo de campos da base de dados. A propriedade Formato de
Apresentao pode ser utilizada para formatar o modo como o valor ser exibido.


Campo Memorando
Imprime texto simples a partir de um campo memorando de uma tabela da base de dados.
Para redimensionar dinamicamente o campo Memorando durante a impresso, pode-se
selecionar a propriedade Ajustar (stretch). A propriedade Mover relativamente a... pode ser
utilizada para definir as relaes dinmicas com outros objetos ajustveis.


Campo Texto Formatado
Imprime texto formatado a partir de um memorando ou campo BLOB de uma tabela do banco
de dados. Para redimensionar dinamicamente o campo Texto Formatado, pode-se selecionar a
propriedade Ajustar (stretch). A propriedade Mover relativamente a... pode ser utilizada
para definir as relaes dinmicas com outros objetos ajustveis.


Campo Calculado
Usado para clculos simples de dados (Somar, Mnimo, Mximo, Contar e Mdia). O valor pode
ser reiniciado quando uma quebra de grupo utiliza a propriedade Grupo para Reincio.


Campo Imagem
Imprime imagens que esto armazenadas em campos BLOB no banco de dados.


Campo com Cdigo de Barras
Renderiza o valor do campo selecionado em cdigo de barras. So suportados os seguintes
formatos de cdigo de barras: Codabar, Code 128, Code 39, EAN-13, EAN-8, FIM A, B, C,
Intervalado 2 e 5, PostNet, UPC-A e UPC-E.








103
10.3 Tamanho

Para acessar essa barra de ferramentas, v at o menu Visualizar / Barras de Ferramentas e
selecione a opo Tamanho.




Diminuir para menor largura
Configura a largura de todos os componentes selecionados como sendo a menor largura
encontrada dentre os componentes selecionados.


Aumentar para maior largura
Configura a largura de todos os componentes selecionados como sendo a maior largura
encontrada dentre os componentes selecionados.


Diminuir para menor altura
Configura a altura de todos os componentes selecionados como sendo a menor altura
encontrada dentre os componentes selecionados.


Aumentar para maior altura
Configura a altura de todos os componentes selecionados como sendo a maior altura
encontrada dentre os componentes selecionados.
























104
10.4 Alinhamento ou Espaamento

Para acessar essa barra de ferramentas, v at o menu Visualizar / Barras de Ferramentas e
selecione a opo Alinhamento ou Espaamento.
Essa barra de ferramentas tem como objetivo auxiliar no posicionamento de componentes do
relatrio, seja em relao outros componentes, seja em relao rea de design onde os
mesmos esto localizados.




Alinhar bordas esquerda
Alinha um grupo de componentes esquerda, tendo como base de alinhamento a borda
esquerda do primeiro componente selecionado.


Alinhar os centros horizontais
Alinha um grupo de componentes ao centro horizontal, tendo como base de alinhamento o
centro horizontal do primeiro componente selecionado. Essa opo pode ser bem observada
quando so selecionados componentes de diferentes larguras.


Alinhar bordas direita
Alinha um grupo de componentes direita, tendo como base de alinhamento a borda direita do
primeiro componente selecionado.


Alinhar bordas superiores
Alinha um grupo de componentes para cima, tendo como base de alinhamento a borda superior
do primeiro componente selecionado.


Alinhar os centros verticais
Alinha um grupo de componentes ao centro vertical, tendo como base de alinhamento o centro
vertical do primeiro componente selecionado. Essa opo pode ser bem observada quando so
selecionados componentes de diferentes alturas.


Alinhar bordas inferiores
Alinha um grupo de componentes para baixo, tendo como base de alinhamento a borda inferior
do primeiro componente selecionado.


Espaar igualmente, na horizontal
Faz a distribuio de espaos horizontais entre os componentes selecionados, tendo como base
a borda esquerda do componente localizado mais esquerda, e a borda direita do componente
localizado mais direita.


105
Espaar igualmente, na vertical
Faz a distribuio de espaos verticais entre os componentes selecionados, tendo como base a
borda superior do componente localizado mais acima, e a borda inferior do componente
localizado mais abaixo.


Centralizar horizontalmente na faixa
Centraliza horizontalmente os componentes selecionados dentro da faixa qual os mesmos
pertencem.


Centralizar verticalmente na faixa
Centraliza verticalmente os componentes selecionados dentro da faixa qual os mesmos
pertencem.



10.5 Deslocamento

Para acessar essa barra de ferramentas, v at o menu Visualizar / Barras de Ferramentas e
selecione a opo Deslocamento.
Essa barra de ferramentas tem como objetivo auxiliar no deslocamento de componentes do
relatrio de maneira mais exata, sem a necessidade de arrastar os componentes com o mouse.




Deslocamento para cima
Desloca todos os componentes selecionados em 1 pixel para cima.


Deslocamento para baixo
Desloca todos os componentes selecionados em 1 pixel para baixo.


Deslocamento para a esquerda
Desloca todos os componentes selecionados em 1 pixel para a esquerda.


Deslocamento para a direita
Desloca todos os componentes selecionados em 1 pixel para direita.








106
10.6 Desenho

Para acessar essa barra de ferramentas, v at o menu Visualizar / Barras de Ferramentas e
selecione a opo Desenho.
Essa barra de ferramentas tem como objetivo auxiliar na configurao de cores e bordas dos
componentes.




Cor de preenchimento
utilizado apenas para componentes dos tipos Regio, Linhas e Polgonos.


Cor da linha
utilizado apenas para componentes dos tipos Regio, Linhas e Polgonos.


Espessura da linha
utilizado apenas para componentes do tipo Linha, e tem como objetivo definir a espessura da
linha.


Estilo da linha
utilizado apenas para componentes do tipo Linha, e tem como objetivo definir o estilo da
linha.

























107
10.7 Formato

Para acessar essa barra de ferramentas, v at o menu Visualizar / Barras de Ferramentas e
selecione a opo Formato.
Essa barra de ferramentas tem como objetivo auxiliar na configurao de das fontes dos
componentes. Essa barra de ferramentas tambm ir auxiliar no trabalho com componentes em
camadas.




Nome da fonte
Selecione o nome do tipo da fonte para os componentes de texto.


Tamanho da fonte
Permite selecionar o tamanho da fonte que ser aplicada ao componente de texto. Caso
desejar, o tamanho da fonte pode ser informado manualmente, digitando-se o tamanho
desejado.


Negrito
Configura a fonte dos componentes de texto para negrito.


Itlico
Configura a fonte dos componentes de texto para itlico.


Sublinhado
Configura a fonte dos componentes de texto para sublinhado.


Alinhar esquerda
Alinha o contedo do componente esquerda.


Centralizar
Alinha o contedo do componente ao centro.


Alinhar direita
Alinha o contedo do componente direita.


Justificar
Alinha o contedo do componente de maneira justificada.

108
Cor da fonte
Configura a cor da fonte dos componentes de texto.


Cor de destaque
Configura a cor de fundo dos componentes de texto.


Bordas (Border)
Permite configurar bordas para o componente selecionado.


Trazer para frente
Traz o componente selecionado para frente. Os componentes apresentados na frente so
impressos por ltimo, e os componentes apresentados atrs so impressos primeiro.


Enviar para trs
Envia o componente selecionado para trs. Os componentes apresentados na frente so
impressos por ltimo, e os componentes apresentados atrs so impressos primeiro.

































109
10.8 Editar

Para acessar essa barra de ferramentas, v at o menu Visualizar / Barras de Ferramentas e
selecione a opo Editar.
Essa barra de ferramentas tem como objetivo auxiliar na configurao da propriedade mais
importante do componente atualmente selecionado.
A barra de ferramentas Editar pode assumir diversas funes, de acordo com o tipo de
componente selecionado.

1) Nenhum componente selecionado



2)Componente de Dados ou componente de Campo Calculado selecionado.
O primeiro item refere-se pesquisa de dados utilizada.
O segundo item refere-se ao campo da pesquisa de dados.



3)Componente de Texto selecionado.
exibido o contedo do componente, que pode ser alterado.



4)Componente Polgono selecionado.
exibido o tipo de polgono selecionado, e permite que o mesmo seja alterado.



5)Componente Linha selecionado.
exibida a localizao da linha dentro do componente selecionado, e permite alterar esta
localizao.










110
6)Componente Varivel selecionado.
exibido o tipo de dado que ser utilizado para a varivel selecionada, e permite que o mesmo
seja alterado.


7)Componente Varivel do Sistema selecionado.
exibida qual o tipo de informao que a varivel ir utilizar, e permite que esse tipo de
informao seja alterada.











































111
11 Layout Aplicao Prtica

11.1 Desenhando o Relatrio




Arquivo / Novo


112


Ser exibida a tela de Novos Itens, na qual podem ser selecionados ou o Assistente de
Relatrio, Relatrio, Matriz de Etiquetas ou o Assistente de Referncia Cruzada. Durante o
treinamento, utilizaremos o Assistente de Relatrio.



Ao selecionar Assistente de Relatrio e clicar em ok, a tela seguinte ser exibida.
Nessa tela deve ser selecionada a consulta de dados de qual sero exibidos os campos no
relatrio e, logo em seguida, selecionar os campos.

113
Recomenda-se selecionar a consulta de dados que tiver o maior nmero de informaes para o
relatrio, pois, caso seja necessrio adicionar campos de outras consultas de dados, ser
necessrio incluir esses campos manualmente.





O prximo assistente o assistente de montagem de grupos de dados.

114
Vamos deixar a montagem de grupos para mais adiante, aps o desenho bsico do relatrio j
completo.



11.1.1 Assistente de Layout e Orientao

Podem ser selecionados os layouts vertical e tabular, e podem ser selecionadas as
orientaes retrato e paisagem.
A opo Ajustar as larguras dos campos para que todos caibam na pgina bastante til,
principalmente quando se trata de uma quantidade considervel de campos a serem exibidos.


115

























11.1.2 Assistente de Estilo

Permite selecionar alguns estilos de fontes pr-definidos.
Independente da seleo do estilo, a formatao do relatrio pode ter seus itens manipulados
individualmente.


116


























11.1.3 Finalizando o Assistente de Relatrio

Ao final do Assistente de Relatrio so oferecidas as opes de Visualizar o relatrio ou
Modificar a estrutura do relatrio. Recomendamos que a segunda opo seja utilizada, pois
possibilita que ajustes sejam feitos no relatrio antes que o resultado seja visualizado.

117



























A tela abaixo demonstra o resultado do Assistente de Relatrio.

Observe que o desenho do relatrio dividido em partes:


118
- Ttulo: o contedo dessa parte exibido e impresso apenas na primeira pgina do
relatrio.
- Cabealho: o contedo dessa parte exibido e impresso no incio de cada pgina do
relatrio.
- Detalhe: a parte que exibe o contedo do relatrio. Observe que, apesar de serem
exibidos vrios registros no relatrio, no desenho exibida apenas uma linha, que a
linha de modelo.
- Rodap: o contedo dessa parte exibido e impresso no final de cada pgina do
relatrio.


















11.1.4 Visualizar Impresso

Essa aba mostra o resultado final do relatrio, pronto para a impresso.

119






11.2 Adicionando Resumo ao Relatrio

Clicar em Relatrio / Resumo


120


























Ao clicar no item mencionado anteriormente, ser adicionado ao desenho do relatrio a parte
Sumrio.

A parte Sumrio destinada criao do Resumo do Relatrio. Nessa parte podem ser criados
totalizadores e clculos de resumo de informaes do relatrio.

121
O Sumrio exibido apenas na ltima pgina do relatrio, logo aps o final de todo contedo
do relatrio.
Obs.: o Sumrio exibido no final do contedo do relatrio, na ltima pgina, mas no
necessariamente no final da pgina (prximo ao rodap).
















11.3 Criando campos calculados

Clicando-se no boto demonstrado, possvel criar campos calculados no desenho do relatrio.
Os campos calculados ajudam a efetuar clculos que se tornariam complexos de serem feitos
na consulta de dados. Um bom exemplo desse tipo de clculo so os totalizadores.



122






















Clicando-se com o boto direito sobre o campo calculado criado, aberta uma janela de
opes.
No momento, vamos focar nossa ateno na opo Clculos.



123



Observe que essa opo exibe opes de clculos bsicos, exatamente iguais aos clculos
disponibilizados na aba Clculos na construo da consulta de dados, com a exceo da opo
Expresso.





















Aps incluir o campo calculado e selecionar a frmula a ser utilizada, necessrio que tambm
seja selecionado o campo que ir ser calculado no campo que acabou de ser criado.



124


























Observe que o resultado do relatrio j se apresenta de maneira diferente.


125






























126
11.4 Trabalhando com Variveis

Variveis so recomendadas para clculos complexos, os quais no podem ser atendidos pelos
Campos Calculados.

O princpio de criao de uma varivel idntico ao da criao de um campo calculado.
























127
Porm, ao se selecionar o item Clculo, surge a real diferena entre a varivel e o campo
calculado.






























128

Dados: nessa aba localizam-se todas as consultas de dados que foram criadas para a gerao
do relatrio.





























129

Objetos: nessa aba localizam-se todos os objetos do relatrio. o lugar onde podem ser
localizadas, por exemplo, outras variveis.





























130
Linguagem: Nessa aba localizam-se funes, operadores, definidores de tipo de dados, que
podem ser utilizados para criar condies para o clculo da varivel criada.

A parte branca dessa tela (lado esquerdo) o local onde todo o cdigo escrito da varivel ficar
disponvel.



























131

Aps criar a varivel e definir seu clculo, importantssimo que tambm seja definido o tipo da
varivel, de modo a evitar erros de exibio.
Por exemplo: O relatrio sofre problemas de exibio se a varivel calcula valor numrico e
tenta ser exibido como texto.




Consideraes Importantes sobre variveis:

- So criadas quando o clculo a ser feito complexo o bastante para ser feito com
campo calculado.
- So criadas quando existe a necessidade de utilizar seu resultado em outro clculo de
outra varivel.
- importante definir o momento da ao da varivel, garantindo que as informaes
utilizadas em seu clculo sejam lidas no momento correto.















132
11.5 Formatao do relatrio

11.5.1 Formatando fontes.



























133
11.5.2 Formato de apresentao






























134
11.5.3 Inserindo imagens












135
12 Exerccios Criao de Relatrios

12.1 Exerccio 1
Montar o seguinte relatrio

Cadastro de Clientes
- Cdigo do Cliente
- Nome do Cliente
- Endereo do cliente
- Telefone de Contato
Ordenar por
- Cdigo do Cliente
- Nome do cliente


12.2 Exerccio 2
Montar o seguinte relatrio

Cadastro de Clientes com RCAs
- Cdigo do Cliente
- Nome do Cliente
- Telefone de Contato
- Cdigo do primeiro RCA
- Nome do primeiro RCA
- Cdigo do segundo RCA
- Nome do segundo RCA
Ordenar por
- Cdigo do Cliente


12.3 Exerccio 3
Montar o seguinte relatrio

Cadastro de Clientes com RCAs e Supervisores
- Cdigo do Cliente
- Nome do Cliente
- Cdigo do primeiro RCA
- Nome do primeiro RCA
- Cdigo do Supervisor
- Nome do supervisor
Ordenar por:
- Cdigo do Cliente









136
12.4 Exerccio 4
Montar o seguinte relatrio

Notas fiscais de venda de um determinado perodo
- Nmero da Nota
- Cdigo do Cliente
- Nome do cliente
- Cdigo do RCA
- Nome do RCA
- Valor total da nota
Resumo
- Informar quantidade de notas exibidas
- Informar valor total geral
Ordenar por:
- Cdigo do Cliente
- Nmero de nota fiscal


12.5 Exerccio 5
Montar o seguinte relatrio

Notas fiscais de venda de um determinado perodo
- Nmero da Nota
- Cdigo do Cliente
- Nome do cliente
- Cdigo do RCA
- Nome do RCA
Detalhe da nota fiscal
- Cdigo do produto
- Descrio do produto
- Quantidade vendida
- Valor unitrio
- Valor total do produto
Resumo do detalhe
- Informar quantidade de produtos da nota fiscal
- Valor total da nota fiscal
Resumo
- Informar quantidade de notas exibidas
- Informar valor total geral
Ordenar por:
- Cdigo do Cliente
- Nmero de nota fiscal













137
12.6 Exerccio 6
Montar o seguinte relatrio

Relatrio de Estoque:
- Cdigo Produto.
- Descrio do produto
- Quantidade gerencial
- Quantidade reservada
- Quantidade bloqueada
- Quantidade disponvel
Filtros:
- Faixa de cdigo de produto
- Faixa de seo
- Faixa de departamento
Ordenao:
- Cdigo de produto


12.7 Exerccio 7
Montar o seguinte relatrio

Relatrio de produtos vendidos por RCA
- Cdigo do RCA
- Nome do RCA
Detalhe do RCA
- Cdigo do produto
- Descrio do produto
- Quantidade vendida do produto
- Valor da venda por produto
- Custo financeiro total por produto
- Rentabilidade por produto
Resumo do detalhe
- Quantidade de produto por RCA
- Total do valor da venda por RCA
Resumo
- Total de venda geral de todos RCA
- Quantidade geral de produtos exibidos

You might also like