Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Transformation de la structure de ma bdd . Urgent

12 réponses
Avatar
Leol
Salut à tous,
J'ai uen base de donnée qui a cette structure :
ID : Field 1 Field 2
1 Colonne1 aaaaaaaaaaaaaa
2 Colonne2 bbbbbbbbbbbbbbb
3 Colonne1 cccccccccccccccccccccc
4 Colonne2 dddddddddddddd

J'aimerais transformer cette base de donnée en :
ID : Colonne1 : Colonne2:
1 aaaaaaaaaaaaaaa bbbbbbbbbbb
2 ccccccccccccccc dddddddddddd



quelqun saurait il comment faire ?

Merci

10 réponses

1 2
Avatar
Yann
Salut Leol,
Ca ressemble légèrement à un tableau croisé dynamique,
mais ça ne fait ressemble et ça n'en est pas un...

Autrement dit, je ne sais pas, et je ne pens pas que ce
soit possible... simplement...

Bye
Yann

-----Message d'origine-----
Salut à tous,
J'ai uen base de donnée qui a cette structure :
ID : Field 1 Field 2
1 Colonne1 aaaaaaaaaaaaaa
2 Colonne2 bbbbbbbbbbbbbbb
3 Colonne1 cccccccccccccccccccccc
4 Colonne2 dddddddddddddd

J'aimerais transformer cette base de donnée en :
ID : Colonne1 : Colonne2:
1 aaaaaaaaaaaaaaa bbbbbbbbbbb
2 ccccccccccccccc dddddddddddd



quelqun saurait il comment faire ?

Merci




.



Avatar
Leol
C'est sur ?
Qu'est ce que je peux faire alors ?

Léo
"Yann" a écrit dans le message de news:
092501c49b2a$832a0f80$
Salut Leol,
Ca ressemble légèrement à un tableau croisé dynamique,
mais ça ne fait ressemble et ça n'en est pas un...

Autrement dit, je ne sais pas, et je ne pens pas que ce
soit possible... simplement...

Bye
Yann

-----Message d'origine-----
Salut à tous,
J'ai uen base de donnée qui a cette structure :
ID : Field 1 Field 2
1 Colonne1 aaaaaaaaaaaaaa
2 Colonne2 bbbbbbbbbbbbbbb
3 Colonne1 cccccccccccccccccccccc
4 Colonne2 dddddddddddddd

J'aimerais transformer cette base de donnée en :
ID : Colonne1 : Colonne2:
1 aaaaaaaaaaaaaaa bbbbbbbbbbb
2 ccccccccccccccc dddddddddddd



quelqun saurait il comment faire ?

Merci




.



Avatar
Raymond [mvp]
Bonjour.

C'est faisable très facilement en vba si les données sont très exactement ce
que tu donnes en exemple.
mais ce genre de travail sort du domaine du bénévolat des newsgroup et doit
être confié à un developpeur qui , lui, doit facturer ses prestations. as-tu
un budget pour ça ? si oui , affiche ta boite aux lettres ici en la
protégeant par des mots supplémentaires et si quelqu'un est interessé il te
fera signe.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Leol" <Léo> a écrit dans le message de
news:414845c3$0$15562$
Salut à tous,
J'ai uen base de donnée qui a cette structure :
ID : Field 1 Field 2
1 Colonne1 aaaaaaaaaaaaaa
2 Colonne2 bbbbbbbbbbbbbbb
3 Colonne1 cccccccccccccccccccccc
4 Colonne2 dddddddddddddd

J'aimerais transformer cette base de donnée en :
ID : Colonne1 : Colonne2:
1 aaaaaaaaaaaaaaa bbbbbbbbbbb
2 ccccccccccccccc dddddddddddd



quelqun saurait il comment faire ?

Merci






Avatar
Gafish
Bonjour,

Est ce que tu connais exhaustivement tous tes champs à créer ?
Si oui tu te crées une table avec tous ces champs.
Ensuite il faut que tu connaisses le VBA. Tu parcours ta table d'origine, et
pour chaque ligne tu vas insérer dans le champ de ta nouvelle table indiqué
par Field1 sur la table d'origine le contenu du champ Field2.
Mais comme dit Yann ce n'est pas simple. Car il faut que tu saches aussi ce
qui fait rupture pour savoir si tu fais un insert ou un update sur la
nouvelle table.
Dans ton exemple, surla ligne 1 ce sera un insert, ensuite ce sera un
update, puis à nouveau un insert.

Arnaud

"Leol" <Léo> a écrit dans le message de
news:41484add$0$15561$
C'est sur ?
Qu'est ce que je peux faire alors ?

Léo
"Yann" a écrit dans le message de news:
092501c49b2a$832a0f80$
Salut Leol,
Ca ressemble légèrement à un tableau croisé dynamique,
mais ça ne fait ressemble et ça n'en est pas un...

Autrement dit, je ne sais pas, et je ne pens pas que ce
soit possible... simplement...

Bye
Yann

-----Message d'origine-----
Salut à tous,
J'ai uen base de donnée qui a cette structure :
ID : Field 1 Field 2
1 Colonne1 aaaaaaaaaaaaaa
2 Colonne2 bbbbbbbbbbbbbbb
3 Colonne1 cccccccccccccccccccccc
4 Colonne2 dddddddddddddd

J'aimerais transformer cette base de donnée en :
ID : Colonne1 : Colonne2:
1 aaaaaaaaaaaaaaa bbbbbbbbbbb
2 ccccccccccccccc dddddddddddd



quelqun saurait il comment faire ?

Merci




.







Avatar
Leol
Je connais pas très bien access.
Pour moi tout ceci est un peu du charabia.
Pourriez vous êtres plus précis ?


Merci
Léo
"Gafish" a écrit dans le message de news:

Bonjour,

Est ce que tu connais exhaustivement tous tes champs à créer ?
Si oui tu te crées une table avec tous ces champs.
Ensuite il faut que tu connaisses le VBA. Tu parcours ta table d'origine,
et

pour chaque ligne tu vas insérer dans le champ de ta nouvelle table
indiqué

par Field1 sur la table d'origine le contenu du champ Field2.
Mais comme dit Yann ce n'est pas simple. Car il faut que tu saches aussi
ce

qui fait rupture pour savoir si tu fais un insert ou un update sur la
nouvelle table.
Dans ton exemple, surla ligne 1 ce sera un insert, ensuite ce sera un
update, puis à nouveau un insert.

Arnaud

"Leol" <Léo> a écrit dans le message de
news:41484add$0$15561$
C'est sur ?
Qu'est ce que je peux faire alors ?

Léo
"Yann" a écrit dans le message de news:
092501c49b2a$832a0f80$
Salut Leol,
Ca ressemble légèrement à un tableau croisé dynamique,
mais ça ne fait ressemble et ça n'en est pas un...

Autrement dit, je ne sais pas, et je ne pens pas que ce
soit possible... simplement...

Bye
Yann

-----Message d'origine-----
Salut à tous,
J'ai uen base de donnée qui a cette structure :
ID : Field 1 Field 2
1 Colonne1 aaaaaaaaaaaaaa
2 Colonne2 bbbbbbbbbbbbbbb
3 Colonne1 cccccccccccccccccccccc
4 Colonne2 dddddddddddddd

J'aimerais transformer cette base de donnée en :
ID : Colonne1 : Colonne2:
1 aaaaaaaaaaaaaaa bbbbbbbbbbb
2 ccccccccccccccc dddddddddddd



quelqun saurait il comment faire ?

Merci




.











Avatar
Gafish
Je vais essayer d'etre un peu plus précis, mais la solution que je vois
necessite quand même un minimum de connaissance en access, ce ne sera sans
doute pas facile pour toi si tu connais peu access.
En supposant alors que tu connaisses tous les champs de ta table destination
tu crées celle-ci.
Ensuite tu passes au VBA. Tu te mets dans un module. Dans un recordset, tu
vas mettre le resultat d'une requête selection sur l'ensemble de ta table
d'origine ("SELECT * FROM [MaTableSource];")
Tu boucles sur le résultat de cette requête selection, et pour chaque ligne,
tu vas aller faire un ajout ou une mise à jour dans ta table destination (un
des problèmes justement c'est de savoir quand être en ajout, et quand être
un mise à jour, comme dit Raymond cela sera facile si les données sont comme
tu l'as présenté, mais cela peut vite se corser à l'inverse).
Pour chaque ligne donc, tu fais une requête d'insertion ou de mise à jour,
par exemple :
MaBase.Execute "INSERT INTO [MaTableDestination] ([" &
rstSource.Fields("Field1") & "]) VALUES ('" & rstSource.Fields("Field2") &
"');"
avec rstSource le recordset sur ta table source.

Mais tout cela doit te sembler toujours aussi confus si tu n'as pas de
grandes connaissances en Access.

"Leol" <Léo> a écrit dans le message de
news:41484da9$0$15559$
Je connais pas très bien access.
Pour moi tout ceci est un peu du charabia.
Pourriez vous êtres plus précis ?


Merci
Léo
"Gafish" a écrit dans le message de news:

Bonjour,

Est ce que tu connais exhaustivement tous tes champs à créer ?
Si oui tu te crées une table avec tous ces champs.
Ensuite il faut que tu connaisses le VBA. Tu parcours ta table
d'origine,


et
pour chaque ligne tu vas insérer dans le champ de ta nouvelle table
indiqué

par Field1 sur la table d'origine le contenu du champ Field2.
Mais comme dit Yann ce n'est pas simple. Car il faut que tu saches aussi
ce

qui fait rupture pour savoir si tu fais un insert ou un update sur la
nouvelle table.
Dans ton exemple, surla ligne 1 ce sera un insert, ensuite ce sera un
update, puis à nouveau un insert.

Arnaud

"Leol" <Léo> a écrit dans le message de
news:41484add$0$15561$
C'est sur ?
Qu'est ce que je peux faire alors ?

Léo
"Yann" a écrit dans le message de news:
092501c49b2a$832a0f80$
Salut Leol,
Ca ressemble légèrement à un tableau croisé dynamique,
mais ça ne fait ressemble et ça n'en est pas un...

Autrement dit, je ne sais pas, et je ne pens pas que ce
soit possible... simplement...

Bye
Yann

-----Message d'origine-----
Salut à tous,
J'ai uen base de donnée qui a cette structure :
ID : Field 1 Field 2
1 Colonne1 aaaaaaaaaaaaaa
2 Colonne2 bbbbbbbbbbbbbbb
3 Colonne1 cccccccccccccccccccccc
4 Colonne2 dddddddddddddd

J'aimerais transformer cette base de donnée en :
ID : Colonne1 : Colonne2:
1 aaaaaaaaaaaaaaa bbbbbbbbbbb
2 ccccccccccccccc dddddddddddd



quelqun saurait il comment faire ?

Merci




.















Avatar
Leol
Effectivement je pourrais avoir un budget devellopement mais l'important
c'est tout d'abord que cela soit fait vite ...
---
"Raymond [mvp]" a écrit dans le message de
news: #
Bonjour.

C'est faisable très facilement en vba si les données sont très exactement
ce

que tu donnes en exemple.
mais ce genre de travail sort du domaine du bénévolat des newsgroup et
doit

être confié à un developpeur qui , lui, doit facturer ses prestations.
as-tu

un budget pour ça ? si oui , affiche ta boite aux lettres ici en la
protégeant par des mots supplémentaires et si quelqu'un est interessé il
te

fera signe.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Leol" <Léo> a écrit dans le message de
news:414845c3$0$15562$
Salut à tous,
J'ai uen base de donnée qui a cette structure :
ID : Field 1 Field 2
1 Colonne1 aaaaaaaaaaaaaa
2 Colonne2 bbbbbbbbbbbbbbb
3 Colonne1 cccccccccccccccccccccc
4 Colonne2 dddddddddddddd

J'aimerais transformer cette base de donnée en :
ID : Colonne1 : Colonne2:
1 aaaaaaaaaaaaaaa bbbbbbbbbbb
2 ccccccccccccccc dddddddddddd



quelqun saurait il comment faire ?

Merci










Avatar
YannX
Attendez un peu ; sous Access, et sans VBA, il existe un opérateur SQL
trop souvent oublié (et fort puissant) qui s'appelle UNION !
Il permet de juxtaposer (en lignes successives)
les resultats de requetes distinctes....

En gros l'idee est de Faire

SELECT coID11 , colID2 FROM table 1 AS col1, col 2
UNION
SELECT coID3 , colID4 FROM table 1 AS col1, col 2

Désolé la syntaxe n'est pas exactement celle-là je fais de tete,
mais il suffit de générer les deux SQL donnant respectivement
dans deux colonnes,
les deux premières colonnes,
les deux secondes,
et de faire le lien entre elles

AA BA CA DA
AB BB CB DB

donne en extrait
AA BA
AB BB

UNION

CA DA
CB DB

Maintenet si tu veux ré-apparier les xA ensemble,
tu rajoute un champ compteur commun dans tes deux requetes SQL initiales
et tu referas le tri ensuite !

Aièje bien compris ton objectif ?




"Yann" a écrit dans le message de
news:09bb01c49b2f$ff573510$
Re-,
Si en plus tu ne connais pas access... Aïe Aïe Ouille...

Bye
Yann

-----Message d'origine-----
Je connais pas très bien access.
Pour moi tout ceci est un peu du charabia.
Pourriez vous êtres plus précis ?


Merci
Léo
"Gafish" a écrit dans le
message de news:


Bonjour,

Est ce que tu connais exhaustivement tous tes champs à
créer ?


Si oui tu te crées une table avec tous ces champs.
Ensuite il faut que tu connaisses le VBA. Tu parcours
ta table d'origine,


et
pour chaque ligne tu vas insérer dans le champ de ta
nouvelle table


indiqué
par Field1 sur la table d'origine le contenu du champ
Field2.


Mais comme dit Yann ce n'est pas simple. Car il faut
que tu saches aussi


ce
qui fait rupture pour savoir si tu fais un insert ou
un update sur la


nouvelle table.
Dans ton exemple, surla ligne 1 ce sera un insert,
ensuite ce sera un


update, puis à nouveau un insert.

Arnaud

"Leol" <Léo> a écrit dans le message de
news:41484add$0$15561$
C'est sur ?
Qu'est ce que je peux faire alors ?

Léo
"Yann" a écrit dans le
message de news:



092501c49b2a$832a0f80$
Salut Leol,
Ca ressemble légèrement à un tableau croisé
dynamique,



mais ça ne fait ressemble et ça n'en est pas un...

Autrement dit, je ne sais pas, et je ne pens pas que
ce



soit possible... simplement...

Bye
Yann

-----Message d'origine-----
Salut à tous,
J'ai uen base de donnée qui a cette structure :
ID : Field 1 Field 2
1 Colonne1 aaaaaaaaaaaaaa
2 Colonne2 bbbbbbbbbbbbbbb
3 Colonne1 cccccccccccccccccccccc
4 Colonne2 dddddddddddddd

J'aimerais transformer cette base de donnée en :
ID : Colonne1 :
Colonne2:




1 aaaaaaaaaaaaaaa
bbbbbbbbbbb




2 ccccccccccccccc
dddddddddddd







quelqun saurait il comment faire ?

Merci




.










.






Avatar
YannX
Bon, j'ai perdu le beau POST que je t'avais préparé :
en deux mots, utilise l'opérateur UNION dans une Requete SQL :

CREATE Table
SELECT ALL id1 AS col1 , id2 AS col2 FROM table
UNION
SELECT ALL id3 AS col1 , id4 AS col2 FROM table

facile (;-) , et je veux ien que tu m'envoyes un beau chèque Meric ;-)


"Leol" <Léo> a écrit dans le message de
news:41485505$0$15552$
Effectivement je pourrais avoir un budget devellopement mais l'important
c'est tout d'abord que cela soit fait vite ...
---
"Raymond [mvp]" a écrit dans le message de
news: #
Bonjour.

C'est faisable très facilement en vba si les données sont très
exactement


ce
que tu donnes en exemple.
mais ce genre de travail sort du domaine du bénévolat des newsgroup et
doit

être confié à un developpeur qui , lui, doit facturer ses prestations.
as-tu

un budget pour ça ? si oui , affiche ta boite aux lettres ici en la
protégeant par des mots supplémentaires et si quelqu'un est interessé il
te

fera signe.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Leol" <Léo> a écrit dans le message de
news:414845c3$0$15562$
Salut à tous,
J'ai uen base de donnée qui a cette structure :
ID : Field 1 Field 2
1 Colonne1 aaaaaaaaaaaaaa
2 Colonne2 bbbbbbbbbbbbbbb
3 Colonne1 cccccccccccccccccccccc
4 Colonne2 dddddddddddddd

J'aimerais transformer cette base de donnée en :
ID : Colonne1 : Colonne2:
1 aaaaaaaaaaaaaaa bbbbbbbbbbb
2 ccccccccccccccc dddddddddddd



quelqun saurait il comment faire ?

Merci














Avatar
Leol
Parfaitement mais je n'ai pas compris comment adapter ton système à ma
structure.
Pourrais tu être plus précis sur ce champ compteur ?


Léo
"YannX" a écrit dans le message de news:
#
Attendez un peu ; sous Access, et sans VBA, il existe un opérateur SQL
trop souvent oublié (et fort puissant) qui s'appelle UNION !
Il permet de juxtaposer (en lignes successives)
les resultats de requetes distinctes....

En gros l'idee est de Faire

SELECT coID11 , colID2 FROM table 1 AS col1, col 2
UNION
SELECT coID3 , colID4 FROM table 1 AS col1, col 2

Désolé la syntaxe n'est pas exactement celle-là je fais de tete,
mais il suffit de générer les deux SQL donnant respectivement
dans deux colonnes,
les deux premières colonnes,
les deux secondes,
et de faire le lien entre elles

AA BA CA DA
AB BB CB DB

donne en extrait
AA BA
AB BB

UNION

CA DA
CB DB

Maintenet si tu veux ré-apparier les xA ensemble,
tu rajoute un champ compteur commun dans tes deux requetes SQL initiales
et tu referas le tri ensuite !

Aièje bien compris ton objectif ?




"Yann" a écrit dans le message de
news:09bb01c49b2f$ff573510$
Re-,
Si en plus tu ne connais pas access... Aïe Aïe Ouille...

Bye
Yann

-----Message d'origine-----
Je connais pas très bien access.
Pour moi tout ceci est un peu du charabia.
Pourriez vous êtres plus précis ?


Merci
Léo
"Gafish" a écrit dans le
message de news:


Bonjour,

Est ce que tu connais exhaustivement tous tes champs à
créer ?


Si oui tu te crées une table avec tous ces champs.
Ensuite il faut que tu connaisses le VBA. Tu parcours
ta table d'origine,


et
pour chaque ligne tu vas insérer dans le champ de ta
nouvelle table


indiqué
par Field1 sur la table d'origine le contenu du champ
Field2.


Mais comme dit Yann ce n'est pas simple. Car il faut
que tu saches aussi


ce
qui fait rupture pour savoir si tu fais un insert ou
un update sur la


nouvelle table.
Dans ton exemple, surla ligne 1 ce sera un insert,
ensuite ce sera un


update, puis à nouveau un insert.

Arnaud

"Leol" <Léo> a écrit dans le message de
news:41484add$0$15561$
C'est sur ?
Qu'est ce que je peux faire alors ?

Léo
"Yann" a écrit dans le
message de news:



092501c49b2a$832a0f80$
Salut Leol,
Ca ressemble légèrement à un tableau croisé
dynamique,



mais ça ne fait ressemble et ça n'en est pas un...

Autrement dit, je ne sais pas, et je ne pens pas que
ce



soit possible... simplement...

Bye
Yann

-----Message d'origine-----
Salut à tous,
J'ai uen base de donnée qui a cette structure :
ID : Field 1 Field 2
1 Colonne1 aaaaaaaaaaaaaa
2 Colonne2 bbbbbbbbbbbbbbb
3 Colonne1 cccccccccccccccccccccc
4 Colonne2 dddddddddddddd

J'aimerais transformer cette base de donnée en :
ID : Colonne1 :
Colonne2:




1 aaaaaaaaaaaaaaa
bbbbbbbbbbb




2 ccccccccccccccc
dddddddddddd







quelqun saurait il comment faire ?

Merci




.










.










1 2