{Access} Transformer table
Lidjeu
-
blux Messages postés 27848 Date d'inscription Statut Modérateur Dernière intervention -
blux Messages postés 27848 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
j'ai une table du type
station date ph T° O2 NO2 NO3 etc...
stat1 d1 mes mes mes mes mes
stat2 d1 mes mes mes mes mes
stat1 d2 mes mes mes mes mes
etc...
et je souhaite la transformer en un table du type
station date paramètre mesure
stat1 d1 ph mes
stat1 d1 T° mes
stat1 d1 O2 mes
etc...
stat2 d1 ph mes
etc ...
Après qques recherches, je ne vois pas trop comment faire !!
Merci d'avance pour votre aide !
j'ai une table du type
station date ph T° O2 NO2 NO3 etc...
stat1 d1 mes mes mes mes mes
stat2 d1 mes mes mes mes mes
stat1 d2 mes mes mes mes mes
etc...
et je souhaite la transformer en un table du type
station date paramètre mesure
stat1 d1 ph mes
stat1 d1 T° mes
stat1 d1 O2 mes
etc...
stat2 d1 ph mes
etc ...
Après qques recherches, je ne vois pas trop comment faire !!
Merci d'avance pour votre aide !
A voir également:
- {Access} Transformer table
- Table ascii - Guide
- Table des matières word - Guide
- Transformer une image en icone - Guide
- Transformer majuscule en minuscule word - Guide
- Access runtime ✓ - Forum Access
12 réponses
Il n'y a rien à rajouter/enlever, toutes les informations doivent rester ...
Dans ma table d'origine, les différents paramètres constituent chacun une colonne.
Je voudrait qu'ils apparaissent chacun sur une ligne (donc s'il y a par exemple 10 paramètres, j'aurai 10x plus de lignes que dans mon fichier de départ, et 9 colonnes en moins).
Je ne sais pas si je suis claire ...
Dans ma table d'origine, les différents paramètres constituent chacun une colonne.
Je voudrait qu'ils apparaissent chacun sur une ligne (donc s'il y a par exemple 10 paramètres, j'aurai 10x plus de lignes que dans mon fichier de départ, et 9 colonnes en moins).
Je ne sais pas si je suis claire ...
Salut,
il faut passer en VBA avec parcours d'un recordset et ajout des infos dans une nouvelle table.
il faut passer en VBA avec parcours d'un recordset et ajout des infos dans une nouvelle table.
Merci, mais je n'ai jamais travaillé en VBA ...
Un petit exemple de code que je pourrait facilement adapter me serait d'un grand secours ....
Encore merci !
Un petit exemple de code que je pourrait facilement adapter me serait d'un grand secours ....
Encore merci !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Je suis scientifique ... je programme en ... Fortran (LOL !).
Tout ça pour dire que j'ai besoin d'une piste (je vais pas étudier l'entièreté du VBA pour ce petit travail), et que à partir de là en général je peux me débrouiller pas essais/erreurs ... je connais la logique mais pas les mots-clés.
Tout ça pour dire que j'ai besoin d'une piste (je vais pas étudier l'entièreté du VBA pour ce petit travail), et que à partir de là en général je peux me débrouiller pas essais/erreurs ... je connais la logique mais pas les mots-clés.
Bon voilà :
https://www.cjoint.com/?cwoYVXO5se
Dans le dessin, on voit mes deux tables exemple, avec les noms que j'ai utilisés.
J'ai juste créé un formulaire avec un bouton nommé Bout_Transpo, et sur le clic du bouton j'ai mis le code qui est en bas de l'image.
Je te copie aussi le code, ça t'évitera de le retaper.
J'ai testé chez moi, ça marche :-)
https://www.cjoint.com/?cwoYVXO5se
Dans le dessin, on voit mes deux tables exemple, avec les noms que j'ai utilisés.
J'ai juste créé un formulaire avec un bouton nommé Bout_Transpo, et sur le clic du bouton j'ai mis le code qui est en bas de l'image.
Je te copie aussi le code, ça t'évitera de le retaper.
Private Sub Bout_Transpo_Click()
Dim Rs1 As DAO.Recordset
Dim Rs2 As DAO.Recordset
Dim I As Integer
Set Rs1 = CurrentDb.OpenRecordset("T_Mesures_source")
Set Rs2 = CurrentDb.OpenRecordset("T_Mesures_cible", dbOpenTable, dbAppendOnly)
Rs1.MoveFirst
While Not Rs1.EOF
For I = 2 To Rs1.Fields.Count - 1
With Rs2
.AddNew
Rs2(0) = Rs1(0)
Rs2(1) = Rs1(1)
Rs2(2) = Rs1(I).Name
Rs2(3) = Rs1(I).Value
.Update
End With
Next
Rs1.MoveNext
Wend
Set Rs1 = Nothing
Set Rs2 = Nothing
End Sub
J'ai testé chez moi, ça marche :-)
Ok, super, j'ai reproduit le même schéma et ça marche !
Me reste plus qu'à faire 2-3 adaptations et ça le fera ...
Merci pour ton aide Blux :-D
Me reste plus qu'à faire 2-3 adaptations et ça le fera ...
Merci pour ton aide Blux :-D
C'est bô, c'est propre, ça fait ce que je voulais ...
Si je peux me permettre d'abuser (sinon je chercherai la solution par moi-même) : j'essaie de mettre, à la place du nom du paramètre, un code unique correspondant au paramètre qui est définit dans une autre table (une table très simple à 2 colonnes : code_param et nom_param).
Enfin pardon si j'abuse, mais merci qd même ...
Si je peux me permettre d'abuser (sinon je chercherai la solution par moi-même) : j'essaie de mettre, à la place du nom du paramètre, un code unique correspondant au paramètre qui est définit dans une autre table (une table très simple à 2 colonnes : code_param et nom_param).
Enfin pardon si j'abuse, mais merci qd même ...