Base de dados: Encomendas Vamos criar a BD do modelo de dados seguinte: 144
Base de dados: Encomendas (exemplos de dados) Repare no exemplo de duas encomendas, uma com 3 produtos, a 10249 E outra, a 10250 com um produto Repare que o produto 50 aparece nas duas encomendas Com a tabela extra detalhes_da_encom conseguimos saber quais são os produtos de cada encomenda 145
Base de dados: Encomendas Vamos supor que não temos um campo adequado para servir de chave primária para a tabela clientes Então vamos deixar o Access criar automaticamente um número diferente para cada registo novo Isso é conseguido através do tipo de dados Numeração automática para o campo cod_cliente que será a chave primária da tabela clientes 146
Base de dados: Encomendas Vamos inserir alguns registos só para verificarmos o que acontece no campo cod_cliente Os registos devem ser inseridos através dos formulários, vamos só fazer desta forma para uma questão de aprendizagem Na vista de folha de dados da tabela cliente No campo cod_cliente aparece (Novo) Repare que não consegue inserir nada no campo cod_cliente, pois este campo é introduzido automaticamente pelo próprio Access 147
Base de dados: Encomendas Repare que o cod_cliente foi inserido automaticamente ao inserir 2 registos Repare que a linha para inserir um novo registo aparece novamente o (Novo) que é aumentado cada vez que se insere um novo registo, desta forma, nunca vão existir 2 registos com o mesmo código de cliente (cod_cliente Vamos em seguida eliminar os registos introduzidos 148
Base de dados: Encomendas Para eliminar os registo, como vimos, selecionamos os cabeçalhos dos registos e depois carregamos na tecla DEL/DELETE Temos a tabela vazia 149
Base de dados: Encomendas O Access certifica-se que nunca é repetido o mesmo código mesmo depois de ter sido eliminado um registo Vamos voltar a inserir um registo Repare que o cod_cliente não volta ao número 1 nem 2 que foram eliminados Vamos voltar a limpar a tabela 150
Base de dados: Encomendas Vamos agora criar a tabela produtos 151
Base de dados: Encomendas Vamos agora criar a tabela encomendas Repare que o campo cod_cliente está relacionado com o campo cod_cliente da tabela clientes Assim, estes campos deveriam ser do mesmo tipo de dados, no entanto existe uma exceção que é quando o campo do lado 1 (chave primária) é do tipo Numeração automática Neste caso fica com o tipo de dados Número 1 152
Base de dados: Encomendas Vamos agora criar a tabela detalhes_da_encomen que faz a ligação com as tabelas encomendas e produtos Tem que selecionar os cabeçalhos dos dois campos pois a chave será composta pelos dois campos 153
Base de dados: Encomendas E depois clicar no botão Chave Primária que está no separador Estrutura que automaticamente ficou ativo 154
Base de dados: Encomendas Repare que o tipo de dados dos campos relacionados são Numeração automática, assim o tipo de dados na tabela detalhes_da_encomen tem que ser Número 155
Base de dados: Encomendas 1 1 156
Base de dados: Encomendas Os assistentes de pesquisa neste caso seriam feitos nos campos com o infinito 157
Formulários 158
Formulários (Forms) Apesar de se poder inserir, visualizar e alterar dados através das tabelas na vista de folha de dados A forma mais amistosa de ser inserir, visualizar e alterar dados é através dos formulários, principalmente para quem não entende de Access e vai somente utilizá-lo na ótica do utilizador 159
Formulários como criar É possível construir formulários elaborados e complexos na vista de estrutura Em que podemos definir exatamente onde ficam os botões, as caixas de texto, ou seja toda a estrutura do formulário Nesta fase vamos aprender a utilizar os formulários automáticos, em que selecionamos uma tabela e escolhemos Criar -> Formulário 160
Formulários como criar Vamos criar um formulário para a tabela carros 1.º Passo - Seleciono a tabela carros 2.º Passo clico no separador Criar 3.º Passo clico no botão Formulário 161
Formulários como criar O formulário aparece na vista de esquema 162
Formulários como criar A vista de esquema não dá para inserir os registos, tem que mudar para a vista de formulário ou então guardar o formulário e voltar a abri-lo 163
Formulários como criar Repare que na vista de formulário já consegue inserir dados 164
Formulários como criar Repare que ao tentar inserir uma marca não o consegue fazer Isto deve-se ao facto dos carros estarem relacionados com a regra de (Integridade referencial) Isto quer dizer que tem que já existir marcas criadas na tabela marca E para se introduzir o bi do proprietário também é necessário introduzir proprietários 165
Formulários como criar Sendo assim, vamos criar um formulário para as marcas e outro para os proprietários, preenchendo primeiro estes e depois então voltamos aos carros Mas, ainda antes disso, vamos fazer uma pequena alteração no formulário carros Invés de bi vamos por bi do proprietário 166
Formulários como criar Para alteramos a estrutura do formulário, vamos alternar para a vista de estrutura 167
Formulários como criar Agora basta ir ao rótulo bi e alterá-lo 168
Formulários como criar 169
Formulários como criar Vamos agora voltar para a vista de formulário 170
Formulários como criar E conseguimos fazer a alteração pretendida 171
Formulários como criar O nosso formulário ainda não está guardado, basta clicar no X da janela e escolher guardar na janela que aparece 172
Formulários como criar Repare que aparece um objeto novo no painel de navegação, um formulário chamado carros É possível esconder uma ou mais categorias de objetos Por exemplo, para esconder as tabelas basta clicar em 173
Painel de navegação outras categorias de objetos Veja o efeito Vamos voltar a clicar no mesmo sítio para ficarem a aparecer também as tabelas 174
Formulários como utilizar Vamos então agora criar os restantes formulários, uma para a tabela Marcas e outro para a tabela Proprietarios 175
Formulários como utilizar Repare que está aberto o formulário Marcas, mas devido às relações entre as tabelas, foi criado um subformulário onde poderia já escolher os proprietários e as matrículas dos carros 176
Formulários inserir e navegar Repare que tanto o formulário Marcas como o seu subformulário matrículas têm uma espécie de navegador para mudar de registos (um registo para a frente, um para trás, voltar ao início, ir para o fim) 177
Formulários inserir e navegar Nesta fase, vamos ignorar o subformulário e usar somente o formulário Marcas Vamos introduzir a marca Mercedes e avançar para o registo seguinte 178
Formulários inserir e navegar Criando 3 marcas ao todo (Mercedes, Toyota e Opel) 179
Formulários inserir e navegar Vamos voltar ao registo anterior 180
Formulários inserir e navegar Podemos utiliza o botão para criar um registo novo e automaticamente salta para o fim e abre um registo em branco 181
Formulários inserir e navegar Vamos criar mais uma marca Renault e carregar no botão para voltar ao primeiro registo 182
Formulários inserir e navegar Repare que voltou ao primeiro registo e que tem 4 registos inseridos (4 marcas) 183
Formulários inserir e navegar Pode ainda procurar por um determinado registo 184
Formulários inserir e navegar Note que ao inserir os registos nos formulários, eles ficam automaticamente guardados na tabela marcas Vamos abrir a tabela Marcas para verificarmos 185
Formulários inserir e navegar Vamos agora utilizar o formulários dos proprietários para os inserir 186
Formulários inserir e navegar Repare que este formulário também tem um subformulário, e como já inserir as marcas, já aparecem no subformulário se carregar na caixa pendente Mas, nesta fase, vamos ignorar o subformulário Mais tarde fazemos as correspondências no formulário dos carros 187
Formulários inserir e navegar Vamos carregar no registo seguinte e continuar a inserir 188
Formulários inserir e navegar 189
Formulários inserir e navegar Insira no formulário os registos de forma a que a tabela dos proprietários fique assim: Repare que o valor do campo data de nascimento (data_nasc) está vazia no registo com o bi 333333333, neste caso dizemos que está a NULL 190
Formulários inserir e navegar Vamos agora utilizar o formulário carros Repare que como fez um assistente de pesquisa no campo marca na tabela carros que vai buscar os valores ao campo marca da tabela Marcas E como existe uma relação de integridade referencial entre carros e marcas, só pode introduzir uma marca que exista na tabela marcas 191
Formulários inserir e navegar 192
Formulários inserir e navegar E o mesmo para o bi Neste caso, estamos a guardar na tabela carros que o carro com a matrícula 44-az-13 é um Opel e pertence ao Manuel Pereira 193
Formulários inserir e navegar Vamos inserir e passar ao registo seguinte 194
Formulários inserir e navegar 195
Formulários inserir e navegar Vamos continuar a inserir de acordo com a seguinte tabela 196
Relatórios 197
Relatórios Em algumas situações necessitamos de relatórios, normalmente para serem impressos que podem ser obtidos através de tabelas ou consultas Nesta fase, vamos utilizar relatórios automáticos O processo de criação de relatórios é semelhante aos dos formulários, em primeiro lugar seleciona a tabela ou consulta e depois Criar -> Relatório 198
Relatórios como criar Vamos criar um formulário para a tabela carros 1.º Passo - Seleciono a tabela carros 2.º Passo clico no separador Criar 3.º Passo clico no botão Relatório 199
Relatórios como criar Ao criar fica na vista de esquema Guarde e volte a abrir 200
Relatórios como criar E já aparece na vista de relatório 201
Formulário tipo menu na vista de estrutura Vamos criar um formulário na vista de estrutura com 3 botões Um botão com o texto Marcas que ao ser clicado abre o formulário Marcas Um botão com o texto Imprimir carros que ao ser clicado pré-visualiza o relatório carros E por fim, um botão com o texto Sair que ao ser clicado Sai do Access 202
Formulário tipo menu na vista de estrutura 1.º passo clicar no separador Criar 2-º passo clicar em Estrutura de Formulário 203
Formulário tipo menu na vista de estrutura Vamos começar por utilizar o controlo de botão para criar o primeiro botão no nosso formulário 204
Formulário tipo menu na vista de estrutura Em seguida, desenhamos o botão no local que queremos 205
Formulário tipo menu na vista de estrutura Aparece a seguinte janela 206
Formulário tipo menu na vista de estrutura Como queremos criar primeiro um botão que abra o formulário marcas Vamos escolher Operações de formulários -> Abrir formulário 207
Formulário tipo menu na vista de estrutura Na janela seguinte escolhemos o formulário que queremos abrir que é o formulário Marcas 208
Formulário tipo menu na vista de estrutura 209
Formulário tipo menu na vista de estrutura Nesta janela, como queremos o texto Marcas a aparecer no botão e não uma imagem, temos que introduzir o texto Marcas 210
Formulário tipo menu na vista de estrutura 211
Formulário tipo menu na vista de estrutura Em seguida escolhemos o nome a dar ao objeto Neste momento não é muito relevante, mais vai ser útil termos nomes com sentido para cada objeto para mais tarde utilizarmos programação através do VBA sobre os objetos do Access 212
Formulário tipo menu na vista de estrutura Já temos um botão, vamos criar outro para pré-visualizar o relatório carros 213
Formulário tipo menu na vista de estrutura Como o processo de criação do botão é semelhante ao anterior, vou só mostrar alguns dos passos (os que forem diferentes) 214
Formulário tipo menu na vista de estrutura Neste caso só temos mesmo um 215
Formulário tipo menu na vista de estrutura 216
Formulário tipo menu na vista de estrutura 217
Formulário tipo menu na vista de estrutura Vamos agora criar um botão para sair da aplicação 218
Formulário tipo menu na vista de estrutura 219
Formulário tipo menu na vista de estrutura Vamos adicionar ainda uma imagem 220
Formulário tipo menu na vista de estrutura 221
Formulário tipo menu na vista de estrutura 222
Formulário tipo menu na vista de estrutura Vamos adicionar um Rótulo com o texto: Menu 223
Formulário tipo menu na vista de estrutura Em seguida, vamos cliar em outro local e voltar a tocar no rótulo com o texto menu e mudar o tamanho da letra no separador Base 224
Formulário tipo menu na vista de estrutura 225
Formulário tipo menu na vista de estrutura Como as letras ficaram muito grandes, é necessário aumentar o tamanho do rótulo 226
Formulário tipo menu na vista de estrutura 227
Formulário tipo menu na vista de estrutura Agora, falta guardar o formulário, vamos guardar com o nome de Menu 228
Formulário tipo menu na vista de estrutura 229
Painel de navegação com os objetos criados até agora 230
Consultas 231
Consultas (Querys) É frequente querermos consultar partes dos dados (alguns registos e/ou alguns campos) de uma ou várias tabelas E ainda podemos querer fazer essa consulta mas querermos mostrar somente os registos que obedecem a determinados critérios Para conseguirmos este objetivo, utilizamos os objetos do Acces chamados Consultas 232
Consultas Por exemplo, pensando na BD: Frota Exemplos de consultas poderiam ser: Mostre o nome do proprietário e os carros que lhe pertencem Mostre todas as matrículas dos carros da marca Mercedes Mostre todos os nomes dos Proprietários com o nome começado por A 233
Consultas Vamos fazer a consulta: Mostrar o nome do proprietário e os carros que lhe pertencem Vamos ao Separador Criar e depois carregamos no botão Estrutura da Consulta 234
Consultas Agora, escolhemos as tabelas que necessitamos Como queremos os nomes dos proprietários e as matrículas dos carros, vamos precisar das tabelas carros e proprietarios 235
Consultas Com a tecla CTRL carregada, podemos selecionar as tabelas que queremos 236
Consultas Depois de adicionar as tabelas, fechamos a janela 237
Consultas Já aparecem as tabelas que necessitamos 238
Consultas Em qualquer altura se achar que necessita de mais tabelas, pode adicioná-las através do botão Mostrar Tabela Caso pretenda que alguma tabela não apareça, basta clicar na tabela e depois na tecla DEL/DELETE 239
Consultas Existem várias formas de adicionar os campos que nós queremos para a consulta Uma das formas é dar 2 cliques seguidos em cima do campo pretendido Por exemplo, agora necessitamos do campo nome da tabela proprietarios 240
Consultas Automaticamente o campo saltou para baixo 241
Consultas Agora vamos buscar a matrícula dos carros 242
Consultas Para ver o resultado, pode clicar em executar 243
Consultas Ou mudar para a vista de folha de dados 244
Consultas E cá está o resultado 245
Consultas Vamos guardar a consulta com o nome: carroseproprietarios 246
Consultas 247
Consultas 248
Consultas Vamos agora fazer a consulta: Mostrar todas as matrículas dos carros da marca Mercedes Repare que coloca Mercedes no critério do campo marca 249
Consultas O resultado: Mas ainda não é bem o que se pretende Pois a consulta diz: Mostrar todas as matrículas dos carros da marca Mercedes Diz para mostrar a matrícula, mas não diz para mostrar a marca 250
Consultas Basta desligar o Mostrar no campo marca 251
Consultas O resultado: 252
Consultas Vamos agora fazer a consulta: Mostar todos os nomes dos Proprietários com o nome começado por A Basta por no critério do campo nome: A* O que quer dizer que é A seguido de qualquer coisa 253
Consultas O resultado: 254
Consultas Se fossem todos os nomes terminados em s Seria *s Quer dizer: qualquer coisa antes e acaba num s Se fossem todos os nomes que contenham a letra r Seria *r* Quer dizer: qualquer coisa antes, um r no meio e qualquer coisa depois 255