Crie uma consulta / formulário que possa atualizar uma tabela

1

Eu quero saber se é possível criar um formulário que tenha acesso de leitura / gravação para um conjunto de registros muito específico (filtrado) de uma tabela.

Para conseguir isso, eu: 1. Crie uma consulta que filtre os registros de uma tabela. 2. Crie um formulário com esta consulta como sua origem de registro.

No entanto, as consultas não são atualizáveis e não posso atualizar o conteúdo da tabela original a partir do formulário. Alguém sabe como contornar isso?

Veja um artigo relacionado: link

Obrigado.

    
por Andrés Segovia 06.07.2015 / 22:19

2 respostas

1

Quando eu estava strongmente no desenvolvimento do Access, acertei esse problema algumas vezes. A maioria das consultas simples é atualizável, mas outras não. Você pode dizer ao tentar editar os valores no conjunto de resultados. Eu tentaria sua consulta antes de assumir que você não pode fazer isso.

Existe uma técnica que usei para contornar este problema muito bem se tudo mais falhar, mas é um pouco difícil configurar e manter - O que você faz é transformar a consulta de seleção em uma consulta de acréscimo, e salve os IDs de registro apenas em uma tabela temporária. Você pode fazer isso como parte de um evento aberto de formulário (da memória - pode ser necessário usar o me.requery) ou, melhor ainda, como parte do código do menu / botão que o levou para o formulário. Em seguida, você usa uma consulta MUCH mais simples como o forms recordsource, apenas a tabela temporária associada à tabela original por meio do ID.

Isso deve funcionar, mas agora você também tem algumas outras tarefas, como esvaziar a tabela temporária sempre antes / depois de usá-la e ela não é realmente amigável para vários usuários. Se você precisar de vários usuários, você precisará adicionar algum tipo de USERID à tabela também. Espero que isso faça sentido!

    
por 09.07.2015 / 11:34
1

Uma alternativa seria usar a tabela como sua fonte e, em seguida, definir o valor do filtro para torná-lo o subconjunto que você está procurando.

Como o @Saulysw mencionou, a consulta de seleção deve permitir a atualização. Você pode postar o SQL da consulta que você está usando como fonte?

    
por 02.08.2015 / 05:19