Newsgroup: it.comp.appl.access
Titolo: Trasporre righe in colonne

Salve a tutti,
ho una tabella strutturata piu' o meno cosi':
Data      Mattina     Pomeriggio    Notte
1/1/02       X             Y          Z
2/1/02       a             b          c
Come faccio a trasformarla in:
Campo1     Campo2     Campo3
1/1/02       X        Mattina
1/1/02       Y        Pomeriggio
1/1/02       Z        Notte
2/1/02       a        Mattina
2/1/02       b        Pomeriggio
2/1/02       c        Notte
e' facile capire che so molto poco di programmazione in VBA e simili e
speravo di riuscirci senza impelagarmi troppo tra le righe di codice,
ma senza risultato.
Grazie a tutti in anticipo
Vincenzo

 ha scritto nel messaggio
news:10ffa7ed.02090...@posting.google.com...

Facile facile.
Public Sub AccodaCampi()
Dim RCS As Recordset
Dim RCSCampi As Recordset, i As Long, ii As Integer
Set RCS = CurrentDb.OpenRecordset("TMatPomNot") 'la prima tabella
Set RCSCampi = CurrentDb.OpenRecordset("TCampi") 'la secomda tabella
RCS.MoveLast
RCS.MoveFirst
For i = 1 To RCS.RecordCount
    For ii = 1 To RCS.Fields.Count - 1
    '(- 1 perchč inizia a contare da 0) ("1 To" perchč il primo campo (0)
non ti interessa
    RCSCampi.AddNew
    RCSCampi!Campo1 = RCS!Data
    RCSCampi!Campo2 = RCS.Fields(ii)
    RCSCampi!Campo3 = RCS.Fields(ii).Name
    RCSCampi.Update
    Next ii
    RCS.MoveNext
Next i
RCS.Close
RCSCampi.Close
End Sub
Ciao, Carlo

 ha scritto nel messaggio
news:10ffa7ed.02090...@posting.google.com...

insert into.......
     as select data, mattina , "mattina" from tabella
union
    data, pomeriggio, "pomeriggio"  .....
union
    data, notte, "notte"  .....
oppure tre query di aggiornaamento separate
pensi sia fattibile?
--
a.cara
potrebbe essere possibile


Grazie molte, credo di aver capito anche il meccanismo....  tuttavia ancora
non funziona, mi da "tipo non corrispondente"  riferito a [Set RCS =
CurrentDb.OpenRecordset("TMatPomNot")] (ho immesso il nome effettivo della
tabella). Hai qualche suggerimento?
grazie
Vincenzo


Prova ad usare la sintassi completa: Dim RCS As Dao.Recordset
Ovviamente non dimenticare il riferimento a questa libreria DAO 3,6
Ciao, CArlo

 ha scritto nel
messaggio news:mNEe9.69532$ub2.1...@news1.tin.it...

Niente da fare. Puo' dipendere dal fatto che io voglia associare la routine
a un pulsante di comando? O forse dovrei specificare qualcos'altro oltre al
solo nome della tabella?
Grazie
Vincenzo

 ha scritto nel messaggio
news:ald05a$euh$1...@fe2.cs.interbusiness.it...

Scusa se ti rispondo in ritardo, ma come avrai potuto vedere sto provando la
soluzione propostami da Carlo e tengo di scorta la tua
Gazie molto comunque
Vincenzo

 potrebbe essere possibile
    Yess. Io la scriverei cosi':
        Tabella "x_Vincenzo":
            Data
            Mattina
            Pomeriggio
            Notte
        Query "x_Vincenzo Query":
        SELECT
            x_Vincenzo.Data    AS Campo1
          , x_Vincenzo.Mattina AS Campo2
          , "Mattina"          AS Campo3
        FROM
            x_Vincenzo
        UNION SELECT
            x_Vincenzo.Data
          , x_Vincenzo.Pomeriggio
          , "Pomeriggio"
        FROM
            x_Vincenzo
        UNION SELECT
            x_Vincenzo.Data
          , x_Vincenzo.Notte
          , "Notte"
        FROM
            x_Vincenzo
        ;
        Query "x_Vincenzo2 Query":
        SELECT
            [x_Vincenzo Query].Campo1
          , [x_Vincenzo Query].Campo2
          , [x_Vincenzo Query].Campo3
        INTO
            x_Vincenzo2
        FROM
            [x_Vincenzo Query]
        ;
        Tabella "x_Vincenzo2":
            Campo1
            Campo2
            Campo3
--
Ciao :-)
Maurizio
--------
?SPQR(C)
 X
--------

 ha scritto nel messaggio
news:alhu11$1q4qc8$1...@ID-52090.news.dfncis.de...

Funziona tutto meravigliosamente
Grazie
Vincenzo

 Vincenzo
Vincenzino... la prossima volta, taglia un po' di quoting, visto che dovevi
solo ringraziare...
Antonio