Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    52

    Access-traspozione dati da colonne in righe

    Salve
    ho il seguente problema. Mi viene passata una tabella in Access nel seguente formato

    Tabella_Domande
    Codice Domanda1 Domanda2 Domanda3
    12345 1 5 9
    12356 2 2 10
    12378 3 4 11

    La mia necessità e quella di accodare questi dati in un tabella del tipo:

    Tabella_Tracciato
    Codice Domanda Risposta
    12345 Domanda1 1
    12345 Domanda2 5
    12345 Domanda3 9
    12356 Domanda1 2
    12345 Domanda2 2
    12345 Domanda3 10
    12378 Domanda1 3
    12378 Domanda2 4
    12378 Domanda3 11


    Nella tabella tracciato ho i campi Codice,Domanda,Risposta, nel campo Domanda il valore dovrà avere come valore l'intestazione della Tabella_Domande, mentre il valore del Capo risposte dovrà essere il valore della Colonna... è più difficile a spiegarsi a parlole
    Per ogni codice utente vorrei portare in orizzontale ciò che mi viene passato per colonne.

    Avete qualche suggerimento?

    Grazie
    Lelle

  2. #2
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333
    Ma sono sempre solo 3 domande ????
    Se si puoi fare una query di unione
    codice:
    SELECT Codice, "Domanda1" AS xxx, Domanda1 AS zzz FROM Tabella_Domande
    UNION ALL
    SELECT Codice, "Domanda2" AS xxx, Domanda2 AS zzz FROM Tabella_Domande
    UNION ALL
    SELECT Codice, "Domanda3" AS xxx, Domanda3 AS zzz FROM Tabella_Domande

    Se invece il numero di domande è variabile e magari ti cambia anche il nome dei campi
    bisogna pensare ad altre soluzioni



    Facci sapere

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    52
    Grazie, purtroppo non sono sempre 3 domande... potrebbero essere 10 o 20.


    Quote Originariamente inviata da nman Visualizza il messaggio
    Ma sono sempre solo 3 domande ????
    Se si puoi fare una query di unione
    codice:
    SELECT Codice, "Domanda1" AS xxx, Domanda1 AS zzz FROM Tabella_Domande
    UNION ALL
    SELECT Codice, "Domanda2" AS xxx, Domanda2 AS zzz FROM Tabella_Domande
    UNION ALL
    SELECT Codice, "Domanda3" AS xxx, Domanda3 AS zzz FROM Tabella_Domande

    Se invece il numero di domande è variabile e magari ti cambia anche il nome dei campi
    bisogna pensare ad altre soluzioni



    Facci sapere

  4. #4
    guarda la funzione Pivot, che è peculiare di Access

  5. #5
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333
    Ho la sensazione che la sua tabella ( o query ) di origine sia già una Pivot
    ma lui deve fare la operazione contraria

    Temo che servirà del codice per creare dinamicamente la query con i nomi e numero di campi adeguati

    ma sentiamo cosa dice lelle ......


    intanto questo puo essere utile
    http://stackoverflow.com/questions/7...in-access-2010
    Ultima modifica di nman; 18-12-2013 a 21:06

  6. #6
    mi incuriosisce questa affermazione

    "Grazie, purtroppo non sono sempre 3 domande... potrebbero essere 10 o 20"

    se fosse una tabella le colonne sarebbero di un numero definito...

  7. #7
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333
    Quote Originariamente inviata da optime Visualizza il messaggio
    mi incuriosisce questa affermazione......
    Bravo Optime quel dettaglio mi era sfuggito.

    A questo punto "Siamo sicuri" che quello che per lelle è la "tabella di origine"
    in effetti è il gia il prodotto di una query Pivot ( magari poi trasformato in tabella )


    Devi farti spostare nella sezione Windows e Software

    .
    Ultima modifica di nman; 19-12-2013 a 08:00

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.