Microsoft Access como obter um nome de campo para mostrar apenas com determinadas entradas

1

Meu banco de dados no Access está listado por classificação (por exemplo, cinema, imprensa (local), publicação (local) etc).

Para a classificação de cinema, quero ter uma coluna intitulada 'o número de ecrãs no cinema'. No entanto, não preciso desta coluna para as outras classificações.

Como criar uma coluna que aparece apenas para cinemas? Não quero que a coluna seja preenchida com N / As para classificações que não são de cinema.

    
por wilga 26.02.2018 / 13:24

1 resposta

3

O que você está perguntando é chamado de normalização do banco de dados . Esse é um processo de design que os designers de banco de dados usam para eliminar dados redundantes ou inconsistentes de um banco de dados. No seu caso, ter um campo Número de telas para registros que não possuem telas não faria sentido, daí a necessidade de normalização.

Para resolver seu problema, você precisa adicionar uma segunda tabela ao seu banco de dados e colocar o campo lá. Em seguida, você vincula a tabela principal e a segunda tabela a um campo de ID exclusivo. Finalmente, você só cria um registro na segunda tabela se um registro na tabela principal precisar de detalhes adicionais.

Veja uma visão geral desse processo:

  1. Adicione um campo à sua tabela principal do tipo Autonumeração. Nomeie-o como CinemaID. Deixe o Access usar isso como a chave primária da tabela.
  2. Crie outra tabela. Talvez o nome Cinema_Detail .
  3. Na nova tabela, adicione um campo do tipo Long. Nomeie-o como CinemaID (use o mesmo nome que o campo da chave primária na primeira tabela). Não deixe Access fazer isso uma chave primária. Diga ao access que o campo é Required e os valores neste campo precisam ser únicos (caso contrário, seria possível ter múltiplos registros nesta tabela que correspondem a um único registro na tabela principal, o que é contrário ao seu pedido).
  4. Adicione outro campo para o número de telas.
  5. No Database Relationship Manager, crie uma relação de 1 para muitos entre os campos de CinemaID nas suas duas tabelas.

Agora, para especificar quantas telas tem um cinema, adicione um registro à tabela Cinema_Detail e forneça o CinemaID para o registro correspondente na tabela principal junto com o valor para o número de telas.

Mais informações

Caso você esteja se perguntando

É não possível fazer o que você está perguntando diretamente na tabela principal. Nos campos Access, existem em uma tabela ou não. Não há meio termo. O Access é um mecanismo de banco de dados e, como tal, adere às regras do design de banco de dados adequado.

    
por 26.02.2018 / 13:51