AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / computer / Perguntas / 1438254
Accepted
Lou
Lou
Asked: 2019-05-18 15:57:52 +0800 CST2019-05-18 15:57:52 +0800 CST 2019-05-18 15:57:52 +0800 CST

Existe uma maneira mais simples de inserir um campo de vários valores no Access?

  • 772

Eu tenho um banco de dados para os itens que são mantidos em nosso escritório. Desejo anexar tags a esses itens para que o banco de dados possa ser facilmente pesquisado - por exemplo, se eu quiser saber quantos grampeadores e furadores temos, posso filtrar pela Stationerytag.

Para fazer isso, tenho um campo de pesquisa de vários valores chamado Tagsem minha Itemtabela, com uma lista de todas as tags pelas quais um item pode ser categorizado (pode ser mais de uma).

Atualmente, para inserir dados, em um formulário ou folha de dados, preciso clicar no menu suspenso e clicar em cada tag que desejo adicionar. Quero que a entrada de dados seja o mais suave e fácil possível, e tudo possível usando o teclado - mas quando tento digitar uma tag, não consigo. Eu só posso clicar. Para centenas de itens, isso é muito complicado.

Existe uma solução, atalho ou maneira de inserir valores em um campo de vários valores apenas usando o teclado ou com menos etapas?

keyboard-shortcuts microsoft-access
  • 1 1 respostas
  • 1230 Views

1 respostas

  • Voted
  1. Best Answer
    Lee Mac
    2019-05-28T03:50:03+08:002019-05-28T03:50:03+08:00

    Eu sugiro fortemente evitar o uso de campos de vários valores no MS Access : eles vão contra as regras de normalização do banco de dados e, além disso, você não pode acessar ou filtrar facilmente os dados que eles contêm, como faria com qualquer outro campo de valor único como parte de uma consulta.

    Em vez disso, considere que você tem um relacionamento muitos-para-muitos : an Itempode ter muitos Tagse a Tagpode ser atribuído a muitos Items.

    Portanto, se você deseja seguir as melhores práticas e aderir às regras de normalização do banco de dados , sugiro usar duas tabelas separadas para abrigar o Itemse Tags, e uma tabela de junção da seguinte maneira:

    tabela de itens

    Essa tabela conteria uma chave primária (PK) que identifica exclusivamente cada item na tabela e propriedades cujos valores normalmente não seriam compartilhados por outros itens na tabela, como um arquivo Description.

    Em sua forma mais básica, essa tabela pode ter a seguinte aparência:

    +-------------+------------+
    | itm_ID (PK) | Autonumber |
    | itm_Desc    | Text       |
    +-------------+------------+
    
    +-------------+----------+
    | itm_ID (PK) | itm_Desc |
    +-------------+----------+
    |           1 | Pen      |
    |           2 | Pencil   |
    |           3 | Chair    |
    |         ... | ...      |
    +-------------+----------+
    

    As propriedades que podem ser compartilhadas por outros itens na tabela (por exemplo, Colour, Location, Type) devem aparecer em suas próprias tabelas separadas e ser referenciadas pelo registro do item usando uma chave estrangeira (FK).

    Tabela de tags

    Esta tabela conteria todas as Tags disponíveis, cada uma das quais novamente identificada exclusivamente por um campo de chave primária dentro da tabela:

    +-------------+------------+
    | tag_ID (PK) | Autonumber |
    | tag_Desc    | Text       |
    +-------------+------------+
    
    +-------------+------------+
    | tag_ID (PK) |  tag_Desc  |
    +-------------+------------+
    |           1 | Stationery |
    |           2 | Furniture  |
    |         ... | ...        |
    +-------------+------------+
    

    Tabela de Junção de Itens-Tags

    Essa tabela de junção é usada para representar o relacionamento muitos-para-muitos entre Itemse Tags, e pode ser estruturada da seguinte maneira:

    +----------------+--------------+
    | itg_itmID (PK) | Long Integer |
    | itg_tagID (PK) | Long Integer |
    +----------------+--------------+
    
    +----------------+----------------+
    | itg_itmID (PK) | itg_tagID (PK) |
    +----------------+----------------+
    |              1 |              1 |
    |              2 |              1 |
    |              3 |              2 |
    +----------------+----------------+
    

    Como você pode ver acima, atribuímos facilmente a Stationerytag a Pene Pencilem nossa Itemstabela (demonstrando uma relação um-para-muitos entre tags e itens) e, da mesma forma, podemos atribuir várias tags a qualquer item (demonstrando um relacionamento -para-muitos entre itens e tags).

    • 2

relate perguntas

  • Ao importar uma planilha para o Access, como você impede que o Excel atribua automaticamente um tipo de campo de dados?

  • Como posso selecionar uma linha no terminal macOS com atalhos de teclado?

  • Os atalhos de teclado Super+n do Gnome 3.32.0 não funcionam

  • Vá para as funções de seta do ES6 no editor de texto Sublime

  • Como alterar permanentemente Ctrl + C para Ctrl + K no CentOS 7?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    Serviço do Windows 10 chamado AarSvc_70f961. O que é e como posso desativá-lo?

    • 2 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Marko Smith

    ssl.SSLCertVerificationError: falha na verificação do certificado [SSL: CERTIFICATE_VERIFY_FAILED]: não foi possível obter o certificado do emissor local (_ssl.c:1056)

    • 4 respostas
  • Marko Smith

    Como posso saber em qual unidade o Windows está instalado?

    • 6 respostas
  • Martin Hope
    Albin Como faço para ativar o WindowsXP agora que o suporte acabou? 2019-11-18 03:50:17 +0800 CST
  • Martin Hope
    fixer1234 O "HTTPS Everywhere" ainda é relevante? 2019-10-27 18:06:25 +0800 CST
  • Martin Hope
    Kagaratsch O Windows 10 exclui muitos arquivos minúsculos muito lentamente. Algo pode ser feito para agilizar? 2019-09-23 06:05:43 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    Inter Sys Como Ctrl+C e Ctrl+V funcionam? 2019-05-15 02:51:21 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve