Record non ordinati nonostante ORDER BY

di il
4 risposte

Record non ordinati nonostante ORDER BY

Ciao a tutti

Non so per quale motivo, ma da stamattina access ha deciso di ignorare l'ordinamento dei record che gli avevo dato.

Quello che faccio è selezionare dei dati da una tabella principale in una tabella temporanea, ordinati secondo un criterio.

DBEngine(0)(0).Execute ("DELETE * FROM tblImpiego"), dbFailOnError

DBEngine(0)(0).Execute ("INSERT INTO tblImpiego ([IDIncarico],[IDTecnico],[NomeComp]) SELECT [IDIncarico],[IDTecnico],RicavaTecnico([IDTecnico]) AS NomeComp FROM tblPersonale WHERE [Sezione]=" & IDSezione & " AND [InServizio]=-1 ORDER BY [IDIncarico]"), dbFailOnError

Da stamattina ha deciso che quando eseguo la selezione del personale, mi compila la tabella non ordinandola in base a [IDIncarico] ma [IDTecnico]

Ho provato a forzare la tabella (dopo averla popolata) a ordinarli per [IDIncarico] e sebbene in tabella mi appaiano nell'ordine corretto, se apro la maschera di visualizzazione continuano ad essermi elencati in base a [IDTecnico]

Suggerimenti?

4 Risposte

  • Re: Record non ordinati nonostante ORDER BY

    Sono copie...

    alla fine ordini la tabella di destinazione.

  • Re: Record non ordinati nonostante ORDER BY

    Perdonami, ma puoi chiarirmi la cosa?

    e poi, se io indico l'ordine per [IDIncarico], che io stia ordinando la tabella di origine (come suppongo di fare nella query - o no?) o quella di destinazione non dovrei ottenere lo stesso risultato (e cioè nell'ordine che voglio)?

  • Re: Record non ordinati nonostante ORDER BY

    INSERT INTO tblImpiego ([IDIncarico],[IDTecnico],[NomeComp]) 

    SELECT [IDIncarico],[IDTecnico],RicavaTecnico([IDTecnico]) AS NomeComp 

    FROM tblPersonale 

    WHERE [Sezione]=" & IDSezione & " AND [InServizio]=-1 

    ORDER BY [IDIncarico]

    tblPersonale:

                         [IDIncarico],[IDTecnico],RicavaTecnico([IDTecnico]) AS NomeComp

     record 1    1                        4                   a          

     record 2    2                         1                  b

     record 3    3                         3                  a

     record 4    4                        2                   b

    tblImpiego:

                   [IDIncarico],[IDTecnico],[NomeComp]

     record 1    1                        4                   a          

     record 2    2                         1                  b

     record 3    3                         3                  a

     record 4    4                        2                   b

    questo è quello che copia

    apri la tabella tblImpiego e magari l'indice è IDTecnico visualizzi

                         [IDIncarico],[IDTecnico],[NomeComp]

     record 2    2                         1                  b

     record 4    4                        2                   b

     record 3    3                         3                  a

     record 1    1                        4                   a   

    ordinati per idtecnico a prescindere da come ordini la disposizione dei campi

    dopo aver copiato i dati apri la tabella tblImpiego  con order by IDIncarico

    ottieni

                   [IDIncarico],[IDTecnico],[NomeComp]

     record 1    1                        4                   a          

     record 2    2                         1                  b

     record 3    3                         3                  a

     record 4    4                        2                   b

    chiaro?

    stai copiando anche l'id

    se l'id e auto incrementante allora copi i record per come sono ordinati al momento dell'input.

  • Re: Record non ordinati nonostante ORDER BY

    Uhmmmm ok, credo (credo) di aver capito.

    Alla fine ho provato a cambiare l'origine dati della maschera di visualizzazione da tabella a query con cui seleziono solo nome e IDIncarico, e a quanto pare adesso è tornato a visualizzare quello che mi serve.

    Grazie, soprattutto per la spiegazione

Devi accedere o registrarti per scrivere nel forum
4 risposte