MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    Ordenar tabela ao fechar formulário.

    Compartilhe

    Ricardo84
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    Ordenar tabela ao fechar formulário.

    Mensagem  Ricardo84 em 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.
    avatar
    thiagomcosta
    Avançado
    Avançado

    Respeito às Regras 100%

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

    Re: Ordenar tabela ao fechar formulário.

    Mensagem  thiagomcosta em 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.

    Ricardo84
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    Re: Ordenar tabela ao fechar formulário.

    Mensagem  Ricardo84 em 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
    avatar
    thiagomcosta
    Avançado
    Avançado

    Respeito às Regras 100%

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

    Re: Ordenar tabela ao fechar formulário.

    Mensagem  thiagomcosta em 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.

    Ricardo84
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    Re: Ordenar tabela ao fechar formulário.

    Mensagem  Ricardo84 em 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
    avatar
    IvanJr.
    Developer
    Developer

    Respeito às Regras 100%

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

    Re: Ordenar tabela ao fechar formulário.

    Mensagem  IvanJr. em 30/11/2018, 02:01

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

    Ricardo84
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    Re: Ordenar tabela ao fechar formulário.

    Mensagem  Ricardo84 em 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

      Data/hora atual: 16/12/2018, 11:40