MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

3 participantes

    Ordenar tabela ao fechar formulário.

    avatar
    Ricardo84
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 73
    Registrado : 18/01/2014

    Ordenar tabela ao fechar formulário. Empty Ordenar tabela ao fechar formulário.

    Mensagem  Ricardo84 27/11/2018, 18:50

    Boa tarde,

    Sei que estará algures neste forum, mas não estou a conseguir encontrar aquilo que procuro, nem sequer no Youtube.
    O que quero julgo ser fácil de conseguir fazer, mas não tenho visto resultados...

    Ora então, ao sair de um determinado formulário (desvinculado) queria ordenar o campo [NumTeste] na tabela TabPerguntas no sentido ASC ou DESC, sendo pouco importante.
    Tenho tentado com "SELECT * FROM TabPerguntas ORDER BY NumTeste ASC/DESC".
    Já ordenei a consulta ConsPerguntas copiei o SQL para o VBA (com as devidas alterações), mas nem isso funcionou, mas preferia ordenar a tabela e manter a ordenação da consulta que alimenta o FormPerguntas.

    Se poderem indicar um tópico pelo menos, agradeço.
    thiagomcosta
    thiagomcosta
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 368
    Registrado : 23/01/2017

    Ordenar tabela ao fechar formulário. Empty Re: Ordenar tabela ao fechar formulário.

    Mensagem  thiagomcosta 27/11/2018, 19:16

    Não entendi bem sua necessidade, quer classificar a tabela ou os dados visualizados em alguma consulta, formulário ou relatório?
    São coisas distintas.
    avatar
    Ricardo84
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 73
    Registrado : 18/01/2014

    Ordenar tabela ao fechar formulário. Empty Re: Ordenar tabela ao fechar formulário.

    Mensagem  Ricardo84 27/11/2018, 19:30

    O que quero é ordenar a tabela. Nem preciso de ver essa ordenação.

    O que estou a fazer é uma BD de perguntas para preparação para testes.

    Neste momento tenho 400 registos que têm uma chave primária e um campo NumTeste que vai possibilitar ter 4 testes de 100 perguntas. Para que tivesse sempre testes diferentes, ainda que com as mesmas perguntas, criei uma evento que numera o campo NumTeste da seguinte forma 1,2,3,4 ou 4,2,3,1 ou 1,3,4,2, etc, num total de 24 combinações possíveis.

    Como tenho a possibilidade de gerar um teste apenas com 20 perguntas (ou 15, ou 45), interessa-me que esse campo passe a 0 quando fecho o formulário FormGeradorTestes. No entanto, quando tiver mais de 400 perguntas só poderei utilizar as primeiras 100 com o nº 1, nº 2, etc, mesmo que tenha 153 com o nº 1, por exemplo. Então quilo que pensei foi ordenar o campo NumTeste na tabela, antes de este passar a ser 0 em todos os registos.

    Este campo estaria com a seguinte ordenação dps de gerar os testes com uma chave:
    4
    3
    1
    2
    4
    3
    1
    2
    ...

    Ao fechar o formulário passaria a ser:
    1
    1
    2
    2
    3
    3
    4
    4
    ...

    e depois atualizaria para 0. É uma espécie de baralhar cartas, lol

    Mas estou aberto a sugestões
    thiagomcosta
    thiagomcosta
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 368
    Registrado : 23/01/2017

    Ordenar tabela ao fechar formulário. Empty Re: Ordenar tabela ao fechar formulário.

    Mensagem  thiagomcosta 29/11/2018, 12:44

    Desculpe, mas não consegui entender a sua necessidade.

    Não faz muito sentido a preocupação em re-ordenar a tabela. Tabelas podem ser organizadas através de índices (veja lá nas propriedades da tabela).
    Pelo pouco que eu entendi, o seu maior problema no momento é de planejamento e construção do banco. Reveja as necessidades dos campos, se precisa de mais algum e se a parte de zerar as informações é mesmo necessária.

    Veja, também, se utilizando uma consulta já não atende ao que você precisa.
    avatar
    Ricardo84
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 73
    Registrado : 18/01/2014

    Ordenar tabela ao fechar formulário. Empty Re: Ordenar tabela ao fechar formulário.

    Mensagem  Ricardo84 30/11/2018, 00:30

    Eventualmente a maneira como estou a pensar não é a melhor, mas é aquela que acho eficaz... No entanto, não expert na matéria, quanto muito um curioso que já conseguiu fazer alguns BD funcionais.

    A questão de ordenar a tabela, sem mexer na ordenação da consulta, é para poder baralhar as perguntas.

    Vou tentar mostrar de outra forma.

    A tabela está ordenada pela chave primária (1, 2, 3, ...), quando eu numero as perguntas para as distribuir por um teste (de 1 a 4) pode ficar assim:

    Chave primária NumTeste
    1 3
    2 1
    3 4
    4 2
    5 3
    6 1
    7 4
    8 2

    Numera ate não haver mais registos ou até atingir o numero de perguntas que eu defina num controlo do FormPerguntas.
    Se numerar todas as perguntas, por exemplo 523, eu não vou conseguir aceder as ultimas 123, pois só estou a gerar 4 testes o máximo de 100 perguntas e o filtro ao carregar do teste 1 é abrir o FormPerguntas e filtrar por NumTeste = 1, com o máximo de registos a ser 100. E repete-se para os restantes.
    Cada vez que numero com uma nova chave o campo NumTeste a numeração começa por cima, logo quando abrir os testes só consigo aceder às primeiras 100 de cada teste.
    Com outra chave ficaria assim:

    Chave primária NumTeste
    1 1
    2 4
    3 2
    4 3
    5 1
    6 4
    7 2
    8 3

    Mas a chave primária mantém a ordenação, daí querer ordenar pelo NumTeste, pois ficaria assim, antes de gerar uma nova chave:
    Chave primária NumTeste
    3 4
    7 4
    11 4
    15 4
    19 4
    23 4
    27 4
    31 4

    Assim quando numerasse já não seguia a ordem do 1 2 3 4 5...

    Espero ter explicado melhor
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2909
    Registrado : 22/11/2016

    Ordenar tabela ao fechar formulário. Empty Re: Ordenar tabela ao fechar formulário.

    Mensagem  DamascenoJr. 30/11/2018, 02:01

    Por falar em baralhar perguntas e buscando apenas contribuir ao tópico, segue um ótimo artigo neste link.
    avatar
    Ricardo84
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 73
    Registrado : 18/01/2014

    Ordenar tabela ao fechar formulário. Empty Re: Ordenar tabela ao fechar formulário.

    Mensagem  Ricardo84 1/12/2018, 20:39

    Boa noite.

    Ainda não consegui ver bem o resultado final, mas parece que é exatamente isto.
    Consegue-se colocar o código num evento, ou preciso de fazer aquela consulta?
    Obrigado IvanJr, vou tentar aplicar e dps dou retorno
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2909
    Registrado : 22/11/2016

    Ordenar tabela ao fechar formulário. Empty Re: Ordenar tabela ao fechar formulário.

    Mensagem  DamascenoJr. 18/12/2018, 12:23

    Artur, algum avanço?


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.

      Data/hora atual: 1/8/2021, 11:51