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 / dba / 问题

Perguntas[ms-access](dba)

Martin Hope
cosmarchy
Asked: 2024-08-24 20:39:49 +0800 CST

Filtrando consulta onde os dados aparecem em mais de uma coluna

  • 6

Estou procurando ajuda com uma consulta do Access para filtrar dados em uma tabela de outra tabela onde eles aparecem em duas colunas. Eu tenho as seguintes tabelas:

Check_tbl

EU IA C
1 123
2 456
3 789
4 FDFHSFHGF
5 SDFGDGFDS
6 abc

fonte_tbl

EU IA UM B F
1 123 abc 156.pdf
2 456 440.pdf
3 DEF 149.pdf
4 789 IGF 160.pdf
5 111 178.pdf
6 JKL 506.pdf
7 156.pdf

Preciso que a consulta retorne todas as entradas em check_tbl.C que aparecem em source_tbl.A e source_tbl.B, bem como source_tbl.F, mas preciso remover duplicatas onde check_tbl.C aparece em source_tbl.A E source_tbl.B (ou seja, apenas retornar um dos dois resultados)

O resultado retornado deve ficar assim:

resultados

C F
abc 156.pdf
456 440.pdf
789 160.pdf

como o valor 123 e ABC de check_tbl.C aparecem em source_tbl.A e source_tbl.B respectivamente, apenas um deve ser retornado.

Até agora eu tenho isso:

SELECT Check_tbl.C, source_tbl.F
FROM Check_tbl
INNER JOIN source_tbl ON Check_tbl.C = source_tbl.A
UNION SELECT Check_tbl.C, source_tbl.F
FROM Check_tbl
INNER JOIN source_tbl ON Check_tbl.C = source_tbl.B;

mas não filtra duplicatas e retorna apenas um valor onde os dados aparecem em source_tbl.A e source_tbl.B.

Se alguém puder ajudar com isso eu ficaria grato.

ms-access
  • 1 respostas
  • 21 Views
Martin Hope
spinjector
Asked: 2023-08-29 21:06:07 +0800 CST

Não é mais possível reordenar grupos personalizados no painel de navegação do Microsoft Access

  • 5

Depois de não usar muito o Microsoft Access por cerca de três anos, descobri que não consigo arrastar e soltar para reordenar grupos no Painel de Navegação enquanto estiver na visualização 'Personalizada'.

o que estou perdendo? Eles removeram isso? Quebrá-lo? Atualização ruim? Uma configuração que esqueci?

Isto é para o Access 365 instalado localmente na minha unidade C:.

A última versão do Access que usei foi 2007. Usei-o extensivamente até 2020 e vivi e respirei isso todos os dias. Em meu banco de dados principal "Workbench", eu tinha mais de 2.000 objetos e mais de 100 grupos para mantê-los organizados. Se a MS removesse o recurso de reordenação, acho que minha cabeça poderia explodir.

ms-access
  • 1 respostas
  • 22 Views
Martin Hope
Jimbo
Asked: 2023-07-30 20:49:53 +0800 CST

Criando um relacionamento um para muitos no Microsoft Access

  • 5

No Microsoft Access criei duas tabelas. Para a primeira tabela, o Access criou um campo de ID de chave primária que não permite duplicatas. Para a segunda tabela, o Access criou um campo de ID de chave primária que permite duplicatas. Estou tentando criar um relacionamento um para muitos com a primeira tabela de um lado e a segunda tabela de muitos lados. Mas na tela Editar relacionamento, mesmo depois de clicar na caixa Aplicar integridade referencial, unindo os dois campos de ID de chave primária, o Access selecionou um relacionamento um para um e não está me dando a opção de alterá-lo para um relacionamento um para muitos . O que estou fazendo de errado?

ms-access
  • 1 respostas
  • 8 Views
Martin Hope
Valter Ekholm
Asked: 2023-02-16 01:38:29 +0800 CST

Como imprimir a árvore de categorias no MS Access

  • 5

Tenho uma tabela de competências. Eu fiz isso como uma relação pai-filho, então há, por exemplo, carteira de motorista como uma linha e carteira de motorista de carro como outra linha, tendo 'carteira de motorista' como pai.

Isso pode ser impresso no MS-Access, em um relatório ou algo assim? Impresso como uma árvore ou como uma lista como:

  1. carteira de motorista
  2. Carteira de motorista sob carteira de motorista

A tabela tem 5 colunas e uma consulta de seleção tem esta aparência:

SELECT Kompetenser.[ID], Kompetenser.[data_criada], Kompetenser.[nome], Kompetenser.[Metakompetens], Kompetenser.[descrições] FROM Kompetenser;

onde Kompetenser.[Metakompetens] é um 'Número' (sueco 'Tal') referente à mesma tabela.

Achei um post que é a mesma dúvida, e tem uma resposta, mas da qual não consigo rodar o sql:

https://stackoverflow.com/a/45797072/5730322

(Ele fornece uma lista com linhas começando com o pai, mas tudo bem)

Tentei fazer uma consulta:

SELECT
L0.namn AS Cat0,
L1.namn AS Cat1,
L2.namn AS Cat2,
L3.namn AS Cat3,
L4.namn AS Cat4,
L5.namn AS Cat5,
L6.namn AS Cat6,
L7.namn AS Cat7
FROM
Kompetenser AS L0
LEFT JOIN Kompetenser AS L1
ON L0.ID=L1.[Metakompetens]
LEFT JOIN AS L2
ON L1.ID = L2.Metakompetens
LEFT JOIN Kompetenser AS L3
ON L2.ID = L3.Metakompetens
LEFT JOIN Kompetenser AS L4
ON L3.ID = L4.Metakompetens
LEFT JOIN Kompetenser AS L5
ON L4.ID = L5.Metakompetens
LEFT JOIN Kompetenser AS L6
ON L5.ID = L6.Metakompetens
LEFT JOIN Kompetenser AS L7
ON L6.ID = L7.Metakompetens
WHERE isnull(L0.Metakompetens)

Diz (traduzido fr. sueco):

Erro de sintaxe (falta de operador) i consulto 'L0.ID=L1.[Metakompetens] ... ao final da consulta

Então a questão é como consertar meu sql.

ms-access
  • 1 respostas
  • 18 Views
Martin Hope
DaringAardvark
Asked: 2022-10-07 05:47:37 +0800 CST

O formulário de pesquisa de acesso não está incluindo valores nulos

  • 0

Desculpe se esta é uma pergunta muito fácil, eu não uso o acesso com frequência, mas me pediram para fazer um formulário de pesquisa para uma tabela que nossa empresa usa para rastrear peças de remake. Eu tenho um formulário criado com uma série de campos não vinculados onde os usuários podem inserir seus critérios para pesquisar a tabela.

A tabela às vezes tem valores nulos ou em branco porque nem todos os campos são relevantes para cada entrada. Cada entrada é inserida manualmente por um funcionário quando descobre que uma peça precisa ser refeita, então não tenho certeza se os campos que eles não preenchem são deixados em branco ou são nulos.

O formulário de pesquisa está funcionando parcialmente, mas não está extraindo nenhum registro que tenha valores nulos ou em branco em nenhum dos meus critérios de pesquisa (mesmo que esse campo específico tenha sido deixado em branco no formulário) e não consigo descobrir como obtê-los para preencher os resultados quando a consulta de formulário é executada. Eu pensei que adicionar o critério Or de é nulo obteria esses resultados, mas não parece estar funcionando como eu pensei que seria.

Existem 14 critérios de pesquisa possíveis e a consulta deve incluir cerca de 30 colunas de informações para cada registro retornado.

Alguma ideia do que estou fazendo de errado aqui? Veja imagens para exemplos.

Exemplos de duas colunas nas tabelas em que nem todos os registros têm um número de pedido ou item de linha associado.  Estes são os registros que não tenho certeza se estão apenas em branco ou são valores nulos.

Visualização de design do formulário

Exemplo dos critérios de consulta que estou usando para o formulário

ms-access query
  • 1 respostas
  • 13 Views
Martin Hope
Cerkoryn
Asked: 2022-08-26 12:57:14 +0800 CST

Selecione os funcionários que NÃO concluíram todos os treinamentos

  • 0

Não sou um DBA frequente, mas estou trabalhando em algo para acompanhar o treinamento completo de alguns funcionários e estou um pouco travado. Estou usando o MICROSOFT ACCESS e tenho 3 tabelas:

           Employees
Last_Name (PK) | First_Name (PK)
     ----------+-----------
         Smith | Bob
         Bee   | Susy
...

          Training 
Training_Code (PK) | Description
     --------------+-----------
           001.001 | Orientation
           001.002 | Fundamentals of Stuff
...

        Completed Training (many-to-many)
Last_Name (FK)| First_Name (FK) | Training Code (FK) | Completion Date
    ----------+-----------------+--------------------+-----------
        Smith |       Bob       |       001.001      | 8/25/2022
        Smith |       Bob       |       001.002      | 8/25/2022
        Bee   |       Susy      |       001.001      | 8/25/2022 
        Bee   |       Susy      |       001.002      | 8/25/2022 
...

Meu objetivo é simplesmente escrever uma consulta que retorne todos os funcionários que NÃO concluíram todo o treinamento. Para fazer isso, meu plano era consultar a Employeestabela e depois fazer subconsultas para contar todas as entradas de um determinado funcionário na Completed_Trainingtabela. Finalmente, eu contaria o número total de linhas na Trainingtabela. Se um funcionário tiver concluído todo o treinamento disponível, os dois números serão correspondentes e a consulta NÃO DEVE retornar seu nome no resultado. Minha melhor tentativa é algo assim:

SELECT *
FROM Employees
WHERE (COUNT(SELECT * FROM Completed_Training WHERE Completed_Training.Last_Name = Employees.Last_Name)) < (COUNT(SELECT * FROM Training));

Eu recebo o erro, no Cannot have aggregate function in WHERE clause (COUNT()<). entanto, claramente não estou conceituando isso direito. Alguém pode me apontar na direção certa?

ms-access
  • 1 respostas
  • 30 Views
Martin Hope
Kate M
Asked: 2022-08-24 17:24:26 +0800 CST

Procurando por uma alternativa de mecanismo de banco de dados baseado em arquivo para o MS Access

  • 0

Minha empresa está acorrentada a este formato MS Access '97 .MDB que temos desde o início dos tempos. Nosso esquema é hierárquico, com vários relacionamentos um-para-muitos. Estamos em um ponto em que estamos procurando alternativas, pois a lentidão e a falta de jeito geral do Access estão começando a afetar nossa produtividade.

Nossos métodos "modernos" de acesso ao banco de dados envolvem DAO.Net e grandes quantidades de cache baseado em hash. O tipo .NET System.Collections.Generic.Dictionary foi uma dádiva de Deus aqui, porque sem ele, não sei como faríamos nosso trabalho em tempo hábil. Temos vários projetos, cada um com um arquivo de banco de dados associado a ele (às vezes vários), e tendemos a interagir com eles de duas maneiras: o banco de dados é criado manualmente (usando nosso editor interno) ou gerado usando um programa que pega os dados que recebemos de outra empresa, em algum outro formato, e os converte para o nosso formato.

Em ambos os casos, nossa biblioteca .NET comum carrega todo o banco de dados em tabelas de hash por meio do Dicionário e resolve os relacionamentos de objeto com o código procurando valores na tabela de hash por ID. Ao gerar automaticamente o banco de dados, usamos outro conjunto de tabelas de hash para determinar se um objeto já existe no cache antes de adicioná-lo. Quando terminarmos de analisar os dados de origem, iniciaremos uma operação de inserção em massa multithread. Fazemos tudo isso porque qualquer outro método de acesso ao banco de dados é muito lento.

Espero ter dado contexto suficiente à minha pergunta: Existe um mecanismo de banco de dados por aí cuja velocidade de consulta possa rivalizar com as tabelas de hash como o que estou usando? O uso de memória e disco não é uma preocupação, esses bancos de dados existem apenas em máquinas de desenvolvedor, nós os convertemos para um formato diferente para uso com nosso software. Eu só quero me livrar das minhas tabelas de hash, mas não quero sacrificar a velocidade para fazer isso.

ms-access c#
  • 1 respostas
  • 44 Views
Martin Hope
slimn
Asked: 2022-02-24 06:13:41 +0800 CST

MS Access e vários usuários

  • 0

Estou procurando ajuda sobre o Microsoft Access e design de banco de dados.

Tenho vindo a desenvolver uma aplicação de base de dados em Microsoft Access para uso na minha organização. Eu trabalho em um hospital e temos uma maneira muito antiquada (!) de acompanhar onde nossos pacientes estão no hospital e o que há de errado com eles. Criamos um documento diário do Word que é armazenado em uma unidade compartilhada em uma LAN. Como pode ser imaginado - isso se torna um pesadelo quando se trata de coisas como tentar manter algum tipo de trilha de auditoria!

Minha solução alternativa é um banco de dados relacional, dividido em um 'front-end' com consultas, formulários e relatórios e um 'back-end' composto por 15 tabelas. Ambos são arquivos Access DB que estão contidos em uma pasta na unidade de rede. A estrutura geral do banco de dados não é muito complexa - é essencialmente uma tabela contendo detalhes do paciente e outras tabelas contendo detalhes relativos a detalhes do encontro, exames de sangue, resultados de exames, etc. número hospitalar único. As listas de pacientes são essencialmente relatórios embutidos no front-end, com base em consultas que extraem pacientes que estão atualmente marcados como 'admitidos' no banco de dados.

Ele funciona razoavelmente bem quando um usuário está usando o banco de dados e é executado rapidamente quando executado em uma máquina local, mas o problema é - é frustrantemente lento - e às vezes nem é executado (fazendo com que o MS Access pare de responder e crash) -- quando mais de um usuário tenta acessar o front-end através da unidade de rede.

Eu estou querendo saber se há algo faltando em relação a como posso otimizar o banco de dados para executar em uma LAN? Ou se isso é uma limitação técnica do acesso ao MS e se devo desviar minha energia para uma solução diferente (por exemplo, SQLite com um frontend VB)? Infelizmente, usar qualquer coisa que não seja uma solução baseada em arquivo compartilhado não é uma opção, pois minha organização não a suporta (por exemplo, um servidor MySQL dedicado).

Grato por seus pensamentos!

database-design ms-access
  • 1 respostas
  • 42 Views
Martin Hope
Geo_explorer
Asked: 2021-07-20 03:18:35 +0800 CST

Retorna resultados com vários requisitos LIKE e NOT LIKE

  • 1

Estou tentando criar uma consulta que seleciona apenas um conjunto de valores, mas exclui outros.

A coluna que estou selecionando chama-se "Participantes" e os valores nela contidos não são um único item de texto, mas uma lista de itens separados por vírgulas (o comprimento e o número de itens variam), por exemplo: "Alpha, Delta, Eta" ou o valor: "Beta, Gamma ou o valor: "Delta, Beta, Epsilon, Theta, Vau".

Eu escrevi esta consulta para tentar obter resultados que incluirão apenas valores como Delta, Eta, Epsilon e Vau, mas não Alpha, Beta, Gamma (significa que não quero que o valor: "Alpha, Delta, Eta" seja incluído, mas quero valores como: "Delta, Zeta, Epsilon")

SELECT DISTINCT Name, Category, CODE, Participants
WHERE(Participants NOT LIKE '%Alpha%'
      OR Participants NOT LIKE '%Beta%'
      OR Participants NOT LIKE '%Gamma%')
     AND (Participants LIKE '%Delta%'
          OR Participants LIKE '%Eta%'
          OR Participants LIKE '%Epsilon%'
          OR Participants LIKE '%Vau%');

Os resultados incluem todos os valores especificados na parte LIKE da consulta, mas NOT LIKE parece não funcionar, pois continuo obtendo resultados como: "Alpha, Eta, Epsilon.

Eu poderia criar várias consultas no Access para filtrar com a consulta LIKE e depois com a consulta NOT LIKE, mas gostaria de encontrar uma maneira de fazer isso em uma única consulta.

Online eu só consegui encontrar exemplos em que há um único LIKE e um NOT LIKE na consulta

Alguém pode sugerir uma solução por favor?

ms-access query
  • 2 respostas
  • 33 Views
Martin Hope
Ad Astm
Asked: 2021-04-07 05:17:02 +0800 CST

Consolidar / classificar / combinar / mesclar dados para dummies

  • 0

Estou procurando uma solução sem script para combinar dados de 3 tabelas diferentes (de preferência usando um software de planilha como o Microsoft Excel, mas um banco de dados também funcionaria, por exemplo, o Microsoft Access). Eu tentei procurar uma resposta, mas não consegui encontrar nada útil.

Então, como eu pego essas 3 tabelas...

Tabela 1: 4 mais populares no último dia

|Label    |Frequency|Rank|
|---------|---------|----|
|Apples   |2        |4   |
|Pears    |5        |2   |
|Oranges  |10       |1   |
|Kiwis    |3        |3   |

Tabela 2: 4 mais populares nos últimos 7 dias

|Label    |Frequency|Rank|
|---------|---------|----|
|Apples   |20       |3   |
|Pears    |50       |2   |
|Plums    |100      |1   |
|Oranges  |10       |4   |

Tabela 3: 4 mais populares nos últimos 30 dias

|Label    |Frequency|Rank|
|---------|---------|----|
|Apples   |550      |4   |
|Pears    |650      |3   |
|Plums    |1000     |1   |
|Mangoes  |990      |2   |

...e mesclá-los automaticamente em...

Tabela 4: mesa combinada

|Label    |30 days  |    |7 days   |    |1 days   |    |
|---------|---------|----|---------|----|---------|----|
|         |Frequency|Rank|Frequency|Rank|Frequency|Rank|
|Apples   |550      |  4 | 20      |3   |2        |4   |
|Pears    |650      |  3 | 50      |2   |5        |2   |
|Plums    |1000     |   1| 100     |1   |1        |    |
|Kiwis    |         |    |         |    |3        |3   |
|Mangoe   |990      |2   |         |    |         |    |
|Oranges  |10       |    | 10      |4   |10       |1   |

Como você pode ver, a Tabela 4 compreende as colunas das Tabelas 1, 2 e 3. Nenhuma operação matemática é executada.

Onde há uma entrada que não tem dados, a célula fica em branco, por exemplo, acabei de pegar alguns kiwis na loja para vender ontem e eles venderam muito bem e conseguiram uma classificação mas porque eu só peguei os kiwis ontem lá não há dados para eles venderem nos últimos 7 dias e nos últimos 30 dias. Da mesma forma, não houve mangas na loja para vender nos últimos 1 ou 7 dias, mas na verdade elas venderam muito bem nos últimos 30 dias.

Por favor, não, tanto quanto eu posso dizer que a rotina de "Consolidação" no Microsoft Excel não faz o que estou procurando.

Obrigada!

database-design ms-access
  • 1 respostas
  • 39 Views

Sidebar

Stats

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

    conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host

    • 12 respostas
  • Marko Smith

    Como fazer a saída do sqlplus aparecer em uma linha?

    • 3 respostas
  • Marko Smith

    Selecione qual tem data máxima ou data mais recente

    • 3 respostas
  • Marko Smith

    Como faço para listar todos os esquemas no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Listar todas as colunas de uma tabela especificada

    • 5 respostas
  • Marko Smith

    Como usar o sqlplus para se conectar a um banco de dados Oracle localizado em outro host sem modificar meu próprio tnsnames.ora

    • 4 respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Martin Hope
    Jin conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane Como faço para listar todos os esquemas no PostgreSQL? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh Por que o log de transações continua crescendo ou fica sem espaço? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland Listar todas as colunas de uma tabela especificada 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney O MySQL pode realizar consultas razoavelmente em bilhões de linhas? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx Como posso monitorar o andamento de uma importação de um arquivo .sql grande? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

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